New upstream version 1.6.6

This commit is contained in:
TANIGUCHI Takaki 2017-08-24 11:33:12 +09:00
parent 52c64ac3d4
commit 6dd15efbc4
62 changed files with 14550 additions and 453 deletions

View file

@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: botocore
Version: 1.5.84
Version: 1.6.6
Summary: Low-level, data-driven core of boto 3.
Home-page: https://github.com/boto/botocore
Author: Amazon Web Services

View file

@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: botocore
Version: 1.5.84
Version: 1.6.6
Summary: Low-level, data-driven core of boto 3.
Home-page: https://github.com/boto/botocore
Author: Amazon Web Services

View file

@ -115,6 +115,8 @@ botocore/data/cloudfront/2017-03-25/service-2.json
botocore/data/cloudfront/2017-03-25/waiters-2.json
botocore/data/cloudhsm/2014-05-30/examples-1.json
botocore/data/cloudhsm/2014-05-30/service-2.json
botocore/data/cloudhsmv2/2017-04-28/paginators-1.json
botocore/data/cloudhsmv2/2017-04-28/service-2.json
botocore/data/cloudsearch/2011-02-01/service-2.json
botocore/data/cloudsearch/2013-01-01/paginators-1.json
botocore/data/cloudsearch/2013-01-01/service-2.json
@ -248,6 +250,7 @@ botocore/data/events/2015-10-07/examples-1.json
botocore/data/events/2015-10-07/paginators-1.json
botocore/data/events/2015-10-07/service-2.json
botocore/data/firehose/2015-08-04/examples-1.json
botocore/data/firehose/2015-08-04/paginators-1.json
botocore/data/firehose/2015-08-04/service-2.json
botocore/data/gamelift/2015-10-01/examples-1.json
botocore/data/gamelift/2015-10-01/paginators-1.json
@ -256,6 +259,8 @@ botocore/data/glacier/2012-06-01/examples-1.json
botocore/data/glacier/2012-06-01/paginators-1.json
botocore/data/glacier/2012-06-01/service-2.json
botocore/data/glacier/2012-06-01/waiters-2.json
botocore/data/glue/2017-03-31/paginators-1.json
botocore/data/glue/2017-03-31/service-2.json
botocore/data/greengrass/2017-06-07/service-2.json
botocore/data/health/2016-08-04/examples-1.json
botocore/data/health/2016-08-04/paginators-1.json
@ -309,6 +314,8 @@ botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json
botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json
botocore/data/meteringmarketplace/2016-01-14/examples-1.json
botocore/data/meteringmarketplace/2016-01-14/service-2.json
botocore/data/mgh/2017-05-31/paginators-1.json
botocore/data/mgh/2017-05-31/service-2.json
botocore/data/mturk/2017-01-17/paginators-1.json
botocore/data/mturk/2017-01-17/service-2.json
botocore/data/opsworks/2013-02-18/examples-1.json
@ -602,6 +609,8 @@ tests/functional/test_paginator_config.py
tests/functional/test_public_apis.py
tests/functional/test_rds.py
tests/functional/test_regions.py
tests/functional/test_retry.py
tests/functional/test_route53.py
tests/functional/test_s3.py
tests/functional/test_session.py
tests/functional/test_six_imports.py

View file

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

View file

@ -131,6 +131,7 @@ class ClientArgsCreator(object):
read_timeout=client_config.read_timeout,
max_pool_connections=client_config.max_pool_connections,
proxies=client_config.proxies,
retries=client_config.retries
)
s3_config = self.compute_s3_config(scoped_config,
client_config)

View file

@ -70,6 +70,7 @@ class ClientCreator(object):
service_model, region_name, is_secure, endpoint_url,
verify, credentials, scoped_config, client_config, endpoint_bridge)
service_client = cls(**client_args)
self._register_retries(service_client)
self._register_s3_events(
service_client, endpoint_bridge, endpoint_url, client_config,
scoped_config)
@ -95,11 +96,10 @@ class ClientCreator(object):
json_model = self._loader.load_service_model(service_name, 'service-2',
api_version=api_version)
service_model = ServiceModel(json_model, service_name=service_name)
self._register_retries(service_model)
return service_model
def _register_retries(self, service_model):
endpoint_prefix = service_model.endpoint_prefix
def _register_retries(self, client):
endpoint_prefix = client.meta.service_model.endpoint_prefix
# First, we load the entire retry config for all services,
# then pull out just the information we need.
@ -109,15 +109,17 @@ class ClientCreator(object):
retry_config = self._retry_config_translator.build_retry_config(
endpoint_prefix, original_config.get('retry', {}),
original_config.get('definitions', {}))
original_config.get('definitions', {}),
client.meta.config.retries
)
logger.debug("Registering retry handlers for service: %s",
service_model.service_name)
client.meta.service_model.service_name)
handler = self._retry_handler_factory.create_retry_handler(
retry_config, endpoint_prefix)
unique_id = 'retry-config-%s' % endpoint_prefix
self._event_emitter.register('needs-retry.%s' % endpoint_prefix,
handler, unique_id=unique_id)
client.meta.events.register('needs-retry.%s' % endpoint_prefix,
handler, unique_id=unique_id)
def _register_s3_events(self, client, endpoint_bridge, endpoint_url,
client_config, scoped_config):
@ -681,9 +683,11 @@ class BaseClient(object):
documented_paginator_cls = type(
paginator_class_name, (Paginator,), {'paginate': paginate})
operation_model = self._service_model.operation_model(actual_operation_name)
paginator = documented_paginator_cls(
getattr(self, operation_name),
paginator_config)
paginator_config,
operation_model)
return paginator
def can_paginate(self, operation_name):

View file

@ -15,6 +15,8 @@ from botocore.compat import OrderedDict
from botocore.endpoint import DEFAULT_TIMEOUT, MAX_POOL_CONNECTIONS
from botocore.exceptions import InvalidS3AddressingStyleError
from botocore.exceptions import InvalidRetryConfigurationError
from botocore.exceptions import InvalidMaxRetryAttemptsError
class Config(object):
@ -88,6 +90,18 @@ class Config(object):
* path -- Addressing style is always by path. Endpoints will be
addressed as such: s3.amazonaws.com/mybucket
:type retries: dict
:param retries: A dictionary for retry specific configurations.
Valid keys are:
* 'max_attempts' -- An integer representing the maximum number of
retry attempts that will be made on a single request. For
example, setting this value to 2 will result in the request
being retried at most two times after the initial request. Setting
this value to 0 will result in no retries ever being attempted on
the initial request. If not provided, the number of retries will
default to whatever is modeled, which is typically four retries.
"""
OPTION_DEFAULTS = OrderedDict([
('region_name', None),
@ -99,7 +113,8 @@ class Config(object):
('parameter_validation', True),
('max_pool_connections', MAX_POOL_CONNECTIONS),
('proxies', None),
('s3', None)
('s3', None),
('retries', None)
])
def __init__(self, *args, **kwargs):
@ -117,6 +132,8 @@ class Config(object):
# Validate the s3 options
self._validate_s3_configuration(self.s3)
self._validate_retry_configuration(self.retries)
def _record_user_provided_options(self, args, kwargs):
option_order = list(self.OPTION_DEFAULTS)
user_provided_options = {}
@ -157,6 +174,17 @@ class Config(object):
raise InvalidS3AddressingStyleError(
s3_addressing_style=addressing_style)
def _validate_retry_configuration(self, retries):
if retries is not None:
for key in retries:
if key not in ['max_attempts']:
raise InvalidRetryConfigurationError(
retry_config_option=key)
if key == 'max_attempts' and retries[key] < 0:
raise InvalidMaxRetryAttemptsError(
provided_max_attempts=retries[key]
)
def merge(self, other_config):
"""Merges the config object with another config object

View file

@ -24,10 +24,25 @@
{"shape":"LimitExceededException"},
{"shape":"ResourceNotFoundException"},
{"shape":"ConcurrentModificationException"},
{"shape":"IncompatibleImageException"}
{"shape":"IncompatibleImageException"},
{"shape":"OperationNotPermittedException"}
],
"documentation":"<p>Associate a fleet to a stack.</p>"
},
"CreateDirectoryConfig":{
"name":"CreateDirectoryConfig",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateDirectoryConfigRequest"},
"output":{"shape":"CreateDirectoryConfigResult"},
"errors":[
{"shape":"ResourceAlreadyExistsException"},
{"shape":"LimitExceededException"}
],
"documentation":"<p>Creates a directory configuration with the given parameters.</p>"
},
"CreateFleet":{
"name":"CreateFleet",
"http":{
@ -42,7 +57,9 @@
{"shape":"ResourceNotFoundException"},
{"shape":"LimitExceededException"},
{"shape":"InvalidRoleException"},
{"shape":"ConcurrentModificationException"}
{"shape":"ConcurrentModificationException"},
{"shape":"InvalidParameterCombinationException"},
{"shape":"IncompatibleImageException"}
],
"documentation":"<p>Creates a new fleet.</p>"
},
@ -80,6 +97,20 @@
],
"documentation":"<p>Creates a URL to start an AppStream 2.0 streaming session for a user. By default, the URL is valid only for 1 minute from the time that it is generated.</p>"
},
"DeleteDirectoryConfig":{
"name":"DeleteDirectoryConfig",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteDirectoryConfigRequest"},
"output":{"shape":"DeleteDirectoryConfigResult"},
"errors":[
{"shape":"ResourceInUseException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Deletes the directory configuration with the given parameters.</p>"
},
"DeleteFleet":{
"name":"DeleteFleet",
"http":{
@ -110,6 +141,19 @@
],
"documentation":"<p>Deletes the stack. After this operation completes, the environment can no longer be activated, and any reservations made for the stack are released.</p>"
},
"DescribeDirectoryConfigs":{
"name":"DescribeDirectoryConfigs",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeDirectoryConfigsRequest"},
"output":{"shape":"DescribeDirectoryConfigsResult"},
"errors":[
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Returns a list describing the specified directory configurations.</p>"
},
"DescribeFleets":{
"name":"DescribeFleets",
"http":{
@ -147,7 +191,7 @@
"errors":[
{"shape":"InvalidParameterCombinationException"}
],
"documentation":"<p>Describes the streaming sessions for a stack and a fleet. If a user ID is provided, this operation returns streaming sessions for only that user. Pass this value for the <code>nextToken</code> parameter in a subsequent call to this operation to retrieve the next set of items. If an authentication type is not provided, the operation defaults to users authenticated using a streaming URL.</p>"
"documentation":"<p>Describes the streaming sessions for a stack and a fleet. If a user ID is provided, this operation returns streaming sessions for only that user. To retrieve the next set of items, pass this value for the <code>nextToken</code> parameter in a subsequent call to this operation. If an authentication type is not provided, the operation defaults to users authenticated using a streaming URL.</p>"
},
"DescribeStacks":{
"name":"DescribeStacks",
@ -160,7 +204,7 @@
"errors":[
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>If stack names are not provided, this operation describes the specified stacks; otherwise, all stacks in the account are described. Pass the <code>nextToken</code> value in a subsequent call to this operation to retrieve the next set of items.</p>"
"documentation":"<p>If stack names are not provided, this operation describes the specified stacks; otherwise, all stacks in the account are described. To retrieve the next set of items, pass the <code>nextToken</code> value in a subsequent call to this operation.</p>"
},
"DisassociateFleet":{
"name":"DisassociateFleet",
@ -237,6 +281,21 @@
],
"documentation":"<p>Stops a fleet.</p>"
},
"UpdateDirectoryConfig":{
"name":"UpdateDirectoryConfig",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateDirectoryConfigRequest"},
"output":{"shape":"UpdateDirectoryConfigResult"},
"errors":[
{"shape":"ResourceInUseException"},
{"shape":"ResourceNotFoundException"},
{"shape":"ConcurrentModificationException"}
],
"documentation":"<p>Updates the directory configuration with the given parameters.</p>"
},
"UpdateFleet":{
"name":"UpdateFleet",
"http":{
@ -253,7 +312,8 @@
{"shape":"ResourceNotAvailableException"},
{"shape":"InvalidParameterCombinationException"},
{"shape":"ConcurrentModificationException"},
{"shape":"IncompatibleImageException"}
{"shape":"IncompatibleImageException"},
{"shape":"OperationNotPermittedException"}
],
"documentation":"<p>Updates an existing fleet. All the attributes except the fleet name can be updated in the <b>STOPPED</b> state. When a fleet is in the <b>RUNNING</b> state, only <code>DisplayName</code> and <code>ComputeCapacity</code> can be updated. A fleet cannot be updated in a status of <b>STARTING</b> or <b>STOPPING</b>.</p>"
},
@ -277,6 +337,17 @@
}
},
"shapes":{
"AccountName":{
"type":"string",
"min":1,
"sensitive":true
},
"AccountPassword":{
"type":"string",
"max":127,
"min":1,
"sensitive":true
},
"Application":{
"type":"structure",
"members":{
@ -302,7 +373,7 @@
},
"Enabled":{
"shape":"Boolean",
"documentation":"<p>An application can be disabled after image creation if there is a problem.</p>"
"documentation":"<p>If there is a problem, an application can be disabled after image creation.</p>"
},
"Metadata":{
"shape":"Metadata",
@ -393,6 +464,37 @@
"documentation":"<p>An API error occurred. Wait a few minutes and try again.</p>",
"exception":true
},
"CreateDirectoryConfigRequest":{
"type":"structure",
"required":[
"DirectoryName",
"OrganizationalUnitDistinguishedNames",
"ServiceAccountCredentials"
],
"members":{
"DirectoryName":{
"shape":"DirectoryName",
"documentation":"<p>The fully qualified name of the directory, such as corp.example.com</p>"
},
"OrganizationalUnitDistinguishedNames":{
"shape":"OrganizationalUnitDistinguishedNamesList",
"documentation":"<p>The list of the distinguished names of organizational units to place computer accounts in.</p>"
},
"ServiceAccountCredentials":{
"shape":"ServiceAccountCredentials",
"documentation":"<p>The <i>AccountName</i> and <i>AccountPassword</i> values for the service account, which are used by the streaming instance to connect to the directory.</p>"
}
}
},
"CreateDirectoryConfigResult":{
"type":"structure",
"members":{
"DirectoryConfig":{
"shape":"DirectoryConfig",
"documentation":"<p>Directory configuration details.</p>"
}
}
},
"CreateFleetRequest":{
"type":"structure",
"required":[
@ -412,7 +514,7 @@
},
"InstanceType":{
"shape":"String",
"documentation":"<p>The instance type of compute resources for the fleet. Fleet instances are launched from this instance type.</p>"
"documentation":"<p>The instance type of compute resources for the fleet. Fleet instances are launched from this instance type. Available instance types are:</p> <ul> <li> <p>stream.standard.medium</p> </li> <li> <p>stream.standard.large</p> </li> <li> <p>stream.compute.large</p> </li> <li> <p>stream.compute.xlarge</p> </li> <li> <p>stream.compute.2xlarge</p> </li> <li> <p>stream.compute.4xlarge</p> </li> <li> <p>stream.compute.8xlarge</p> </li> <li> <p>stream.memory.large</p> </li> <li> <p>stream.memory.xlarge</p> </li> <li> <p>stream.memory.2xlarge</p> </li> <li> <p>stream.memory.4xlarge</p> </li> <li> <p>stream.memory.8xlarge</p> </li> <li> <p>stream.graphics-pro.4xlarge</p> </li> <li> <p>stream.graphics-pro.8xlarge</p> </li> <li> <p>stream.graphics-pro.16xlarge</p> </li> <li> <p>stream.graphics-desktop.2xlarge</p> </li> </ul>"
},
"ComputeCapacity":{
"shape":"ComputeCapacity",
@ -440,7 +542,11 @@
},
"EnableDefaultInternetAccess":{
"shape":"BooleanObject",
"documentation":"<p>Enables or disables default Internet access for the fleet.</p>"
"documentation":"<p>Enables or disables default internet access for the fleet.</p>"
},
"DomainJoinInfo":{
"shape":"DomainJoinInfo",
"documentation":"<p>The <i>DirectoryName</i> and <i>OrganizationalUnitDistinguishedName</i> values, which are used to join domains for the AppStream 2.0 streaming instances.</p>"
}
},
"documentation":"<p>Contains the parameters for the new fleet to create.</p>"
@ -502,7 +608,7 @@
"documentation":"<p>The fleet for which the URL is generated.</p>"
},
"UserId":{
"shape":"UserId",
"shape":"StreamingUrlUserId",
"documentation":"<p>A unique user ID for whom the URL is generated.</p>"
},
"ApplicationId":{
@ -528,10 +634,25 @@
},
"Expires":{
"shape":"Timestamp",
"documentation":"<p>Elapsed seconds after the Unix epoch, at which time this URL expires.</p>"
"documentation":"<p>Elapsed seconds after the Unix epoch, when this URL expires.</p>"
}
}
},
"DeleteDirectoryConfigRequest":{
"type":"structure",
"required":["DirectoryName"],
"members":{
"DirectoryName":{
"shape":"DirectoryName",
"documentation":"<p>The name of the directory configuration to be deleted.</p>"
}
}
},
"DeleteDirectoryConfigResult":{
"type":"structure",
"members":{
}
},
"DeleteFleetRequest":{
"type":"structure",
"required":["Name"],
@ -562,6 +683,36 @@
"members":{
}
},
"DescribeDirectoryConfigsRequest":{
"type":"structure",
"members":{
"DirectoryNames":{
"shape":"DirectoryNameList",
"documentation":"<p>A specific list of directory names.</p>"
},
"MaxResults":{
"shape":"Integer",
"documentation":"<p>The size of each page of results.</p>"
},
"NextToken":{
"shape":"String",
"documentation":"<p>The DescribeDirectoryConfigsResult.NextToken from a previous call to DescribeDirectoryConfigs. If this is the first call, pass null.</p>"
}
}
},
"DescribeDirectoryConfigsResult":{
"type":"structure",
"members":{
"DirectoryConfigs":{
"shape":"DirectoryConfigList",
"documentation":"<p>The list of directory configurations.</p>"
},
"NextToken":{
"shape":"String",
"documentation":"<p>If not null, more results are available. To retrieve the next set of items, pass this value for the NextToken parameter in a subsequent call to DescribeDirectoryConfigs.</p>"
}
}
},
"DescribeFleetsRequest":{
"type":"structure",
"members":{
@ -682,6 +833,38 @@
"type":"string",
"max":256
},
"DirectoryConfig":{
"type":"structure",
"required":["DirectoryName"],
"members":{
"DirectoryName":{
"shape":"DirectoryName",
"documentation":"<p>The fully qualified name of the directory, such as corp.example.com</p>"
},
"OrganizationalUnitDistinguishedNames":{
"shape":"OrganizationalUnitDistinguishedNamesList",
"documentation":"<p>The list of the distinguished names of organizational units in which to place computer accounts.</p>"
},
"ServiceAccountCredentials":{
"shape":"ServiceAccountCredentials",
"documentation":"<p>The <i>AccountName</i> and <i>AccountPassword</i> of the service account, to be used by the streaming instance to connect to the directory.</p>"
},
"CreatedTime":{
"shape":"Timestamp",
"documentation":"<p>The time stamp when the directory configuration was created within AppStream 2.0.</p>"
}
},
"documentation":"<p>Full directory configuration details, which are used to join domains for the AppStream 2.0 streaming instances.</p>"
},
"DirectoryConfigList":{
"type":"list",
"member":{"shape":"DirectoryConfig"}
},
"DirectoryName":{"type":"string"},
"DirectoryNameList":{
"type":"list",
"member":{"shape":"DirectoryName"}
},
"DisassociateFleetRequest":{
"type":"structure",
"required":[
@ -708,6 +891,20 @@
"type":"string",
"max":100
},
"DomainJoinInfo":{
"type":"structure",
"members":{
"DirectoryName":{
"shape":"DirectoryName",
"documentation":"<p>The fully qualified name of the directory, such as corp.example.com</p>"
},
"OrganizationalUnitDistinguishedName":{
"shape":"OrganizationalUnitDistinguishedName",
"documentation":"<p>The distinguished name of the organizational unit to place the computer account in.</p>"
}
},
"documentation":"<p>The <i>DirectoryName</i> and <i>OrganizationalUnitDistinguishedName</i> values, which are used to join domains for the AppStream 2.0 streaming instances.</p>"
},
"ErrorMessage":{
"type":"string",
"documentation":"<p>The error message in the exception.</p>"
@ -792,7 +989,11 @@
},
"EnableDefaultInternetAccess":{
"shape":"BooleanObject",
"documentation":"<p>Whether default Internet access is enabled for the fleet. </p>"
"documentation":"<p>Whether default internet access is enabled for the fleet. </p>"
},
"DomainJoinInfo":{
"shape":"DomainJoinInfo",
"documentation":"<p>The <i>DirectoryName</i> and <i>OrganizationalUnitDistinguishedName</i> values, which are used to join domains for the AppStream 2.0 streaming instances.</p>"
}
},
"documentation":"<p>Contains the parameters for a fleet.</p>"
@ -802,7 +1003,8 @@
"documentation":"<p>Fleet attribute.</p>",
"enum":[
"VPC_CONFIGURATION",
"VPC_CONFIGURATION_SECURITY_GROUP_IDS"
"VPC_CONFIGURATION_SECURITY_GROUP_IDS",
"DOMAIN_JOIN_INFO"
]
},
"FleetAttributes":{
@ -837,7 +1039,21 @@
"IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION",
"SUBNET_NOT_FOUND",
"IMAGE_NOT_FOUND",
"INVALID_SUBNET_CONFIGURATION"
"INVALID_SUBNET_CONFIGURATION",
"SECURITY_GROUPS_NOT_FOUND",
"IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION",
"DOMAIN_JOIN_ERROR_FILE_NOT_FOUND",
"DOMAIN_JOIN_ERROR_ACCESS_DENIED",
"DOMAIN_JOIN_ERROR_LOGON_FAILURE",
"DOMAIN_JOIN_ERROR_INVALID_PARAMETER",
"DOMAIN_JOIN_ERROR_MORE_DATA",
"DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN",
"DOMAIN_JOIN_ERROR_NOT_SUPPORTED",
"DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME",
"DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED",
"DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED",
"DOMAIN_JOIN_NERR_PASSWORD_EXPIRED",
"DOMAIN_JOIN_INTERNAL_SERVICE_ERROR"
]
},
"FleetErrors":{
@ -880,7 +1096,7 @@
},
"State":{
"shape":"ImageState",
"documentation":"<p>The image starts in the <b>PENDING</b> state, and then moves to <b>AVAILABLE</b> if image creation succeeds and <b>FAILED</b> if image creation has failed.</p>"
"documentation":"<p>The image starts in the <b>PENDING</b> state. If image creation succeeds, it moves to <b>AVAILABLE</b>. If image creation fails, it moves to <b>FAILED</b>.</p>"
},
"Visibility":{
"shape":"VisibilityType",
@ -908,7 +1124,7 @@
},
"CreatedTime":{
"shape":"Timestamp",
"documentation":"<p>The timestamp when the image was created.</p>"
"documentation":"<p>The time stamp when the image was created.</p>"
},
"PublicBaseImageReleasedDate":{
"shape":"Timestamp",
@ -1058,6 +1274,14 @@
"documentation":"<p>The attempted operation is not permitted.</p>",
"exception":true
},
"OrganizationalUnitDistinguishedName":{
"type":"string",
"max":2000
},
"OrganizationalUnitDistinguishedNamesList":{
"type":"list",
"member":{"shape":"OrganizationalUnitDistinguishedName"}
},
"PlatformType":{
"type":"string",
"enum":["WINDOWS"]
@ -1105,6 +1329,24 @@
"documentation":"<p>A list of security groups.</p>",
"max":5
},
"ServiceAccountCredentials":{
"type":"structure",
"required":[
"AccountName",
"AccountPassword"
],
"members":{
"AccountName":{
"shape":"AccountName",
"documentation":"<p>The user name of an account in the directory that is used by AppStream 2.0 streaming instances to connect to the directory. This account must have the following privileges: create computer objects, join computers to the domain, change/reset the password on descendant computer objects for the organizational units specified.</p>"
},
"AccountPassword":{
"shape":"AccountPassword",
"documentation":"<p>The password for the user account for directory actions.</p>"
}
},
"documentation":"<p>The <i>AccountName</i> and <i>AccountPassword</i> of the service account, to be used by the streaming instance to connect to the directory.</p>"
},
"Session":{
"type":"structure",
"required":[
@ -1178,7 +1420,7 @@
},
"CreatedTime":{
"shape":"Timestamp",
"documentation":"<p>The timestamp when the stack was created.</p>"
"documentation":"<p>The time stamp when the stack was created.</p>"
},
"StorageConnectors":{
"shape":"StorageConnectorList",
@ -1277,6 +1519,12 @@
"documentation":"<p>The type of storage connector. The possible values include: HOMEFOLDERS.</p>",
"enum":["HOMEFOLDERS"]
},
"StreamingUrlUserId":{
"type":"string",
"max":32,
"min":2,
"pattern":"[\\w+=,.@-]*"
},
"String":{
"type":"string",
"min":1
@ -1291,6 +1539,33 @@
"documentation":"<p>A list of subnet IDs.</p>"
},
"Timestamp":{"type":"timestamp"},
"UpdateDirectoryConfigRequest":{
"type":"structure",
"required":["DirectoryName"],
"members":{
"DirectoryName":{
"shape":"DirectoryName",
"documentation":"<p>The name of the existing directory configuration to be updated.</p>"
},
"OrganizationalUnitDistinguishedNames":{
"shape":"OrganizationalUnitDistinguishedNamesList",
"documentation":"<p>The list of the distinguished names of organizational units to place computer accounts in.</p>"
},
"ServiceAccountCredentials":{
"shape":"ServiceAccountCredentials",
"documentation":"<p>The <i>AccountName</i> and <i>AccountPassword</i> values for the service account, which are used by the streaming instance to connect to the directory</p>"
}
}
},
"UpdateDirectoryConfigResult":{
"type":"structure",
"members":{
"DirectoryConfig":{
"shape":"DirectoryConfig",
"documentation":"<p>The updated directory configuration details.</p>"
}
}
},
"UpdateFleetRequest":{
"type":"structure",
"required":["Name"],
@ -1305,7 +1580,7 @@
},
"InstanceType":{
"shape":"String",
"documentation":"<p>The instance type of compute resources for the fleet. Fleet instances are launched from this instance type.</p>"
"documentation":"<p>The instance type of compute resources for the fleet. Fleet instances are launched from this instance type. Available instance types are:</p> <ul> <li> <p>stream.standard.medium</p> </li> <li> <p>stream.standard.large</p> </li> <li> <p>stream.compute.large</p> </li> <li> <p>stream.compute.xlarge</p> </li> <li> <p>stream.compute.2xlarge</p> </li> <li> <p>stream.compute.4xlarge</p> </li> <li> <p>stream.compute.8xlarge</p> </li> <li> <p>stream.memory.large</p> </li> <li> <p>stream.memory.xlarge</p> </li> <li> <p>stream.memory.2xlarge</p> </li> <li> <p>stream.memory.4xlarge</p> </li> <li> <p>stream.memory.8xlarge</p> </li> <li> <p>stream.graphics-pro.4xlarge</p> </li> <li> <p>stream.graphics-pro.8xlarge</p> </li> <li> <p>stream.graphics-pro.16xlarge</p> </li> <li> <p>stream.graphics-desktop.2xlarge</p> </li> </ul>"
},
"ComputeCapacity":{
"shape":"ComputeCapacity",
@ -1338,7 +1613,11 @@
},
"EnableDefaultInternetAccess":{
"shape":"BooleanObject",
"documentation":"<p>Enables or disables default Internet access for the fleet.</p>"
"documentation":"<p>Enables or disables default internet access for the fleet.</p>"
},
"DomainJoinInfo":{
"shape":"DomainJoinInfo",
"documentation":"<p>The <i>DirectoryName</i> and <i>OrganizationalUnitDistinguishedName</i> values, which are used to join domains for the AppStream 2.0 streaming instances.</p>"
},
"AttributesToDelete":{
"shape":"FleetAttributes",

View file

@ -16,7 +16,8 @@
"input_token": "NextToken",
"output_token": "NextToken",
"limit_key": "MaxResults",
"result_key": "ResultSet"
"result_key": "ResultSet.Rows",
"non_aggregate_keys": ["ResultSet.ResultSetMetadata"]
}
}
}

View file

@ -255,7 +255,8 @@
"reason":{
"shape":"String",
"documentation":"<p>A short (255 max characters) human-readable string to provide additional details about a running or stopped container.</p>"
}
},
"logStreamName":{"shape":"String"}
},
"documentation":"<p>An object representing the details of a container that is part of a job attempt.</p>"
},
@ -573,7 +574,8 @@
"taskArn":{
"shape":"String",
"documentation":"<p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job.</p>"
}
},
"logStreamName":{"shape":"String"}
},
"documentation":"<p>An object representing the details of a container that is part of a job.</p>"
},

19
botocore/data/budgets/2016-10-20/service-2.json Executable file → Normal file
View file

@ -250,16 +250,17 @@
},
"BudgetName":{
"type":"string",
"documentation":"A string represents the budget name. No \":\" character is allowed.",
"documentation":"A string represents the budget name. No \":\" and \"\\\" character is allowed.",
"max":100,
"pattern":"[^:]+"
"pattern":"[^:\\\\]+"
},
"BudgetType":{
"type":"string",
"documentation":"The type of a budget. Can be COST or USAGE.",
"documentation":"The type of a budget. It should be COST, USAGE, or RI_UTILIZATION.",
"enum":[
"USAGE",
"COST"
"COST",
"RI_UTILIZATION"
]
},
"Budgets":{
@ -654,7 +655,7 @@
],
"members":{
"Amount":{"shape":"NumericValue"},
"Unit":{"shape":"GenericString"}
"Unit":{"shape":"UnitValue"}
},
"documentation":"A structure represent either a cost spend or usage spend. Contains an amount and a unit."
},
@ -699,13 +700,19 @@
},
"TimeUnit":{
"type":"string",
"documentation":"The time unit of the budget. e.g. weekly, monthly, etc.",
"documentation":"The time unit of the budget. e.g. MONTHLY, QUARTERLY, etc.",
"enum":[
"DAILY",
"MONTHLY",
"QUARTERLY",
"ANNUALLY"
]
},
"UnitValue":{
"type":"string",
"documentation":"A string to represent budget spend unit. It should be not null and not empty.",
"min":1
},
"UpdateBudgetRequest":{
"type":"structure",
"required":[

View file

@ -141,6 +141,7 @@
{"shape":"ValidationException"},
{"shape":"LimitExceededException"},
{"shape":"AccessDeniedException"},
{"shape":"DirectoryNotEnabledException"},
{"shape":"ResourceNotFoundException"},
{"shape":"InvalidAttachmentException"},
{"shape":"ValidationException"},
@ -517,6 +518,7 @@
{"shape":"ValidationException"},
{"shape":"LimitExceededException"},
{"shape":"AccessDeniedException"},
{"shape":"DirectoryNotEnabledException"},
{"shape":"ResourceNotFoundException"},
{"shape":"FacetValidationException"}
],
@ -810,6 +812,7 @@
{"shape":"ValidationException"},
{"shape":"LimitExceededException"},
{"shape":"AccessDeniedException"},
{"shape":"DirectoryNotEnabledException"},
{"shape":"ResourceNotFoundException"},
{"shape":"InvalidNextTokenException"},
{"shape":"FacetValidationException"}
@ -970,6 +973,7 @@
{"shape":"ValidationException"},
{"shape":"LimitExceededException"},
{"shape":"AccessDeniedException"},
{"shape":"DirectoryNotEnabledException"},
{"shape":"ResourceNotFoundException"},
{"shape":"InvalidNextTokenException"},
{"shape":"FacetValidationException"}
@ -1657,7 +1661,7 @@
"documentation":"<p>The name of the link.</p>"
}
},
"documentation":"<p>Represents the output of an <code>AttachObject</code> operation.</p>"
"documentation":"<p>Represents the output of an <a>AttachObject</a> operation.</p>"
},
"BatchAttachObjectResponse":{
"type":"structure",
@ -1667,7 +1671,137 @@
"documentation":"<p>The <code>ObjectIdentifier</code> of the object that has been attached.</p>"
}
},
"documentation":"<p>Represents the output batch <code>AttachObject</code> response operation.</p>"
"documentation":"<p>Represents the output batch <a>AttachObject</a> response operation.</p>"
},
"BatchAttachPolicy":{
"type":"structure",
"required":[
"PolicyReference",
"ObjectReference"
],
"members":{
"PolicyReference":{
"shape":"ObjectReference",
"documentation":"<p>The reference that is associated with the policy object.</p>"
},
"ObjectReference":{
"shape":"ObjectReference",
"documentation":"<p>The reference that identifies the object to which the policy will be attached.</p>"
}
},
"documentation":"<p>Attaches a policy object to a regular object inside a <a>BatchRead</a> operation. For more information, see <a>AttachPolicy</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchAttachPolicyResponse":{
"type":"structure",
"members":{
},
"documentation":"<p>Represents the output of an <a>AttachPolicy</a> response operation.</p>"
},
"BatchAttachToIndex":{
"type":"structure",
"required":[
"IndexReference",
"TargetReference"
],
"members":{
"IndexReference":{
"shape":"ObjectReference",
"documentation":"<p>A reference to the index that you are attaching the object to.</p>"
},
"TargetReference":{
"shape":"ObjectReference",
"documentation":"<p>A reference to the object that you are attaching to the index.</p>"
}
},
"documentation":"<p>Attaches the specified object to the specified index inside a <a>BatchRead</a> operation. For more information, see <a>AttachToIndex</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchAttachToIndexResponse":{
"type":"structure",
"members":{
"AttachedObjectIdentifier":{
"shape":"ObjectIdentifier",
"documentation":"<p>The <code>ObjectIdentifier</code> of the object that was attached to the index.</p>"
}
},
"documentation":"<p>Represents the output of a <a>AttachToIndex</a> response operation.</p>"
},
"BatchAttachTypedLink":{
"type":"structure",
"required":[
"SourceObjectReference",
"TargetObjectReference",
"TypedLinkFacet",
"Attributes"
],
"members":{
"SourceObjectReference":{
"shape":"ObjectReference",
"documentation":"<p>Identifies the source object that the typed link will attach to.</p>"
},
"TargetObjectReference":{
"shape":"ObjectReference",
"documentation":"<p>Identifies the target object that the typed link will attach to.</p>"
},
"TypedLinkFacet":{
"shape":"TypedLinkSchemaAndFacetName",
"documentation":"<p>Identifies the typed link facet that is associated with the typed link.</p>"
},
"Attributes":{
"shape":"AttributeNameAndValueList",
"documentation":"<p>A set of attributes that are associated with the typed link.</p>"
}
},
"documentation":"<p>Attaches a typed link to a specified source and target object inside a <a>BatchRead</a> operation. For more information, see <a>AttachTypedLink</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchAttachTypedLinkResponse":{
"type":"structure",
"members":{
"TypedLinkSpecifier":{
"shape":"TypedLinkSpecifier",
"documentation":"<p>Returns a typed link specifier as output.</p>"
}
},
"documentation":"<p>Represents the output of a <a>AttachTypedLink</a> response operation.</p>"
},
"BatchCreateIndex":{
"type":"structure",
"required":[
"OrderedIndexedAttributeList",
"IsUnique"
],
"members":{
"OrderedIndexedAttributeList":{
"shape":"AttributeKeyList",
"documentation":"<p>Specifies the attributes that should be indexed on. Currently only a single attribute is supported.</p>"
},
"IsUnique":{
"shape":"Bool",
"documentation":"<p>Indicates whether the attribute that is being indexed has unique values or not.</p>"
},
"ParentReference":{
"shape":"ObjectReference",
"documentation":"<p>A reference to the parent object that contains the index object.</p>"
},
"LinkName":{
"shape":"LinkName",
"documentation":"<p>The name of the link between the parent object and the index object.</p>"
},
"BatchReferenceName":{
"shape":"BatchReferenceName",
"documentation":"<p>The batch reference name. See <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches\">Batches</a> for more information.</p>"
}
},
"documentation":"<p>Creates an index object inside of a <a>BatchRead</a> operation. For more information, see <a>CreateIndex</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchCreateIndexResponse":{
"type":"structure",
"members":{
"ObjectIdentifier":{
"shape":"ObjectIdentifier",
"documentation":"<p>The <code>ObjectIdentifier</code> of the index created by this operation.</p>"
}
},
"documentation":"<p>Represents the output of a <a>CreateIndex</a> response operation.</p>"
},
"BatchCreateObject":{
"type":"structure",
@ -1700,7 +1834,7 @@
"documentation":"<p>The batch reference name. See <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches\">Batches</a> for more information.</p>"
}
},
"documentation":"<p>Represents the output of a <code>CreateObject</code> operation.</p>"
"documentation":"<p>Represents the output of a <a>CreateObject</a> operation.</p>"
},
"BatchCreateObjectResponse":{
"type":"structure",
@ -1710,7 +1844,7 @@
"documentation":"<p>The ID that is associated with the object.</p>"
}
},
"documentation":"<p>Represents the output of a <code>CreateObject</code> response operation.</p>"
"documentation":"<p>Represents the output of a <a>CreateObject</a> response operation.</p>"
},
"BatchDeleteObject":{
"type":"structure",
@ -1721,13 +1855,41 @@
"documentation":"<p>The reference that identifies the object.</p>"
}
},
"documentation":"<p>Represents the output of a <code>DeleteObject</code> operation.</p>"
"documentation":"<p>Represents the output of a <a>DeleteObject</a> operation.</p>"
},
"BatchDeleteObjectResponse":{
"type":"structure",
"members":{
},
"documentation":"<p>Represents the output of a <code>DeleteObject</code> response operation.</p>"
"documentation":"<p>Represents the output of a <a>DeleteObject</a> response operation.</p>"
},
"BatchDetachFromIndex":{
"type":"structure",
"required":[
"IndexReference",
"TargetReference"
],
"members":{
"IndexReference":{
"shape":"ObjectReference",
"documentation":"<p>A reference to the index object.</p>"
},
"TargetReference":{
"shape":"ObjectReference",
"documentation":"<p>A reference to the object being detached from the index.</p>"
}
},
"documentation":"<p>Detaches the specified object from the specified index inside a <a>BatchRead</a> operation. For more information, see <a>DetachFromIndex</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchDetachFromIndexResponse":{
"type":"structure",
"members":{
"DetachedObjectIdentifier":{
"shape":"ObjectIdentifier",
"documentation":"<p>The <code>ObjectIdentifier</code> of the object that was detached from the index.</p>"
}
},
"documentation":"<p>Represents the output of a <a>DetachFromIndex</a> response operation.</p>"
},
"BatchDetachObject":{
"type":"structure",
@ -1750,7 +1912,7 @@
"documentation":"<p>The batch reference name. See <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches\">Batches</a> for more information.</p>"
}
},
"documentation":"<p>Represents the output of a <code>DetachObject</code> operation.</p>"
"documentation":"<p>Represents the output of a <a>DetachObject</a> operation.</p>"
},
"BatchDetachObjectResponse":{
"type":"structure",
@ -1760,7 +1922,184 @@
"documentation":"<p>The <code>ObjectIdentifier</code> of the detached object.</p>"
}
},
"documentation":"<p>Represents the output of a <code>DetachObject</code> response operation.</p>"
"documentation":"<p>Represents the output of a <a>DetachObject</a> response operation.</p>"
},
"BatchDetachPolicy":{
"type":"structure",
"required":[
"PolicyReference",
"ObjectReference"
],
"members":{
"PolicyReference":{
"shape":"ObjectReference",
"documentation":"<p>Reference that identifies the policy object.</p>"
},
"ObjectReference":{
"shape":"ObjectReference",
"documentation":"<p>Reference that identifies the object whose policy object will be detached.</p>"
}
},
"documentation":"<p>Detaches the specified policy from the specified directory inside a <a>BatchRead</a> operation. For more information, see <a>DetachPolicy</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchDetachPolicyResponse":{
"type":"structure",
"members":{
},
"documentation":"<p>Represents the output of a <a>DetachPolicy</a> response operation.</p>"
},
"BatchDetachTypedLink":{
"type":"structure",
"required":["TypedLinkSpecifier"],
"members":{
"TypedLinkSpecifier":{
"shape":"TypedLinkSpecifier",
"documentation":"<p>Used to accept a typed link specifier as input.</p>"
}
},
"documentation":"<p>Detaches a typed link from a specified source and target object inside a <a>BatchRead</a> operation. For more information, see <a>DetachTypedLink</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchDetachTypedLinkResponse":{
"type":"structure",
"members":{
},
"documentation":"<p>Represents the output of a <a>DetachTypedLink</a> response operation.</p>"
},
"BatchGetObjectInformation":{
"type":"structure",
"required":["ObjectReference"],
"members":{
"ObjectReference":{
"shape":"ObjectReference",
"documentation":"<p>A reference to the object.</p>"
}
},
"documentation":"<p>Retrieves metadata about an object inside a <a>BatchRead</a> operation. For more information, see <a>GetObjectInformation</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchGetObjectInformationResponse":{
"type":"structure",
"members":{
"SchemaFacets":{
"shape":"SchemaFacetList",
"documentation":"<p>The facets attached to the specified object.</p>"
},
"ObjectIdentifier":{
"shape":"ObjectIdentifier",
"documentation":"<p>The <code>ObjectIdentifier</code> of the specified object.</p>"
}
},
"documentation":"<p>Represents the output of a <a>GetObjectInformation</a> response operation.</p>"
},
"BatchListAttachedIndices":{
"type":"structure",
"required":["TargetReference"],
"members":{
"TargetReference":{
"shape":"ObjectReference",
"documentation":"<p>A reference to the object that has indices attached.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
},
"MaxResults":{
"shape":"NumberResults",
"documentation":"<p>The maximum number of results to retrieve.</p>"
}
},
"documentation":"<p>Lists indices attached to an object inside a <a>BatchRead</a> operation. For more information, see <a>ListAttachedIndices</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchListAttachedIndicesResponse":{
"type":"structure",
"members":{
"IndexAttachments":{
"shape":"IndexAttachmentList",
"documentation":"<p>The indices attached to the specified object.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Represents the output of a <a>ListAttachedIndices</a> response operation.</p>"
},
"BatchListIncomingTypedLinks":{
"type":"structure",
"required":["ObjectReference"],
"members":{
"ObjectReference":{
"shape":"ObjectReference",
"documentation":"<p>The reference that identifies the object whose attributes will be listed.</p>"
},
"FilterAttributeRanges":{
"shape":"TypedLinkAttributeRangeList",
"documentation":"<p>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.</p>"
},
"FilterTypedLink":{
"shape":"TypedLinkSchemaAndFacetName",
"documentation":"<p>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.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
},
"MaxResults":{
"shape":"NumberResults",
"documentation":"<p>The maximum number of results to retrieve.</p>"
}
},
"documentation":"<p>Returns a paginated list of all the incoming <a>TypedLinkSpecifier</a> information for an object inside a <a>BatchRead</a> operation. For more information, see <a>ListIncomingTypedLinks</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchListIncomingTypedLinksResponse":{
"type":"structure",
"members":{
"LinkSpecifiers":{
"shape":"TypedLinkSpecifierList",
"documentation":"<p>Returns one or more typed link specifiers as output.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Represents the output of a <a>ListIncomingTypedLinks</a> response operation.</p>"
},
"BatchListIndex":{
"type":"structure",
"required":["IndexReference"],
"members":{
"RangesOnIndexedValues":{
"shape":"ObjectAttributeRangeList",
"documentation":"<p>Specifies the ranges of indexed values that you want to query.</p>"
},
"IndexReference":{
"shape":"ObjectReference",
"documentation":"<p>The reference to the index to list.</p>"
},
"MaxResults":{
"shape":"NumberResults",
"documentation":"<p>The maximum number of results to retrieve.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Lists objects attached to the specified index inside a <a>BatchRead</a> operation. For more information, see <a>ListIndex</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchListIndexResponse":{
"type":"structure",
"members":{
"IndexAttachments":{
"shape":"IndexAttachmentList",
"documentation":"<p>The objects and indexed values attached to the index.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Represents the output of a <a>ListIndex</a> response operation.</p>"
},
"BatchListObjectAttributes":{
"type":"structure",
@ -1783,7 +2122,7 @@
"documentation":"<p>Used to filter the list of object attributes that are associated with a certain facet.</p>"
}
},
"documentation":"<p>Represents the output of a <code>ListObjectAttributes</code> operation.</p>"
"documentation":"<p>Represents the output of a <a>ListObjectAttributes</a> operation.</p>"
},
"BatchListObjectAttributesResponse":{
"type":"structure",
@ -1797,7 +2136,7 @@
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Represents the output of a <code>ListObjectAttributes</code> response operation.</p>"
"documentation":"<p>Represents the output of a <a>ListObjectAttributes</a> response operation.</p>"
},
"BatchListObjectChildren":{
"type":"structure",
@ -1816,7 +2155,7 @@
"documentation":"<p>Maximum number of items to be retrieved in a single call. This is an approximate number.</p>"
}
},
"documentation":"<p>Represents the output of a <code>ListObjectChildren</code> operation.</p>"
"documentation":"<p>Represents the output of a <a>ListObjectChildren</a> operation.</p>"
},
"BatchListObjectChildrenResponse":{
"type":"structure",
@ -1830,7 +2169,180 @@
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Represents the output of a <code>ListObjectChildren</code> response operation.</p>"
"documentation":"<p>Represents the output of a <a>ListObjectChildren</a> response operation.</p>"
},
"BatchListObjectParentPaths":{
"type":"structure",
"required":["ObjectReference"],
"members":{
"ObjectReference":{
"shape":"ObjectReference",
"documentation":"<p>The reference that identifies the object whose attributes will be listed.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
},
"MaxResults":{
"shape":"NumberResults",
"documentation":"<p>The maximum number of results to retrieve.</p>"
}
},
"documentation":"<p>Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects inside a <a>BatchRead</a> operation. For more information, see <a>ListObjectParentPaths</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchListObjectParentPathsResponse":{
"type":"structure",
"members":{
"PathToObjectIdentifiersList":{
"shape":"PathToObjectIdentifiersList",
"documentation":"<p>Returns the path to the <code>ObjectIdentifiers</code> that are associated with the directory.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Represents the output of a <a>ListObjectParentPaths</a> response operation.</p>"
},
"BatchListObjectPolicies":{
"type":"structure",
"required":["ObjectReference"],
"members":{
"ObjectReference":{
"shape":"ObjectReference",
"documentation":"<p>The reference that identifies the object whose attributes will be listed.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
},
"MaxResults":{
"shape":"NumberResults",
"documentation":"<p>The maximum number of results to retrieve.</p>"
}
},
"documentation":"<p>Returns policies attached to an object in pagination fashion inside a <a>BatchRead</a> operation. For more information, see <a>ListObjectPolicies</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchListObjectPoliciesResponse":{
"type":"structure",
"members":{
"AttachedPolicyIds":{
"shape":"ObjectIdentifierList",
"documentation":"<p>A list of policy <code>ObjectIdentifiers</code>, that are attached to the object.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Represents the output of a <a>ListObjectPolicies</a> response operation.</p>"
},
"BatchListOutgoingTypedLinks":{
"type":"structure",
"required":["ObjectReference"],
"members":{
"ObjectReference":{
"shape":"ObjectReference",
"documentation":"<p>The reference that identifies the object whose attributes will be listed.</p>"
},
"FilterAttributeRanges":{
"shape":"TypedLinkAttributeRangeList",
"documentation":"<p>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.</p>"
},
"FilterTypedLink":{
"shape":"TypedLinkSchemaAndFacetName",
"documentation":"<p>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.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
},
"MaxResults":{
"shape":"NumberResults",
"documentation":"<p>The maximum number of results to retrieve.</p>"
}
},
"documentation":"<p>Returns a paginated list of all the outgoing <a>TypedLinkSpecifier</a> information for an object inside a <a>BatchRead</a> operation. For more information, see <a>ListOutgoingTypedLinks</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchListOutgoingTypedLinksResponse":{
"type":"structure",
"members":{
"TypedLinkSpecifiers":{
"shape":"TypedLinkSpecifierList",
"documentation":"<p>Returns a typed link specifier as output.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Represents the output of a <a>ListOutgoingTypedLinks</a> response operation.</p>"
},
"BatchListPolicyAttachments":{
"type":"structure",
"required":["PolicyReference"],
"members":{
"PolicyReference":{
"shape":"ObjectReference",
"documentation":"<p>The reference that identifies the policy object.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
},
"MaxResults":{
"shape":"NumberResults",
"documentation":"<p>The maximum number of results to retrieve.</p>"
}
},
"documentation":"<p>Returns all of the <code>ObjectIdentifiers</code> to which a given policy is attached inside a <a>BatchRead</a> operation. For more information, see <a>ListPolicyAttachments</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchListPolicyAttachmentsResponse":{
"type":"structure",
"members":{
"ObjectIdentifiers":{
"shape":"ObjectIdentifierList",
"documentation":"<p>A list of <code>ObjectIdentifiers</code> to which the policy is attached.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Represents the output of a <a>ListPolicyAttachments</a> response operation.</p>"
},
"BatchLookupPolicy":{
"type":"structure",
"required":["ObjectReference"],
"members":{
"ObjectReference":{
"shape":"ObjectReference",
"documentation":"<p>Reference that identifies the object whose policies will be looked up.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
},
"MaxResults":{
"shape":"NumberResults",
"documentation":"<p>The maximum number of results to retrieve.</p>"
}
},
"documentation":"<p>Lists all policies from the root of the Directory to the object specified inside a <a>BatchRead</a> operation. For more information, see <a>LookupPolicy</a> and <a>BatchReadRequest$Operations</a>.</p>"
},
"BatchLookupPolicyResponse":{
"type":"structure",
"members":{
"PolicyToPathList":{
"shape":"PolicyToPathList",
"documentation":"<p>Provides list of path to policies. Policies contain <code>PolicyId</code>, <code>ObjectIdentifier</code>, and <code>PolicyType</code>. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies\">Policies</a>.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The pagination token.</p>"
}
},
"documentation":"<p>Represents the output of a <a>LookupPolicy</a> response operation.</p>"
},
"BatchOperationIndex":{"type":"integer"},
"BatchReadException":{
@ -1855,7 +2367,14 @@
"ResourceNotFoundException",
"InvalidNextTokenException",
"AccessDeniedException",
"NotNodeException"
"NotNodeException",
"FacetValidationException",
"CannotListParentOfRootException",
"NotIndexException",
"NotPolicyException",
"DirectoryNotEnabledException",
"LimitExceededException",
"InternalServiceException"
]
},
"BatchReadOperation":{
@ -1868,6 +2387,42 @@
"ListObjectChildren":{
"shape":"BatchListObjectChildren",
"documentation":"<p>Returns a paginated list of child objects that are associated with a given object.</p>"
},
"ListAttachedIndices":{
"shape":"BatchListAttachedIndices",
"documentation":"<p>Lists indices attached to an object.</p>"
},
"ListObjectParentPaths":{
"shape":"BatchListObjectParentPaths",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure\">Directory Structure</a>.</p>"
},
"GetObjectInformation":{
"shape":"BatchGetObjectInformation",
"documentation":"<p>Retrieves metadata about an object.</p>"
},
"ListObjectPolicies":{
"shape":"BatchListObjectPolicies",
"documentation":"<p>Returns policies attached to an object in pagination fashion.</p>"
},
"ListPolicyAttachments":{
"shape":"BatchListPolicyAttachments",
"documentation":"<p>Returns all of the <code>ObjectIdentifiers</code> to which a given policy is attached.</p>"
},
"LookupPolicy":{
"shape":"BatchLookupPolicy",
"documentation":"<p>Lists all policies from the root of the <a>Directory</a> 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 <code>ObjectIdentifier</code> for such objects. If policies are present, it returns <code>ObjectIdentifier</code>, <code>policyId</code>, and <code>policyType</code>. Paths that don't lead to the root from the target object are ignored. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies\">Policies</a>.</p>"
},
"ListIndex":{
"shape":"BatchListIndex",
"documentation":"<p>Lists objects attached to the specified index.</p>"
},
"ListOutgoingTypedLinks":{
"shape":"BatchListOutgoingTypedLinks",
"documentation":"<p>Returns a paginated list of all the outgoing <a>TypedLinkSpecifier</a> information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink\">Typed link</a>.</p>"
},
"ListIncomingTypedLinks":{
"shape":"BatchListIncomingTypedLinks",
"documentation":"<p>Returns a paginated list of all the incoming <a>TypedLinkSpecifier</a> information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink\">Typed link</a>.</p>"
}
},
"documentation":"<p>Represents the output of a <code>BatchRead</code> operation.</p>"
@ -1938,6 +2493,42 @@
"ListObjectChildren":{
"shape":"BatchListObjectChildrenResponse",
"documentation":"<p>Returns a paginated list of child objects that are associated with a given object.</p>"
},
"GetObjectInformation":{
"shape":"BatchGetObjectInformationResponse",
"documentation":"<p>Retrieves metadata about an object.</p>"
},
"ListAttachedIndices":{
"shape":"BatchListAttachedIndicesResponse",
"documentation":"<p>Lists indices attached to an object.</p>"
},
"ListObjectParentPaths":{
"shape":"BatchListObjectParentPathsResponse",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure\">Directory Structure</a>.</p>"
},
"ListObjectPolicies":{
"shape":"BatchListObjectPoliciesResponse",
"documentation":"<p>Returns policies attached to an object in pagination fashion.</p>"
},
"ListPolicyAttachments":{
"shape":"BatchListPolicyAttachmentsResponse",
"documentation":"<p>Returns all of the <code>ObjectIdentifiers</code> to which a given policy is attached.</p>"
},
"LookupPolicy":{
"shape":"BatchLookupPolicyResponse",
"documentation":"<p>Lists all policies from the root of the <a>Directory</a> 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 <code>ObjectIdentifier</code> for such objects. If policies are present, it returns <code>ObjectIdentifier</code>, <code>policyId</code>, and <code>policyType</code>. Paths that don't lead to the root from the target object are ignored. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies\">Policies</a>.</p>"
},
"ListIndex":{
"shape":"BatchListIndexResponse",
"documentation":"<p>Lists objects attached to the specified index.</p>"
},
"ListOutgoingTypedLinks":{
"shape":"BatchListOutgoingTypedLinksResponse",
"documentation":"<p>Returns a paginated list of all the outgoing <a>TypedLinkSpecifier</a> information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink\">Typed link</a>.</p>"
},
"ListIncomingTypedLinks":{
"shape":"BatchListIncomingTypedLinksResponse",
"documentation":"<p>Returns a paginated list of all the incoming <a>TypedLinkSpecifier</a> information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink\">Typed link</a>.</p>"
}
},
"documentation":"<p>Represents the output of a <code>BatchRead</code> success response operation.</p>"
@ -2016,7 +2607,15 @@
"FacetValidationException",
"ObjectNotDetachedException",
"ResourceNotFoundException",
"AccessDeniedException"
"AccessDeniedException",
"InvalidAttachmentException",
"NotIndexException",
"IndexedAttributeMissingException",
"ObjectAlreadyDetachedException",
"NotPolicyException",
"DirectoryNotEnabledException",
"LimitExceededException",
"UnsupportedIndexTypeException"
]
},
"BatchWriteOperation":{
@ -2049,6 +2648,34 @@
"RemoveFacetFromObject":{
"shape":"BatchRemoveFacetFromObject",
"documentation":"<p>A batch operation that removes a facet from an object.</p>"
},
"AttachPolicy":{
"shape":"BatchAttachPolicy",
"documentation":"<p>Attaches a policy object to a regular object. An object can have a limited number of attached policies.</p>"
},
"DetachPolicy":{
"shape":"BatchDetachPolicy",
"documentation":"<p>Detaches a policy from a <a>Directory</a>.</p>"
},
"CreateIndex":{
"shape":"BatchCreateIndex",
"documentation":"<p>Creates an index object. See <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html\">Indexing</a> for more information.</p>"
},
"AttachToIndex":{
"shape":"BatchAttachToIndex",
"documentation":"<p>Attaches the specified object to the specified index.</p>"
},
"DetachFromIndex":{
"shape":"BatchDetachFromIndex",
"documentation":"<p>Detaches the specified object from the specified index.</p>"
},
"AttachTypedLink":{
"shape":"BatchAttachTypedLink",
"documentation":"<p>Attaches a typed link to a specified source and target object. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink\">Typed link</a>.</p>"
},
"DetachTypedLink":{
"shape":"BatchDetachTypedLink",
"documentation":"<p>Detaches a typed link from a specified source and target object. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink\">Typed link</a>.</p>"
}
},
"documentation":"<p>Represents the output of a <code>BatchWrite</code> operation. </p>"
@ -2087,6 +2714,34 @@
"RemoveFacetFromObject":{
"shape":"BatchRemoveFacetFromObjectResponse",
"documentation":"<p>The result of a batch remove facet from object operation.</p>"
},
"AttachPolicy":{
"shape":"BatchAttachPolicyResponse",
"documentation":"<p>Attaches a policy object to a regular object. An object can have a limited number of attached policies.</p>"
},
"DetachPolicy":{
"shape":"BatchDetachPolicyResponse",
"documentation":"<p>Detaches a policy from a <a>Directory</a>.</p>"
},
"CreateIndex":{
"shape":"BatchCreateIndexResponse",
"documentation":"<p>Creates an index object. See <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html\">Indexing</a> for more information.</p>"
},
"AttachToIndex":{
"shape":"BatchAttachToIndexResponse",
"documentation":"<p>Attaches the specified object to the specified index.</p>"
},
"DetachFromIndex":{
"shape":"BatchDetachFromIndexResponse",
"documentation":"<p>Detaches the specified object from the specified index.</p>"
},
"AttachTypedLink":{
"shape":"BatchAttachTypedLinkResponse",
"documentation":"<p>Attaches a typed link to a specified source and target object. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink\">Typed link</a>.</p>"
},
"DetachTypedLink":{
"shape":"BatchDetachTypedLinkResponse",
"documentation":"<p>Detaches a typed link from a specified source and target object. For more information, see <a href=\"http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink\">Typed link</a>.</p>"
}
},
"documentation":"<p>Represents the output of a <code>BatchWrite</code> response operation.</p>"
@ -3169,7 +3824,7 @@
},
"TargetReference":{
"shape":"ObjectReference",
"documentation":"<p>A reference to the object to that has indices attached.</p>"
"documentation":"<p>A reference to the object that has indices attached.</p>"
},
"NextToken":{
"shape":"NextToken",
@ -4515,7 +5170,7 @@
},
"IdentityAttributeOrder":{
"shape":"AttributeNameList",
"documentation":"<p>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 <a>ListOutgoingTypedLinks</a> and <a>ListIncomingTypeLinks</a> for details.</p>"
"documentation":"<p>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 <a>ListOutgoingTypedLinks</a> and <a>ListIncomingTypedLinks</a> for details.</p>"
}
},
"documentation":"<p>Defines the typed links structure and its attributes. To create a typed link facet, use the <a>CreateTypedLinkFacet</a> API.</p>"

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,3 @@
{
"pagination": {}
}

View file

@ -0,0 +1,838 @@
{
"version":"2.0",
"metadata":{
"apiVersion":"2017-04-28",
"endpointPrefix":"cloudhsmv2",
"jsonVersion":"1.1",
"protocol":"json",
"serviceAbbreviation":"CloudHSM V2",
"serviceFullName":"AWS CloudHSM V2",
"signatureVersion":"v4",
"signingName":"cloudhsm",
"targetPrefix":"BaldrApiService",
"uid":"cloudhsmv2-2017-04-28"
},
"operations":{
"CreateCluster":{
"name":"CreateCluster",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateClusterRequest"},
"output":{"shape":"CreateClusterResponse"},
"errors":[
{"shape":"CloudHsmInternalFailureException"},
{"shape":"CloudHsmServiceException"},
{"shape":"CloudHsmResourceNotFoundException"},
{"shape":"CloudHsmInvalidRequestException"},
{"shape":"CloudHsmAccessDeniedException"}
],
"documentation":"<p>Creates a new AWS CloudHSM cluster.</p>"
},
"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":"<p>Creates a new hardware security module (HSM) in the specified AWS CloudHSM cluster.</p>"
},
"DeleteCluster":{
"name":"DeleteCluster",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteClusterRequest"},
"output":{"shape":"DeleteClusterResponse"},
"errors":[
{"shape":"CloudHsmInternalFailureException"},
{"shape":"CloudHsmServiceException"},
{"shape":"CloudHsmResourceNotFoundException"},
{"shape":"CloudHsmInvalidRequestException"},
{"shape":"CloudHsmAccessDeniedException"}
],
"documentation":"<p>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 <a>DescribeClusters</a>. To delete an HSM, use <a>DeleteHsm</a>.</p>"
},
"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":"<p>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 <a>DescribeClusters</a>.</p>"
},
"DescribeBackups":{
"name":"DescribeBackups",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeBackupsRequest"},
"output":{"shape":"DescribeBackupsResponse"},
"errors":[
{"shape":"CloudHsmInternalFailureException"},
{"shape":"CloudHsmServiceException"},
{"shape":"CloudHsmResourceNotFoundException"},
{"shape":"CloudHsmInvalidRequestException"},
{"shape":"CloudHsmAccessDeniedException"}
],
"documentation":"<p>Gets information about backups of AWS CloudHSM clusters.</p> <p>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 <code>NextToken</code> value. Use this value in a subsequent <code>DescribeBackups</code> request to get more backups. When you receive a response with no <code>NextToken</code> (or an empty or null value), that means there are no more backups to get.</p>"
},
"DescribeClusters":{
"name":"DescribeClusters",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeClustersRequest"},
"output":{"shape":"DescribeClustersResponse"},
"errors":[
{"shape":"CloudHsmInternalFailureException"},
{"shape":"CloudHsmServiceException"},
{"shape":"CloudHsmInvalidRequestException"},
{"shape":"CloudHsmAccessDeniedException"}
],
"documentation":"<p>Gets information about AWS CloudHSM clusters.</p> <p>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 <code>NextToken</code> value. Use this value in a subsequent <code>DescribeClusters</code> request to get more clusters. When you receive a response with no <code>NextToken</code> (or an empty or null value), that means there are no more clusters to get.</p>"
},
"InitializeCluster":{
"name":"InitializeCluster",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"InitializeClusterRequest"},
"output":{"shape":"InitializeClusterResponse"},
"errors":[
{"shape":"CloudHsmInternalFailureException"},
{"shape":"CloudHsmServiceException"},
{"shape":"CloudHsmResourceNotFoundException"},
{"shape":"CloudHsmInvalidRequestException"},
{"shape":"CloudHsmAccessDeniedException"}
],
"documentation":"<p>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 <a>DescribeClusters</a>.</p>"
},
"ListTags":{
"name":"ListTags",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListTagsRequest"},
"output":{"shape":"ListTagsResponse"},
"errors":[
{"shape":"CloudHsmInternalFailureException"},
{"shape":"CloudHsmServiceException"},
{"shape":"CloudHsmResourceNotFoundException"},
{"shape":"CloudHsmInvalidRequestException"},
{"shape":"CloudHsmAccessDeniedException"}
],
"documentation":"<p>Gets a list of tags for the specified AWS CloudHSM cluster.</p> <p>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 <code>NextToken</code> value. Use this value in a subsequent <code>ListTags</code> request to get more tags. When you receive a response with no <code>NextToken</code> (or an empty or null value), that means there are no more tags to get.</p>"
},
"TagResource":{
"name":"TagResource",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"TagResourceRequest"},
"output":{"shape":"TagResourceResponse"},
"errors":[
{"shape":"CloudHsmInternalFailureException"},
{"shape":"CloudHsmServiceException"},
{"shape":"CloudHsmResourceNotFoundException"},
{"shape":"CloudHsmInvalidRequestException"},
{"shape":"CloudHsmAccessDeniedException"}
],
"documentation":"<p>Adds or overwrites one or more tags for the specified AWS CloudHSM cluster.</p>"
},
"UntagResource":{
"name":"UntagResource",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UntagResourceRequest"},
"output":{"shape":"UntagResourceResponse"},
"errors":[
{"shape":"CloudHsmInternalFailureException"},
{"shape":"CloudHsmServiceException"},
{"shape":"CloudHsmResourceNotFoundException"},
{"shape":"CloudHsmInvalidRequestException"},
{"shape":"CloudHsmAccessDeniedException"}
],
"documentation":"<p>Removes the specified tag or tags from the specified AWS CloudHSM cluster.</p>"
}
},
"shapes":{
"Backup":{
"type":"structure",
"required":["BackupId"],
"members":{
"BackupId":{
"shape":"BackupId",
"documentation":"<p>The identifier (ID) of the backup.</p>"
},
"BackupState":{
"shape":"BackupState",
"documentation":"<p>The state of the backup.</p>"
},
"ClusterId":{
"shape":"ClusterId",
"documentation":"<p>The identifier (ID) of the cluster that was backed up.</p>"
},
"CreateTimestamp":{
"shape":"Timestamp",
"documentation":"<p>The date and time when the backup was created.</p>"
}
},
"documentation":"<p>Contains information about a backup of an AWS CloudHSM cluster.</p>"
},
"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"
]
},
"Backups":{
"type":"list",
"member":{"shape":"Backup"}
},
"Cert":{
"type":"string",
"max":5000,
"pattern":"[a-zA-Z0-9+-/=\\s]*"
},
"Certificates":{
"type":"structure",
"members":{
"ClusterCsr":{
"shape":"Cert",
"documentation":"<p>The cluster's certificate signing request (CSR). The CSR exists only when the cluster's state is <code>UNINITIALIZED</code>.</p>"
},
"HsmCertificate":{
"shape":"Cert",
"documentation":"<p>The HSM certificate issued (signed) by the HSM hardware.</p>"
},
"AwsHardwareCertificate":{
"shape":"Cert",
"documentation":"<p>The HSM hardware certificate issued (signed) by AWS CloudHSM.</p>"
},
"ManufacturerHardwareCertificate":{
"shape":"Cert",
"documentation":"<p>The HSM hardware certificate issued (signed) by the hardware manufacturer.</p>"
},
"ClusterCertificate":{
"shape":"Cert",
"documentation":"<p>The cluster certificate issued (signed) by the issuing certificate authority (CA) of the cluster's owner.</p>"
}
},
"documentation":"<p>Contains one or more certificates or a certificate signing request (CSR).</p>"
},
"CloudHsmAccessDeniedException":{
"type":"structure",
"members":{
"Message":{"shape":"errorMessage"}
},
"documentation":"<p>The request was rejected because the requester does not have permission to perform the requested operation.</p>",
"exception":true
},
"CloudHsmInternalFailureException":{
"type":"structure",
"members":{
"Message":{"shape":"errorMessage"}
},
"documentation":"<p>The request was rejected because of an AWS CloudHSM internal failure. The request can be retried.</p>",
"exception":true,
"fault":true
},
"CloudHsmInvalidRequestException":{
"type":"structure",
"members":{
"Message":{"shape":"errorMessage"}
},
"documentation":"<p>The request was rejected because it is not a valid request.</p>",
"exception":true
},
"CloudHsmResourceNotFoundException":{
"type":"structure",
"members":{
"Message":{"shape":"errorMessage"}
},
"documentation":"<p>The request was rejected because it refers to a resource that cannot be found.</p>",
"exception":true
},
"CloudHsmServiceException":{
"type":"structure",
"members":{
"Message":{"shape":"errorMessage"}
},
"documentation":"<p>The request was rejected because an error occurred.</p>",
"exception":true
},
"Cluster":{
"type":"structure",
"members":{
"BackupPolicy":{
"shape":"BackupPolicy",
"documentation":"<p>The cluster's backup policy.</p>"
},
"ClusterId":{
"shape":"ClusterId",
"documentation":"<p>The cluster's identifier (ID).</p>"
},
"CreateTimestamp":{
"shape":"Timestamp",
"documentation":"<p>The date and time when the cluster was created.</p>"
},
"Hsms":{
"shape":"Hsms",
"documentation":"<p>Contains information about the HSMs in the cluster.</p>"
},
"HsmType":{
"shape":"HsmType",
"documentation":"<p>The type of HSM that the cluster contains.</p>"
},
"PreCoPassword":{
"shape":"PreCoPassword",
"documentation":"<p>The default password for the cluster's Pre-Crypto Officer (PRECO) user.</p>"
},
"SecurityGroup":{
"shape":"SecurityGroup",
"documentation":"<p>The identifier (ID) of the cluster's security group.</p>"
},
"SourceBackupId":{
"shape":"BackupId",
"documentation":"<p>The identifier (ID) of the backup used to create the cluster. This value exists only when the cluster was created from a backup.</p>"
},
"State":{
"shape":"ClusterState",
"documentation":"<p>The cluster's state.</p>"
},
"StateMessage":{
"shape":"StateMessage",
"documentation":"<p>A description of the cluster's state.</p>"
},
"SubnetMapping":{
"shape":"ExternalSubnetMapping",
"documentation":"<p>A map of the cluster's subnets and their corresponding Availability Zones.</p>"
},
"VpcId":{
"shape":"VpcId",
"documentation":"<p>The identifier (ID) of the virtual private cloud (VPC) that contains the cluster.</p>"
},
"Certificates":{
"shape":"Certificates",
"documentation":"<p>Contains one or more certificates or a certificate signing request (CSR).</p>"
}
},
"documentation":"<p>Contains information about an AWS CloudHSM cluster.</p>"
},
"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"}
},
"CreateClusterRequest":{
"type":"structure",
"required":[
"SubnetIds",
"HsmType"
],
"members":{
"SubnetIds":{
"shape":"SubnetIds",
"documentation":"<p>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:</p> <ul> <li> <p>All subnets must be in the same virtual private cloud (VPC).</p> </li> <li> <p>You can specify only one subnet per Availability Zone.</p> </li> </ul>"
},
"HsmType":{
"shape":"HsmType",
"documentation":"<p>The type of HSM to use in the cluster. Currently the only allowed value is <code>hsm1.medium</code>.</p>"
},
"SourceBackupId":{
"shape":"BackupId",
"documentation":"<p>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 <a>DescribeBackups</a>.</p>"
}
}
},
"CreateClusterResponse":{
"type":"structure",
"members":{
"Cluster":{
"shape":"Cluster",
"documentation":"<p>Information about the cluster that was created.</p>"
}
}
},
"CreateHsmRequest":{
"type":"structure",
"required":[
"ClusterId",
"AvailabilityZone"
],
"members":{
"ClusterId":{
"shape":"ClusterId",
"documentation":"<p>The identifier (ID) of the HSM's cluster. To find the cluster ID, use <a>DescribeClusters</a>.</p>"
},
"AvailabilityZone":{
"shape":"ExternalAz",
"documentation":"<p>The Availability Zone where you are creating the HSM. To find the cluster's Availability Zones, use <a>DescribeClusters</a>.</p>"
},
"IpAddress":{
"shape":"IpAddress",
"documentation":"<p>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.</p>"
}
}
},
"CreateHsmResponse":{
"type":"structure",
"members":{
"Hsm":{
"shape":"Hsm",
"documentation":"<p>Information about the HSM that was created.</p>"
}
}
},
"DeleteClusterRequest":{
"type":"structure",
"required":["ClusterId"],
"members":{
"ClusterId":{
"shape":"ClusterId",
"documentation":"<p>The identifier (ID) of the cluster that you are deleting. To find the cluster ID, use <a>DescribeClusters</a>.</p>"
}
}
},
"DeleteClusterResponse":{
"type":"structure",
"members":{
"Cluster":{
"shape":"Cluster",
"documentation":"<p>Information about the cluster that was deleted.</p>"
}
}
},
"DeleteHsmRequest":{
"type":"structure",
"required":["ClusterId"],
"members":{
"ClusterId":{
"shape":"ClusterId",
"documentation":"<p>The identifier (ID) of the cluster that contains the HSM that you are deleting.</p>"
},
"HsmId":{
"shape":"HsmId",
"documentation":"<p>The identifier (ID) of the HSM that you are deleting.</p>"
},
"EniId":{
"shape":"EniId",
"documentation":"<p>The identifier (ID) of the elastic network interface (ENI) of the HSM that you are deleting.</p>"
},
"EniIp":{
"shape":"IpAddress",
"documentation":"<p>The IP address of the elastic network interface (ENI) of the HSM that you are deleting.</p>"
}
}
},
"DeleteHsmResponse":{
"type":"structure",
"members":{
"HsmId":{
"shape":"HsmId",
"documentation":"<p>The identifier (ID) of the HSM that was deleted.</p>"
}
}
},
"DescribeBackupsRequest":{
"type":"structure",
"members":{
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The <code>NextToken</code> value that you received in the previous response. Use this value to get more backups.</p>"
},
"MaxResults":{
"shape":"MaxSize",
"documentation":"<p>The maximum number of backups to return in the response. When there are more backups than the number you specify, the response contains a <code>NextToken</code> value.</p>"
},
"Filters":{
"shape":"Filters",
"documentation":"<p>One or more filters to limit the items returned in the response.</p> <p>Use the <code>backupIds</code> filter to return only the specified backups. Specify backups by their backup identifier (ID).</p> <p>Use the <code>clusterIds</code> filter to return only the backups for the specified clusters. Specify clusters by their cluster identifier (ID).</p> <p>Use the <code>states</code> filter to return only backups that match the specified state.</p>"
}
}
},
"DescribeBackupsResponse":{
"type":"structure",
"members":{
"Backups":{
"shape":"Backups",
"documentation":"<p>A list of backups.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>An opaque string that indicates that the response contains only a subset of backups. Use this value in a subsequent <code>DescribeBackups</code> request to get more backups.</p>"
}
}
},
"DescribeClustersRequest":{
"type":"structure",
"members":{
"Filters":{
"shape":"Filters",
"documentation":"<p>One or more filters to limit the items returned in the response.</p> <p>Use the <code>clusterIds</code> filter to return only the specified clusters. Specify clusters by their cluster identifier (ID).</p> <p>Use the <code>vpcIds</code> filter to return only the clusters in the specified virtual private clouds (VPCs). Specify VPCs by their VPC identifier (ID).</p> <p>Use the <code>states</code> filter to return only clusters that match the specified state.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The <code>NextToken</code> value that you received in the previous response. Use this value to get more clusters.</p>"
},
"MaxResults":{
"shape":"MaxSize",
"documentation":"<p>The maximum number of clusters to return in the response. When there are more clusters than the number you specify, the response contains a <code>NextToken</code> value.</p>"
}
}
},
"DescribeClustersResponse":{
"type":"structure",
"members":{
"Clusters":{
"shape":"Clusters",
"documentation":"<p>A list of clusters.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>An opaque string that indicates that the response contains only a subset of clusters. Use this value in a subsequent <code>DescribeClusters</code> request to get more clusters.</p>"
}
}
},
"EniId":{
"type":"string",
"pattern":"eni-[0-9a-fA-F]{8}"
},
"ExternalAz":{
"type":"string",
"pattern":"[a-z]{2}(-(gov|isob|iso))?-(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":"<p>The Availability Zone that contains the HSM.</p>"
},
"ClusterId":{
"shape":"ClusterId",
"documentation":"<p>The identifier (ID) of the cluster that contains the HSM.</p>"
},
"SubnetId":{
"shape":"SubnetId",
"documentation":"<p>The subnet that contains the HSM's elastic network interface (ENI).</p>"
},
"EniId":{
"shape":"EniId",
"documentation":"<p>The identifier (ID) of the HSM's elastic network interface (ENI).</p>"
},
"EniIp":{
"shape":"IpAddress",
"documentation":"<p>The IP address of the HSM's elastic network interface (ENI).</p>"
},
"HsmId":{
"shape":"HsmId",
"documentation":"<p>The HSM's identifier (ID).</p>"
},
"State":{
"shape":"HsmState",
"documentation":"<p>The HSM's state.</p>"
},
"StateMessage":{
"shape":"String",
"documentation":"<p>A description of the HSM's state.</p>"
}
},
"documentation":"<p>Contains information about a hardware security module (HSM) in an AWS CloudHSM cluster.</p>"
},
"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":"<p>The identifier (ID) of the cluster that you are claiming. To find the cluster ID, use <a>DescribeClusters</a>.</p>"
},
"SignedCert":{
"shape":"Cert",
"documentation":"<p>The cluster certificate issued (signed) by your issuing certificate authority (CA). The certificate must be in PEM format.</p>"
},
"TrustAnchor":{
"shape":"Cert",
"documentation":"<p>The issuing certificate of the issuing certificate authority (CA) that issued (signed) the cluster certificate. This can be a root (self-signed) certificate or a certificate chain that begins with the certificate that issued the cluster certificate and ends with a root certificate. The certificate or certificate chain must be in PEM format.</p>"
}
}
},
"InitializeClusterResponse":{
"type":"structure",
"members":{
"State":{
"shape":"ClusterState",
"documentation":"<p>The cluster's state.</p>"
},
"StateMessage":{
"shape":"StateMessage",
"documentation":"<p>A description of the cluster's state.</p>"
}
}
},
"IpAddress":{
"type":"string",
"pattern":"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"
},
"ListTagsRequest":{
"type":"structure",
"required":["ResourceId"],
"members":{
"ResourceId":{
"shape":"ClusterId",
"documentation":"<p>The cluster identifier (ID) for the cluster whose tags you are getting. To find the cluster ID, use <a>DescribeClusters</a>.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The <code>NextToken</code> value that you received in the previous response. Use this value to get more tags.</p>"
},
"MaxResults":{
"shape":"MaxSize",
"documentation":"<p>The maximum number of tags to return in the response. When there are more tags than the number you specify, the response contains a <code>NextToken</code> value.</p>"
}
}
},
"ListTagsResponse":{
"type":"structure",
"required":["TagList"],
"members":{
"TagList":{
"shape":"TagList",
"documentation":"<p>A list of tags.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>An opaque string that indicates that the response contains only a subset of tags. Use this value in a subsequent <code>ListTags</code> request to get more tags.</p>"
}
}
},
"MaxSize":{
"type":"integer",
"max":100,
"min":1
},
"NextToken":{
"type":"string",
"max":256,
"pattern":".*"
},
"PreCoPassword":{
"type":"string",
"max":32,
"min":7
},
"SecurityGroup":{
"type":"string",
"pattern":"sg-[0-9a-fA-F]"
},
"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}"
},
"SubnetIds":{
"type":"list",
"member":{"shape":"SubnetId"},
"max":10,
"min":1
},
"Tag":{
"type":"structure",
"required":[
"Key",
"Value"
],
"members":{
"Key":{
"shape":"TagKey",
"documentation":"<p>The key of the tag.</p>"
},
"Value":{
"shape":"TagValue",
"documentation":"<p>The value of the tag.</p>"
}
},
"documentation":"<p>Contains a tag. A tag is a key-value pair.</p>"
},
"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":"ClusterId",
"documentation":"<p>The cluster identifier (ID) for the cluster that you are tagging. To find the cluster ID, use <a>DescribeClusters</a>.</p>"
},
"TagList":{
"shape":"TagList",
"documentation":"<p>A list of one or more tags.</p>"
}
}
},
"TagResourceResponse":{
"type":"structure",
"members":{
}
},
"TagValue":{
"type":"string",
"max":256,
"min":0
},
"Timestamp":{"type":"timestamp"},
"UntagResourceRequest":{
"type":"structure",
"required":[
"ResourceId",
"TagKeyList"
],
"members":{
"ResourceId":{
"shape":"ClusterId",
"documentation":"<p>The cluster identifier (ID) for the cluster whose tags you are removing. To find the cluster ID, use <a>DescribeClusters</a>.</p>"
},
"TagKeyList":{
"shape":"TagKeyList",
"documentation":"<p>A list of one or more tag keys for the tags that you are removing. Specify only the tag keys, not the tag values.</p>"
}
}
},
"UntagResourceResponse":{
"type":"structure",
"members":{
}
},
"VpcId":{
"type":"string",
"pattern":"vpc-[0-9a-fA-F]"
},
"errorMessage":{"type":"string"}
},
"documentation":"<p>For more information about AWS CloudHSM, see <a href=\"http://aws.amazon.com/cloudhsm/\">AWS CloudHSM</a> and the <a href=\"http://docs.aws.amazon.com/cloudhsm/latest/userguide/\">AWS CloudHSM User Guide</a>.</p>"
}

View file

@ -139,7 +139,7 @@
{"shape":"InvalidParameterCombinationException"},
{"shape":"InternalServiceFault"}
],
"documentation":"<p>Gets statistics for the specified metric.</p> <p>Amazon CloudWatch retains metric data as follows:</p> <ul> <li> <p>Data points with a period of 60 seconds (1-minute) are available for 15 days</p> </li> <li> <p>Data points with a period of 300 seconds (5-minute) are available for 63 days</p> </li> <li> <p>Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months)</p> </li> </ul> <p>CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016.</p> <p>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. A period can be as short as one minute (60 seconds). Data points are not returned in chronological order.</p> <p>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.</p> <p>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:</p> <ul> <li> <p>The SampleCount value of the statistic set is 1.</p> </li> <li> <p>The Min and the Max values of the statistic set are equal.</p> </li> </ul> <p>For a list of metrics and dimensions supported by AWS services, see the <a href=\"http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html\">Amazon CloudWatch Metrics and Dimensions Reference</a> in the <i>Amazon CloudWatch User Guide</i>.</p>"
"documentation":"<p>Gets statistics for the specified metric.</p> <p>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.</p> <p>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.</p> <p>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:</p> <ul> <li> <p>The SampleCount value of the statistic set is 1.</p> </li> <li> <p>The Min and the Max values of the statistic set are equal.</p> </li> </ul> <p>Amazon CloudWatch retains metric data as follows:</p> <ul> <li> <p>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 <code>StorageResolution</code> of 1.</p> </li> <li> <p>Data points with a period of 60 seconds (1-minute) are available for 15 days.</p> </li> <li> <p>Data points with a period of 300 seconds (5-minute) are available for 63 days.</p> </li> <li> <p>Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months).</p> </li> </ul> <p>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.</p> <p>CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016.</p> <p>For information about metrics and dimensions supported by AWS services, see the <a href=\"http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html\">Amazon CloudWatch Metrics and Dimensions Reference</a> in the <i>Amazon CloudWatch User Guide</i>.</p>"
},
"ListDashboards":{
"name":"ListDashboards",
@ -190,7 +190,7 @@
{"shape":"DashboardInvalidInputError"},
{"shape":"InternalServiceFault"}
],
"documentation":"<p>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.</p> <p>You can have up to 500 dashboards per account. All dashboards in your account are global, not region-specific.</p> <p>To copy an existing dashboard, use <code>GetDashboard</code>, and then use the data returned within <code>DashboardBody</code> as the template for the new dashboard when you call <code>PutDashboard</code> to create the copy.</p>"
"documentation":"<p>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.</p> <p>You can have up to 500 dashboards per account. All dashboards in your account are global, not region-specific.</p> <p>A simple way to create a dashboard using <code>PutDashboard</code> 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 <code>GetDashboard</code>, and then use the data returned within <code>DashboardBody</code> as the template for the new dashboard when you call <code>PutDashboard</code>.</p> <p>When you create a dashboard with <code>PutDashboard</code>, 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 <code>DashboardBody</code> script or the CloudFormation template used to create the dashboard.</p>"
},
"PutMetricAlarm":{
"name":"PutMetricAlarm",
@ -750,7 +750,7 @@
},
"StartTime":{
"shape":"Timestamp",
"documentation":"<p>The time stamp that determines the first data point to return. Start times are evaluated relative to the time that CloudWatch receives the request.</p> <p>The value specified is inclusive; results include data points with the specified time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z).</p> <p>CloudWatch rounds the specified time stamp as follows:</p> <ul> <li> <p>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.</p> </li> <li> <p>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.</p> </li> <li> <p>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.</p> </li> </ul>"
"documentation":"<p>The time stamp that determines the first data point to return. Start times are evaluated relative to the time that CloudWatch receives the request.</p> <p>The value specified is inclusive; results include data points with the specified time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z).</p> <p>CloudWatch rounds the specified time stamp as follows:</p> <ul> <li> <p>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.</p> </li> <li> <p>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.</p> </li> <li> <p>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.</p> </li> </ul> <p>If you set <code>Period</code> 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. </p>"
},
"EndTime":{
"shape":"Timestamp",
@ -758,7 +758,7 @@
},
"Period":{
"shape":"Period",
"documentation":"<p>The granularity, in seconds, of the returned data points. A period can be as short as one minute (60 seconds) and must be a multiple of 60. </p> <p>If the <code>StartTime</code> parameter specifies a time stamp that is greater than 15 days ago, you must specify the period as follows or no data points in that time range is returned:</p> <ul> <li> <p>Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).</p> </li> <li> <p>Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).</p> </li> </ul>"
"documentation":"<p>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 <code>PutMetricData</code> call that includes a <code>StorageResolution</code> of 1 second.</p> <p>If the <code>StartTime</code> 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:</p> <ul> <li> <p>Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).</p> </li> <li> <p>Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).</p> </li> <li> <p>Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).</p> </li> </ul>"
},
"Statistics":{
"shape":"Statistics",
@ -1092,7 +1092,7 @@
},
"EvaluateLowSampleCountPercentile":{
"shape":"EvaluateLowSampleCountPercentile",
"documentation":"<p>Used only for alarms based on percentiles. If <code>ignore</code>, the alarm state does not change during periods with too few data points to be statistically significant. If <code>evaluate</code> or this parameter is not used, the alarm will always be evaluated and possibly change state no matter how many data points are available.</p>"
"documentation":"<p>Used only for alarms based on percentiles. If <code>ignore</code>, the alarm state does not change during periods with too few data points to be statistically significant. If <code>evaluate</code> or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.</p>"
}
},
"documentation":"<p>Represents an alarm.</p>",
@ -1159,7 +1159,10 @@
"shape":"StandardUnit",
"documentation":"<p>The unit of the metric.</p>"
},
"StorageResolution":{"shape":"StorageResolution"}
"StorageResolution":{
"shape":"StorageResolution",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics\">High-Resolution Metrics</a> in the <i>Amazon CloudWatch User Guide</i>. </p> <p>This field is optional, if you do not specify it the default of 60 is used.</p>"
}
},
"documentation":"<p>Encapsulates the information sent to either create a metric or add new values to be aggregated into an existing metric.</p>"
},
@ -1209,7 +1212,7 @@
"members":{
"DashboardName":{
"shape":"DashboardName",
"documentation":"<p>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 \"_\".</p>"
"documentation":"<p>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 \"_\".</p>"
},
"DashboardBody":{
"shape":"DashboardBody",
@ -1284,7 +1287,7 @@
},
"Period":{
"shape":"Period",
"documentation":"<p>The period, in seconds, over which the specified statistic is applied. An alarm's total current evaluation period can be no longer than one day, so this number multiplied by <code>EvaluationPeriods</code> must be 86,400 or less.</p>"
"documentation":"<p>The period, in seconds, over which the specified statistic is applied. Valid values are 10, 30, and any multiple of 60.</p> <p>Be sure to specify 10 or 30 only for metrics that are stored by a <code>PutMetricData</code> call with a <code>StorageResolution</code> 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 <a href=\"https://aws.amazon.com/cloudwatch/pricing/\">Amazon CloudWatch Pricing</a>.</p> <p>An alarm's total current evaluation period can be no longer than one day, so <code>Period</code> multiplied by <code>EvaluationPeriods</code> cannot be more than 86,400 seconds.</p>"
},
"Unit":{
"shape":"StandardUnit",
@ -1292,7 +1295,7 @@
},
"EvaluationPeriods":{
"shape":"EvaluationPeriods",
"documentation":"<p>The number of periods over which data is compared to the specified threshold. An alarm's total current evaluation period can be no longer than one day, so this number multiplied by <code>Period</code> must be 86,400 or less.</p>"
"documentation":"<p>The number of periods over which data is compared to the specified threshold. An alarm's total current evaluation period can be no longer than one day, so this number multiplied by <code>Period</code> cannot be more than 86,400 seconds.</p>"
},
"Threshold":{
"shape":"Threshold",

View file

@ -565,6 +565,7 @@
"GOLANG",
"DOCKER",
"ANDROID",
"DOTNET",
"BASE"
]
},
@ -931,7 +932,8 @@
"CODECOMMIT",
"CODEPIPELINE",
"GITHUB",
"S3"
"S3",
"BITBUCKET"
]
},
"StartBuildInput":{

View file

@ -240,7 +240,10 @@
{"shape":"InvalidAutoRollbackConfigException"},
{"shape":"InvalidLoadBalancerInfoException"},
{"shape":"InvalidDeploymentStyleException"},
{"shape":"InvalidBlueGreenDeploymentConfigurationException"}
{"shape":"InvalidBlueGreenDeploymentConfigurationException"},
{"shape":"InvalidEC2TagCombinationException"},
{"shape":"InvalidOnPremisesTagCombinationException"},
{"shape":"TagSetListLimitExceededException"}
],
"documentation":"<p>Creates a deployment group to which application revisions will be deployed.</p>"
},
@ -683,7 +686,10 @@
{"shape":"InvalidAutoRollbackConfigException"},
{"shape":"InvalidLoadBalancerInfoException"},
{"shape":"InvalidDeploymentStyleException"},
{"shape":"InvalidBlueGreenDeploymentConfigurationException"}
{"shape":"InvalidBlueGreenDeploymentConfigurationException"},
{"shape":"InvalidEC2TagCombinationException"},
{"shape":"InvalidOnPremisesTagCombinationException"},
{"shape":"TagSetListLimitExceededException"}
],
"documentation":"<p>Changes information about a deployment group.</p>"
}
@ -1122,7 +1128,10 @@
},
"CreateDeploymentConfigInput":{
"type":"structure",
"required":["deploymentConfigName"],
"required":[
"deploymentConfigName",
"minimumHealthyHosts"
],
"members":{
"deploymentConfigName":{
"shape":"DeploymentConfigName",
@ -1167,11 +1176,11 @@
},
"ec2TagFilters":{
"shape":"EC2TagFilterList",
"documentation":"<p>The Amazon EC2 tags on which to filter. The deployment group will include EC2 instances with any of the specified tags.</p>"
"documentation":"<p>The Amazon EC2 tags on which to filter. The deployment group will include EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.</p>"
},
"onPremisesInstanceTagFilters":{
"shape":"TagFilterList",
"documentation":"<p>The on-premises instance tags on which to filter. The deployment group will include on-premises instances with any of the specified tags.</p>"
"documentation":"<p>The on-premises instance tags on which to filter. The deployment group will include on-premises instances with any of the specified tags. Cannot be used in the same call as OnPremisesTagSet.</p>"
},
"autoScalingGroups":{
"shape":"AutoScalingGroupNameList",
@ -1204,6 +1213,14 @@
"loadBalancerInfo":{
"shape":"LoadBalancerInfo",
"documentation":"<p>Information about the load balancer used in a deployment.</p>"
},
"ec2TagSet":{
"shape":"EC2TagSet",
"documentation":"<p>Information about groups of tags applied to EC2 instances. The deployment group will include only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.</p>"
},
"onPremisesTagSet":{
"shape":"OnPremisesTagSet",
"documentation":"<p>Information about groups of tags applied to on-premises instances. The deployment group will include only on-premises instances identified by all the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.</p>"
}
},
"documentation":"<p>Represents the input of a CreateDeploymentGroup operation.</p>"
@ -1450,11 +1467,11 @@
},
"ec2TagFilters":{
"shape":"EC2TagFilterList",
"documentation":"<p>The Amazon EC2 tags on which to filter.</p>"
"documentation":"<p>The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances with any of the specified tags.</p>"
},
"onPremisesInstanceTagFilters":{
"shape":"TagFilterList",
"documentation":"<p>The on-premises instance tags on which to filter.</p>"
"documentation":"<p>The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags.</p>"
},
"autoScalingGroups":{
"shape":"AutoScalingGroupList",
@ -1499,6 +1516,14 @@
"lastAttemptedDeployment":{
"shape":"LastDeploymentInfo",
"documentation":"<p>Information about the most recent attempted deployment to the deployment group.</p>"
},
"ec2TagSet":{
"shape":"EC2TagSet",
"documentation":"<p>Information about groups of tags applied to an EC2 instance. The deployment group includes only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.</p>"
},
"onPremisesTagSet":{
"shape":"OnPremisesTagSet",
"documentation":"<p>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.</p>"
}
},
"documentation":"<p>Information about a deployment group.</p>"
@ -1840,15 +1865,29 @@
"KEY_AND_VALUE"
]
},
"EC2TagSet":{
"type":"structure",
"members":{
"ec2TagSetList":{
"shape":"EC2TagSetList",
"documentation":"<p>A list containing other lists of EC2 instance tag groups. In order for an instance to be included in the deployment group, it must be identified by all the tag groups in the list.</p>"
}
},
"documentation":"<p>Information about groups of EC2 instance tags.</p>"
},
"EC2TagSetList":{
"type":"list",
"member":{"shape":"EC2TagFilterList"}
},
"ELBInfo":{
"type":"structure",
"members":{
"name":{
"shape":"ELBName",
"documentation":"<p>For blue/green deployments, the name of the load balancer that will be 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 completes.</p>"
"documentation":"<p>For blue/green deployments, the name of the load balancer that will be 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 completes.</p>"
}
},
"documentation":"<p>Information about a load balancer in Elastic Load Balancing to use in a deployment.</p>"
"documentation":"<p>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.</p>"
},
"ELBInfoList":{
"type":"list",
@ -2428,6 +2467,13 @@
"documentation":"<p>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\".</p>",
"exception":true
},
"InvalidEC2TagCombinationException":{
"type":"structure",
"members":{
},
"documentation":"<p>A call was submitted that specified both Ec2TagFilters and Ec2TagSet, but only one of these data types can be used in a single call.</p>",
"exception":true
},
"InvalidEC2TagException":{
"type":"structure",
"members":{
@ -2505,6 +2551,13 @@
"documentation":"<p>The next token was specified in an invalid format.</p>",
"exception":true
},
"InvalidOnPremisesTagCombinationException":{
"type":"structure",
"members":{
},
"documentation":"<p>A call was submitted that specified both OnPremisesTagFilters and OnPremisesTagSet, but only one of these data types can be used in a single call.</p>",
"exception":true
},
"InvalidOperationException":{
"type":"structure",
"members":{
@ -2942,10 +2995,14 @@
"members":{
"elbInfoList":{
"shape":"ELBInfoList",
"documentation":"<p>An array containing information about the load balancer in Elastic Load Balancing to use in a deployment.</p>"
"documentation":"<p>An array containing 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.</p>"
},
"targetGroupInfoList":{
"shape":"TargetGroupInfoList",
"documentation":"<p>An array containing 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.</p>"
}
},
"documentation":"<p>Information about the load balancer used in a deployment.</p>"
"documentation":"<p>Information about the Elastic Load Balancing load balancer or target group used in a deployment.</p>"
},
"LogTail":{"type":"string"},
"Message":{"type":"string"},
@ -2980,6 +3037,20 @@
},
"NextToken":{"type":"string"},
"NullableBoolean":{"type":"boolean"},
"OnPremisesTagSet":{
"type":"structure",
"members":{
"onPremisesTagSetList":{
"shape":"OnPremisesTagSetList",
"documentation":"<p>A list containing other lists of on-premises instance tag groups. In order for an instance to be included in the deployment group, it must be identified by all the tag groups in the list.</p>"
}
},
"documentation":"<p>Information about groups of on-premises instance tags.</p>"
},
"OnPremisesTagSetList":{
"type":"list",
"member":{"shape":"TagFilterList"}
},
"RegisterApplicationRevisionInput":{
"type":"structure",
"required":[
@ -3284,16 +3355,42 @@
"documentation":"<p>A tag was not specified.</p>",
"exception":true
},
"TagSetListLimitExceededException":{
"type":"structure",
"members":{
},
"documentation":"<p>The number of tag groups included in the tag set list exceeded the maximum allowed limit of 3.</p>",
"exception":true
},
"TargetGroupInfo":{
"type":"structure",
"members":{
"name":{
"shape":"TargetGroupName",
"documentation":"<p>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 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 completes. </p>"
}
},
"documentation":"<p>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.</p>"
},
"TargetGroupInfoList":{
"type":"list",
"member":{"shape":"TargetGroupInfo"}
},
"TargetGroupName":{"type":"string"},
"TargetInstances":{
"type":"structure",
"members":{
"tagFilters":{
"shape":"EC2TagFilterList",
"documentation":"<p>The tag filter key, type, and value used to identify Amazon EC2 instances in a replacement environment for a blue/green deployment.</p>"
"documentation":"<p>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.</p>"
},
"autoScalingGroups":{
"shape":"AutoScalingGroupNameList",
"documentation":"<p>The names of one or more Auto Scaling groups to identify a replacement environment for a blue/green deployment.</p>"
},
"ec2TagSet":{
"shape":"EC2TagSet",
"documentation":"<p>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.</p>"
}
},
"documentation":"<p>Information about the instances to be used in the replacement environment in a blue/green deployment.</p>"
@ -3446,6 +3543,14 @@
"loadBalancerInfo":{
"shape":"LoadBalancerInfo",
"documentation":"<p>Information about the load balancer used in a deployment.</p>"
},
"ec2TagSet":{
"shape":"EC2TagSet",
"documentation":"<p>Information about groups of tags applied to on-premises instances. The deployment group will include only EC2 instances identified by all the tag groups.</p>"
},
"onPremisesTagSet":{
"shape":"OnPremisesTagSet",
"documentation":"<p>Information about an on-premises instance tag set. The deployment group will include only on-premises instances identified by all the tag groups.</p>"
}
},
"documentation":"<p>Represents the input of an UpdateDeploymentGroup operation.</p>"

View file

@ -132,6 +132,25 @@
],
"documentation":"<p>Deletes the user attributes in a user pool as an administrator. Works on any user.</p> <p>Requires developer credentials.</p>"
},
"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":"<p>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 <code>DestinationUser</code>) signs in, they must create a new user account. See <a href=\"API_AdminLinkProviderForUser.html\">AdminLinkProviderForUser</a>.</p> <p>This action is enabled only for admin access and requires developer credentials.</p> <p>The <code>ProviderName</code> must match the value specified when creating an IdP for the pool. </p> <p>To disable a native username + password user, the <code>ProviderName</code> value must be <code>Cognito</code> and the <code>ProviderAttributeName</code> must be <code>Cognito_Subject</code>, with the <code>ProviderAttributeValue</code> being the name that is used in the user pool for the user.</p> <p>The <code>ProviderAttributeName</code> must always be <code>Cognito_Subject</code> for social identity providers. The <code>ProviderAttributeValue</code> must always be the exact subject that was used when the user was originally linked as a source user.</p> <p>For de-linking a SAML identity, there are two scenarios. If the linked identity has not yet been used to sign-in, the <code>ProviderAttributeName</code> and <code>ProviderAttributeValue</code> must be the same values that were used for the <code>SourceUser</code> when the identities were originally linked in the <a href=\"API_AdminLinkProviderForUser.html\">AdminLinkProviderForUser</a> call. (If the linking was done with <code>ProviderAttributeName</code> set to <code>Cognito_Subject</code>, the same applies here). However, if the user has already signed in, the <code>ProviderAttributeName</code> must be <code>Cognito_Subject</code> and <code>ProviderAttributeValue</code> must be the subject of the SAML assertion.</p>"
},
"AdminDisableUser":{
"name":"AdminDisableUser",
"http":{
@ -249,6 +268,25 @@
],
"documentation":"<p>Initiates the authentication flow, as an administrator.</p> <p>Requires developer credentials.</p>"
},
"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":"<p>Links an existing user account in a user pool (<code>DestinationUser</code>) to an identity from an external identity provider (<code>SourceUser</code>) 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. </p> <p> 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. </p> <important> <p>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.</p> </important> <p>See also <a href=\"API_AdminDisableProviderForUser.html\">AdminDisableProviderForUser</a>.</p> <p>This action is enabled only for admin access and requires developer credentials.</p>"
},
"AdminListDevices":{
"name":"AdminListDevices",
"http":{
@ -574,6 +612,24 @@
],
"documentation":"<p>Creates an identity provider for a user pool.</p>"
},
"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":"<p>Creates a new OAuth2.0 resource server and defines custom scopes in it.</p>"
},
"CreateUserImportJob":{
"name":"CreateUserImportJob",
"http":{
@ -683,6 +739,22 @@
],
"documentation":"<p>Deletes an identity provider for a user pool.</p>"
},
"DeleteResourceServer":{
"name":"DeleteResourceServer",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteResourceServerRequest"},
"errors":[
{"shape":"InvalidParameterException"},
{"shape":"ResourceNotFoundException"},
{"shape":"NotAuthorizedException"},
{"shape":"TooManyRequestsException"},
{"shape":"InternalErrorException"}
],
"documentation":"<p>Deletes a resource server.</p>"
},
"DeleteUser":{
"name":"DeleteUser",
"http":{
@ -700,7 +772,7 @@
{"shape":"UserNotConfirmedException"},
{"shape":"InternalErrorException"}
],
"documentation":"<p>Allows a user to delete one's self.</p>",
"documentation":"<p>Allows a user to delete himself or herself.</p>",
"authtype":"none"
},
"DeleteUserAttributes":{
@ -790,6 +862,23 @@
],
"documentation":"<p>Gets information about a specific identity provider.</p>"
},
"DescribeResourceServer":{
"name":"DescribeResourceServer",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeResourceServerRequest"},
"output":{"shape":"DescribeResourceServerResponse"},
"errors":[
{"shape":"InvalidParameterException"},
{"shape":"ResourceNotFoundException"},
{"shape":"NotAuthorizedException"},
{"shape":"TooManyRequestsException"},
{"shape":"InternalErrorException"}
],
"documentation":"<p>Describes a resource server.</p>"
},
"DescribeUserImportJob":{
"name":"DescribeUserImportJob",
"http":{
@ -978,6 +1067,23 @@
],
"documentation":"<p>Gets the specified identity provider.</p>"
},
"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":"<p>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 <code>clientId</code> will be <code>ALL</code>), then that is returned. If nothing is present, then an empty shape is returned.</p>"
},
"GetUser":{
"name":"GetUser",
"http":{
@ -1126,6 +1232,23 @@
],
"documentation":"<p>Lists information about all identity providers for a user pool.</p>"
},
"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":"<p>Lists the resource servers for a user pool.</p>"
},
"ListUserImportJobs":{
"name":"ListUserImportJobs",
"http":{
@ -1268,6 +1391,23 @@
],
"documentation":"<p>Responds to the authentication challenge.</p>"
},
"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":"<p>Sets the UI customization information for a user pool's built-in app UI.</p> <p>You can specify app UI customization settings for a single client (with a specific <code>clientId</code>) or for all clients (by setting the <code>clientId</code> to <code>ALL</code>). If you specify <code>ALL</code>, 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 <code>ALL</code> configuration. </p> <note> <p>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.</p> </note>"
},
"SetUserSettings":{
"name":"SetUserSettings",
"http":{
@ -1407,6 +1547,23 @@
],
"documentation":"<p>Updates identity provider information for a user pool.</p>"
},
"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":"<p>Updates the name and scopes of resource server. All other fields are read-only.</p>"
},
"UpdateUserAttributes":{
"name":"UpdateUserAttributes",
"http":{
@ -1642,7 +1799,7 @@
"members":{
"User":{
"shape":"UserType",
"documentation":"<p>The user returned in the request to create a new user.</p>"
"documentation":"<p>The newly created user.</p>"
}
},
"documentation":"<p>Represents the response from the server to the request to create the user.</p>"
@ -1699,6 +1856,28 @@
},
"documentation":"<p>Represents the request to delete a user as an administrator.</p>"
},
"AdminDisableProviderForUserRequest":{
"type":"structure",
"required":[
"UserPoolId",
"User"
],
"members":{
"UserPoolId":{
"shape":"StringType",
"documentation":"<p>The user pool ID for the user pool.</p>"
},
"User":{
"shape":"ProviderUserIdentifierType",
"documentation":"<p>The user to be disabled.</p>"
}
}
},
"AdminDisableProviderForUserResponse":{
"type":"structure",
"members":{
}
},
"AdminDisableUserRequest":{
"type":"structure",
"required":[
@ -1910,6 +2089,33 @@
},
"documentation":"<p>Initiates the authentication response, as an administrator.</p>"
},
"AdminLinkProviderForUserRequest":{
"type":"structure",
"required":[
"UserPoolId",
"DestinationUser",
"SourceUser"
],
"members":{
"UserPoolId":{
"shape":"StringType",
"documentation":"<p>The user pool ID for the user pool.</p>"
},
"DestinationUser":{
"shape":"ProviderUserIdentifierType",
"documentation":"<p>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.</p> <p>The <code>ProviderAttributeValue</code> for the <code>DestinationUser</code> must match the username for the user in the user pool. The <code>ProviderAttributeName</code> will always be ignored.</p>"
},
"SourceUser":{
"shape":"ProviderUserIdentifierType",
"documentation":"<p>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.</p> <p>If the <code>SourceUser</code> is a federated social identity provider user (Facebook, Google, or Login with Amazon), you must set the <code>ProviderAttributeName</code> to <code>Cognito_Subject</code>. For social identity providers, the <code>ProviderName</code> will be <code>Facebook</code>, <code>Google</code>, or <code>LoginWithAmazon</code>, and Cognito will automatically parse the Facebook, Google, and Login with Amazon tokens for <code>id</code>, <code>sub</code>, and <code>user_id</code>, respectively. The <code>ProviderAttributeValue</code> for the user must be the same value as the <code>id</code>, <code>sub</code>, or <code>user_id</code> value found in the social identity provider token.</p> <p/> <p>For SAML, the <code>ProviderAttributeName</code> 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 <code>ProviderAttributeName</code>. If you set <code>ProviderAttributeName</code> to <code>Cognito_Subject</code>, Cognito will automatically parse the default unique identifier found in the subject from the SAML token.</p>"
}
}
},
"AdminLinkProviderForUserResponse":{
"type":"structure",
"members":{
}
},
"AdminListDevicesRequest":{
"type":"structure",
"required":[
@ -2244,9 +2450,14 @@
"type":"list",
"member":{"shape":"AttributeType"}
},
"AttributeMappingKeyType":{
"type":"string",
"max":32,
"min":1
},
"AttributeMappingType":{
"type":"map",
"key":{"shape":"CustomAttributeNameType"},
"key":{"shape":"AttributeMappingKeyType"},
"value":{"shape":"StringType"}
},
"AttributeNameListType":{
@ -2325,6 +2536,8 @@
"documentation":"<p>The result type of the authentication result.</p>"
},
"BooleanType":{"type":"boolean"},
"CSSType":{"type":"string"},
"CSSVersionType":{"type":"string"},
"CallbackURLsListType":{
"type":"list",
"member":{"shape":"RedirectUrlType"},
@ -2524,7 +2737,7 @@
"members":{
"ClientId":{
"shape":"ClientIdType",
"documentation":"<p>The ID of the client associated with the user pool.</p>"
"documentation":"<p>The app client ID of the app associated with the user pool.</p>"
},
"SecretHash":{
"shape":"SecretHashType",
@ -2561,7 +2774,7 @@
"members":{
"ClientId":{
"shape":"ClientIdType",
"documentation":"<p>The ID of the client associated with the user pool.</p>"
"documentation":"<p>The ID of the app client associated with the user pool.</p>"
},
"SecretHash":{
"shape":"SecretHashType",
@ -2646,7 +2859,7 @@
"documentation":"<p>The user pool ID.</p>"
},
"ProviderName":{
"shape":"ProviderNameType",
"shape":"ProviderNameTypeV1",
"documentation":"<p>The identity provider name.</p>"
},
"ProviderType":{
@ -2677,6 +2890,42 @@
}
}
},
"CreateResourceServerRequest":{
"type":"structure",
"required":[
"UserPoolId",
"Identifier",
"Name"
],
"members":{
"UserPoolId":{
"shape":"UserPoolIdType",
"documentation":"<p>The user pool ID for the user pool.</p>"
},
"Identifier":{
"shape":"ResourceServerIdentifierType",
"documentation":"<p>A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example, <code>https://my-weather-api.example.com</code>.</p>"
},
"Name":{
"shape":"ResourceServerNameType",
"documentation":"<p>A friendly name for the resource server.</p>"
},
"Scopes":{
"shape":"ResourceServerScopeListType",
"documentation":"<p>A list of scopes. Each scope is map, where the keys are <code>name</code> and <code>description</code>.</p>"
}
}
},
"CreateResourceServerResponse":{
"type":"structure",
"required":["ResourceServer"],
"members":{
"ResourceServer":{
"shape":"ResourceServerType",
"documentation":"<p>The newly created resource server.</p>"
}
}
},
"CreateUserImportJobRequest":{
"type":"structure",
"required":[
@ -2848,6 +3097,10 @@
"shape":"EmailVerificationSubjectType",
"documentation":"<p>A string representing the email verification subject.</p>"
},
"VerificationMessageTemplate":{
"shape":"VerificationMessageTemplateType",
"documentation":"<p>The template for the verification message that the user sees when the app requests permission to access the user's information.</p>"
},
"SmsAuthenticationMessage":{
"shape":"SmsVerificationMessageType",
"documentation":"<p>A string representing the SMS authentication message.</p>"
@ -2906,6 +3159,13 @@
"min":1
},
"DateType":{"type":"timestamp"},
"DefaultEmailOptionType":{
"type":"string",
"enum":[
"CONFIRM_WITH_LINK",
"CONFIRM_WITH_CODE"
]
},
"DeleteGroupRequest":{
"type":"structure",
"required":[
@ -2940,6 +3200,23 @@
}
}
},
"DeleteResourceServerRequest":{
"type":"structure",
"required":[
"UserPoolId",
"Identifier"
],
"members":{
"UserPoolId":{
"shape":"UserPoolIdType",
"documentation":"<p>The user pool ID for the user pool that hosts the resource server.</p>"
},
"Identifier":{
"shape":"ResourceServerIdentifierType",
"documentation":"<p>The identifier for the resource server.</p>"
}
}
},
"DeleteUserAttributesRequest":{
"type":"structure",
"required":[
@ -2977,7 +3254,7 @@
},
"ClientId":{
"shape":"ClientIdType",
"documentation":"<p>The ID of the client associated with the user pool.</p>"
"documentation":"<p>The app client ID of the app associated with the user pool.</p>"
}
},
"documentation":"<p>Represents the request to delete a user pool client.</p>"
@ -3064,6 +3341,33 @@
}
}
},
"DescribeResourceServerRequest":{
"type":"structure",
"required":[
"UserPoolId",
"Identifier"
],
"members":{
"UserPoolId":{
"shape":"UserPoolIdType",
"documentation":"<p>The user pool ID for the user pool that hosts the resource server.</p>"
},
"Identifier":{
"shape":"ResourceServerIdentifierType",
"documentation":"<p>The identifier for the resource server</p>"
}
}
},
"DescribeResourceServerResponse":{
"type":"structure",
"required":["ResourceServer"],
"members":{
"ResourceServer":{
"shape":"ResourceServerType",
"documentation":"<p>The resource server.</p>"
}
}
},
"DescribeUserImportJobRequest":{
"type":"structure",
"required":[
@ -3105,7 +3409,7 @@
},
"ClientId":{
"shape":"ClientIdType",
"documentation":"<p>The ID of the client associated with the user pool.</p>"
"documentation":"<p>The app client ID of the app associated with the user pool.</p>"
}
},
"documentation":"<p>Represents the request to describe a user pool client.</p>"
@ -3280,13 +3584,15 @@
"CREATING",
"DELETING",
"UPDATING",
"ACTIVE"
"ACTIVE",
"FAILED"
]
},
"DomainType":{
"type":"string",
"max":1024,
"min":1
"max":63,
"min":1,
"pattern":"^[a-z0-9](?:[a-z0-9\\-]{0,61}[a-z0-9])?$"
},
"DomainVersionType":{
"type":"string",
@ -3319,12 +3625,24 @@
},
"documentation":"<p>The email configuration type.</p>"
},
"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":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,
@ -3506,6 +3824,30 @@
}
}
},
"GetUICustomizationRequest":{
"type":"structure",
"required":["UserPoolId"],
"members":{
"UserPoolId":{
"shape":"UserPoolIdType",
"documentation":"<p>The user pool ID for the user pool.</p>"
},
"ClientId":{
"shape":"ClientIdType",
"documentation":"<p>The client ID for the client app.</p>"
}
}
},
"GetUICustomizationResponse":{
"type":"structure",
"required":["UICustomization"],
"members":{
"UICustomization":{
"shape":"UICustomizationType",
"documentation":"<p>The UI customization information.</p>"
}
}
},
"GetUserAttributeVerificationCodeRequest":{
"type":"structure",
"required":[
@ -3676,7 +4018,12 @@
},
"IdentityProviderTypeType":{
"type":"string",
"enum":["SAML"]
"enum":[
"SAML",
"Facebook",
"Google",
"LoginWithAmazon"
]
},
"IdpIdentifierType":{
"type":"string",
@ -3690,6 +4037,8 @@
"max":50,
"min":0
},
"ImageFileType":{"type":"blob"},
"ImageUrlType":{"type":"string"},
"InitiateAuthRequest":{
"type":"structure",
"required":[
@ -3990,6 +4339,43 @@
"max":60,
"min":1
},
"ListResourceServersLimitType":{
"type":"integer",
"max":50,
"min":1
},
"ListResourceServersRequest":{
"type":"structure",
"required":["UserPoolId"],
"members":{
"UserPoolId":{
"shape":"UserPoolIdType",
"documentation":"<p>The user pool ID for the user pool.</p>"
},
"MaxResults":{
"shape":"ListResourceServersLimitType",
"documentation":"<p>The maximum number of resource servers to return.</p>"
},
"NextToken":{
"shape":"PaginationKeyType",
"documentation":"<p>A pagination token.</p>"
}
}
},
"ListResourceServersResponse":{
"type":"structure",
"required":["ResourceServers"],
"members":{
"ResourceServers":{
"shape":"ResourceServersListType",
"documentation":"<p>The resource servers.</p>"
},
"NextToken":{
"shape":"PaginationKeyType",
"documentation":"<p>A pagination token.</p>"
}
}
},
"ListUserImportJobsRequest":{
"type":"structure",
"required":[
@ -4399,6 +4785,30 @@
"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":"<p>The name of the provider, for example, Facebook, Google, or Login with Amazon.</p>"
},
"ProviderAttributeName":{
"shape":"StringType",
"documentation":"<p>The name of the provider attribute to link to, for example, <code>NameID</code>.</p>"
},
"ProviderAttributeValue":{
"shape":"StringType",
"documentation":"<p>The value of the provider attribute to link to, for example, <code>xxxxx_account</code>.</p>"
}
},
"documentation":"<p>A container for information about an identity provider for a user pool.</p>"
},
"ProvidersListType":{
"type":"list",
"member":{"shape":"ProviderDescription"},
@ -4469,6 +4879,78 @@
"documentation":"<p>This exception is thrown when the Amazon Cognito service cannot find the requested resource.</p>",
"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":25
},
"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":"<p>The name of the scope.</p>"
},
"ScopeDescription":{
"shape":"ResourceServerScopeDescriptionType",
"documentation":"<p>A description of the scope.</p>"
}
},
"documentation":"<p>A resource server scope.</p>"
},
"ResourceServerType":{
"type":"structure",
"members":{
"UserPoolId":{
"shape":"UserPoolIdType",
"documentation":"<p>The user pool ID for the user pool that hosts the resource server.</p>"
},
"Identifier":{
"shape":"ResourceServerIdentifierType",
"documentation":"<p>The identifier for the resource server.</p>"
},
"Name":{
"shape":"ResourceServerNameType",
"documentation":"<p>The name of the resource server.</p>"
},
"Scopes":{
"shape":"ResourceServerScopeListType",
"documentation":"<p>A list of scopes that are defined for the resource server.</p>"
}
},
"documentation":"<p>A container for information about a resource server for a user pool.</p>"
},
"ResourceServersListType":{
"type":"list",
"member":{"shape":"ResourceServerType"}
},
"RespondToAuthChallengeRequest":{
"type":"structure",
"required":[
@ -4576,7 +5058,8 @@
},
"ScopeListType":{
"type":"list",
"member":{"shape":"ScopeType"}
"member":{"shape":"ScopeType"},
"max":25
},
"ScopeType":{
"type":"string",
@ -4605,6 +5088,38 @@
"max":2048,
"min":20
},
"SetUICustomizationRequest":{
"type":"structure",
"required":["UserPoolId"],
"members":{
"UserPoolId":{
"shape":"UserPoolIdType",
"documentation":"<p>The user pool ID for the user pool.</p>"
},
"ClientId":{
"shape":"ClientIdType",
"documentation":"<p>The client ID for the client app.</p>"
},
"CSS":{
"shape":"CSSType",
"documentation":"<p>The CSS values in the UI customization.</p>"
},
"ImageFile":{
"shape":"ImageFileType",
"documentation":"<p>The uploaded logo image for the UI customization.</p>"
}
}
},
"SetUICustomizationResponse":{
"type":"structure",
"required":["UICustomization"],
"members":{
"UICustomization":{
"shape":"UICustomizationType",
"documentation":"<p>The UI customization information.</p>"
}
}
},
"SetUserSettingsRequest":{
"type":"structure",
"required":[
@ -4816,6 +5331,40 @@
"documentation":"<p>This exception is thrown when the user has made too many requests for a given operation.</p>",
"exception":true
},
"UICustomizationType":{
"type":"structure",
"members":{
"UserPoolId":{
"shape":"UserPoolIdType",
"documentation":"<p>The user pool ID for the user pool.</p>"
},
"ClientId":{
"shape":"ClientIdType",
"documentation":"<p>The client ID for the client app.</p>"
},
"ImageUrl":{
"shape":"ImageUrlType",
"documentation":"<p>The logo image for the UI customization.</p>"
},
"CSS":{
"shape":"CSSType",
"documentation":"<p>The CSS values in the UI customization.</p>"
},
"CSSVersion":{
"shape":"CSSVersionType",
"documentation":"<p>The CSS version number.</p>"
},
"LastModifiedDate":{
"shape":"DateType",
"documentation":"<p>The last-modified date for the UI customization.</p>"
},
"CreationDate":{
"shape":"DateType",
"documentation":"<p>The creation date for the UI customization.</p>"
}
},
"documentation":"<p>A container for the UI customization information for a user pool's built-in app UI.</p>"
},
"UnexpectedLambdaException":{
"type":"structure",
"members":{
@ -4951,6 +5500,42 @@
}
}
},
"UpdateResourceServerRequest":{
"type":"structure",
"required":[
"UserPoolId",
"Identifier",
"Name"
],
"members":{
"UserPoolId":{
"shape":"UserPoolIdType",
"documentation":"<p>The user pool ID for the user pool.</p>"
},
"Identifier":{
"shape":"ResourceServerIdentifierType",
"documentation":"<p>The identifier for the resource server.</p>"
},
"Name":{
"shape":"ResourceServerNameType",
"documentation":"<p>The name of the resource server.</p>"
},
"Scopes":{
"shape":"ResourceServerScopeListType",
"documentation":"<p>The scope values to be set for the resource server.</p>"
}
}
},
"UpdateResourceServerResponse":{
"type":"structure",
"required":["ResourceServer"],
"members":{
"ResourceServer":{
"shape":"ResourceServerType",
"documentation":"<p>The resource server.</p>"
}
}
},
"UpdateUserAttributesRequest":{
"type":"structure",
"required":[
@ -5024,7 +5609,7 @@
},
"LogoutURLs":{
"shape":"LogoutURLsListType",
"documentation":"<p>A list ofallowed logout URLs for the identity providers.</p>"
"documentation":"<p>A list of allowed logout URLs for the identity providers.</p>"
},
"DefaultRedirectURI":{
"shape":"RedirectUrlType",
@ -5087,6 +5672,10 @@
"shape":"EmailVerificationSubjectType",
"documentation":"<p>The subject of the email verification message.</p>"
},
"VerificationMessageTemplate":{
"shape":"VerificationMessageTemplateType",
"documentation":"<p>The template for verification messages.</p>"
},
"SmsAuthenticationMessage":{
"shape":"SmsVerificationMessageType",
"documentation":"<p>The contents of the SMS authentication message.</p>"
@ -5336,7 +5925,7 @@
},
"LogoutURLs":{
"shape":"LogoutURLsListType",
"documentation":"<p>A list ofallowed logout URLs for the identity providers.</p>"
"documentation":"<p>A list of allowed logout URLs for the identity providers.</p>"
},
"DefaultRedirectURI":{
"shape":"RedirectUrlType",
@ -5356,7 +5945,7 @@
"box":true
}
},
"documentation":"<p>A user pool of the client type.</p>"
"documentation":"<p>Contains information about a user pool client.</p>"
},
"UserPoolDescriptionType":{
"type":"structure",
@ -5494,6 +6083,10 @@
"shape":"EmailVerificationSubjectType",
"documentation":"<p>The subject of the email verification message.</p>"
},
"VerificationMessageTemplate":{
"shape":"VerificationMessageTemplateType",
"documentation":"<p>The template for verification messages.</p>"
},
"SmsAuthenticationMessage":{
"shape":"SmsVerificationMessageType",
"documentation":"<p>The contents of the SMS authentication message.</p>"
@ -5616,6 +6209,36 @@
"type":"list",
"member":{"shape":"UserType"}
},
"VerificationMessageTemplateType":{
"type":"structure",
"members":{
"SmsMessage":{
"shape":"SmsVerificationMessageType",
"documentation":"<p>The SMS message template.</p>"
},
"EmailMessage":{
"shape":"EmailVerificationMessageType",
"documentation":"<p>The email message template.</p>"
},
"EmailSubject":{
"shape":"EmailVerificationSubjectType",
"documentation":"<p>The subject line for the email message template.</p>"
},
"EmailMessageByLink":{
"shape":"EmailVerificationMessageByLinkType",
"documentation":"<p>The email message template for sending a confirmation link to the user.</p>"
},
"EmailSubjectByLink":{
"shape":"EmailVerificationSubjectByLinkType",
"documentation":"<p>The subject line for the email message template for sending a confirmation link to the user.</p>"
},
"DefaultEmailOption":{
"shape":"DefaultEmailOptionType",
"documentation":"<p>The default email option.</p>"
}
},
"documentation":"<p>The template for verification messages.</p>"
},
"VerifiedAttributeType":{
"type":"string",
"enum":[

View file

@ -239,6 +239,21 @@
],
"documentation":"<p>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.</p>"
},
"GetDiscoveredResourceCounts":{
"name":"GetDiscoveredResourceCounts",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetDiscoveredResourceCountsRequest"},
"output":{"shape":"GetDiscoveredResourceCountsResponse"},
"errors":[
{"shape":"ValidationException"},
{"shape":"InvalidLimitException"},
{"shape":"InvalidNextTokenException"}
],
"documentation":"<p>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. </p> <p class=\"title\"> <b>Example</b> </p> <ol> <li> <p>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.</p> </li> <li> <p>You make a call to the <code>GetDiscoveredResourceCounts</code> action and specify that you want all resource types. </p> </li> <li> <p>AWS Config returns the following:</p> <ul> <li> <p>The resource types (EC2 instances, IAM users, and S3 buckets)</p> </li> <li> <p>The number of each resource type (25, 20, and 15)</p> </li> <li> <p>The total number of all resources (60)</p> </li> </ul> </li> </ol> <p>The response is paginated. By default, AWS Config lists 100 <a>ResourceCount</a> objects on each page. You can customize this number with the <code>limit</code> parameter. The response includes a <code>nextToken</code> string. To get the next page of results, run the request again and specify the string for the <code>nextToken</code> parameter.</p> <note> <p>If you make a call to the <a>GetDiscoveredResourceCounts</a> action, you may not immediately receive resource counts in the following situations:</p> <ul> <li> <p>You are a new AWS Config customer</p> </li> <li> <p>You just enabled resource recording</p> </li> </ul> <p>It may take a few minutes for AWS Config to record and count your resources. Wait a few minutes and then retry the <a>GetDiscoveredResourceCounts</a> action. </p> </note>"
},
"GetResourceConfigHistory":{
"name":"GetResourceConfigHistory",
"http":{
@ -255,7 +270,7 @@
{"shape":"NoAvailableConfigurationRecorderException"},
{"shape":"ResourceNotDiscoveredException"}
],
"documentation":"<p>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.</p> <p>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 <code>limit</code> parameter. The response includes a <code>nextToken</code> string, and to get the next page of results, run the request again and enter this string for the <code>nextToken</code> parameter.</p> <note> <p>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 <code>limit</code>. In such cases, you can make another call, using the <code>nextToken</code>.</p> </note>"
"documentation":"<p>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.</p> <p>The response is paginated. By default, AWS Config returns a limit of 10 configuration items per page. You can customize this number with the <code>limit</code> parameter. The response includes a <code>nextToken</code> string. To get the next page of results, run the request again and specify the string for the <code>nextToken</code> parameter.</p> <note> <p>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 <code>limit</code>. In such cases, you can make another call, using the <code>nextToken</code>.</p> </note>"
},
"ListDiscoveredResources":{
"name":"ListDiscoveredResources",
@ -271,7 +286,7 @@
{"shape":"InvalidNextTokenException"},
{"shape":"NoAvailableConfigurationRecorderException"}
],
"documentation":"<p>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.</p> <note> <p>You can specify either resource IDs or a resource name but not both in the same request.</p> </note> <p>The response is paginated, and by default AWS Config lists 100 resource identifiers on each page. You can customize this number with the <code>limit</code> parameter. The response includes a <code>nextToken</code> string, and to get the next page of results, run the request again and enter this string for the <code>nextToken</code> parameter.</p>"
"documentation":"<p>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.</p> <note> <p>You can specify either resource IDs or a resource name but not both in the same request.</p> </note> <p>The response is paginated. By default, AWS Config lists 100 resource identifiers on each page. You can customize this number with the <code>limit</code> parameter. The response includes a <code>nextToken</code> string. To get the next page of results, run the request again and specify the string for the <code>nextToken</code> parameter.</p>"
},
"PutConfigRule":{
"name":"PutConfigRule",
@ -1437,6 +1452,40 @@
},
"documentation":"<p/>"
},
"GetDiscoveredResourceCountsRequest":{
"type":"structure",
"members":{
"resourceTypes":{
"shape":"ResourceTypes",
"documentation":"<p>The comma-separated list that specifies the resource types that you want the AWS Config to return. For example, (<code>\"AWS::EC2::Instance\"</code>, <code>\"AWS::IAM::User\"</code>).</p> <p>If a value for <code>resourceTypes</code> is not specified, AWS Config returns all resource types that AWS Config is recording in the region for your account.</p> <note> <p>If the configuration recorder is turned off, AWS Config returns an empty list of <a>ResourceCount</a> 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 <a>ResourceCount</a> objects.</p> </note>"
},
"limit":{
"shape":"Limit",
"documentation":"<p>The maximum number of <a>ResourceCount</a> objects 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.</p>"
},
"nextToken":{
"shape":"NextToken",
"documentation":"<p>The <code>nextToken</code> string returned on a previous page that you use to get the next page of results in a paginated response.</p>"
}
}
},
"GetDiscoveredResourceCountsResponse":{
"type":"structure",
"members":{
"totalDiscoveredResources":{
"shape":"Long",
"documentation":"<p>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.</p> <p class=\"title\"> <b>Example</b> </p> <ol> <li> <p>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.</p> </li> <li> <p>You make a call to the <code>GetDiscoveredResourceCounts</code> action and specify the resource type, <code>\"AWS::EC2::Instances\"</code> in the request.</p> </li> <li> <p>AWS Config returns 25 for <code>totalDiscoveredResources</code>.</p> </li> </ol>"
},
"resourceCounts":{
"shape":"ResourceCounts",
"documentation":"<p>The list of <code>ResourceCount</code> objects. Each object is listed in descending order by the number of resources.</p>"
},
"nextToken":{
"shape":"NextToken",
"documentation":"<p>The string that you use in a subsequent request to get the next page of results in a paginated response.</p>"
}
}
},
"GetResourceConfigHistoryRequest":{
"type":"structure",
"required":[
@ -1647,6 +1696,7 @@
},
"documentation":"<p/>"
},
"Long":{"type":"long"},
"MaxNumberOfConfigRulesExceededException":{
"type":"structure",
"members":{
@ -1876,6 +1926,24 @@
"member":{"shape":"Relationship"}
},
"RelationshipName":{"type":"string"},
"ResourceCount":{
"type":"structure",
"members":{
"resourceType":{
"shape":"ResourceType",
"documentation":"<p>The resource type, for example <code>\"AWS::EC2::Instance\"</code>.</p>"
},
"count":{
"shape":"Long",
"documentation":"<p>The number of resources.</p>"
}
},
"documentation":"<p>An object that contains the resource type and the number of resources.</p>"
},
"ResourceCounts":{
"type":"list",
"member":{"shape":"ResourceCount"}
},
"ResourceCreationTime":{"type":"timestamp"},
"ResourceDeletionTime":{"type":"timestamp"},
"ResourceId":{"type":"string"},
@ -1961,7 +2029,8 @@
"AWS::Redshift::ClusterSecurityGroup",
"AWS::Redshift::ClusterSubnetGroup",
"AWS::Redshift::EventSubscription",
"AWS::CloudWatch::Alarm"
"AWS::CloudWatch::Alarm",
"AWS::CloudFormation::Stack"
]
},
"ResourceTypeList":{
@ -2014,7 +2083,7 @@
},
"SourceIdentifier":{
"shape":"StringWithCharLimit256",
"documentation":"<p>For AWS Config managed rules, a predefined identifier from a list. For example, <code>IAM_PASSWORD_POLICY</code> is a managed rule. To reference a managed rule, see <a href=\"http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html\">Using AWS Managed Config Rules</a>.</p> <p>For custom rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as <code>arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name</code>.</p>"
"documentation":"<p>For AWS Config managed rules, a predefined identifier from a list. For example, <code>IAM_PASSWORD_POLICY</code> is a managed rule. To reference a managed rule, see <a href=\"http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html\">Using AWS Managed Config Rules</a>.</p> <p>For custom rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as <code>arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name</code>.</p>"
},
"SourceDetails":{
"shape":"SourceDetails",

20
botocore/data/dynamodb/2012-08-10/service-2.json Executable file → Normal file
View file

@ -189,7 +189,7 @@
{"shape":"ItemCollectionSizeLimitExceededException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>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.</p> <p>In addition to putting an item, you can also return the item's attribute values in the same operation, using the <code>ReturnValues</code> parameter.</p> <p>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 <code>ValidationException</code> exception.</p> <note> <p>To prevent a new item from replacing an existing item, use a conditional expression that contains the <code>attribute_not_exists</code> function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the <code>attribute_not_exists</code> function will only succeed if no matching item exists.</p> </note> <p>For more information about <code>PutItem</code>, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html\">Working with Items</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>"
"documentation":"<p>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 <code>ReturnValues</code> parameter.</p> <important> <p>This topic provides general information about the <code>PutItem</code> API.</p> <p>For information on how to call the <code>PutItem</code> API using the AWS SDK in specific languages, see the following:</p> <ul> <li> <p> <a href=\"http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem\"> PutItem in the AWS Command Line Interface </a> </p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem\"> PutItem in the AWS SDK for .NET </a> </p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem\"> PutItem in the AWS SDK for C++ </a> </p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem\"> PutItem in the AWS SDK for Go </a> </p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem\"> PutItem in the AWS SDK for Java </a> </p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem\"> PutItem in the AWS SDK for JavaScript </a> </p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem\"> PutItem in the AWS SDK for PHP V3 </a> </p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem\"> PutItem in the AWS SDK for Python </a> </p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem\"> PutItem in the AWS SDK for Ruby V2 </a> </p> </li> </ul> </important> <p>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 <code>ValidationException</code> exception.</p> <note> <p>To prevent a new item from replacing an existing item, use a conditional expression that contains the <code>attribute_not_exists</code> function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the <code>attribute_not_exists</code> function will only succeed if no matching item exists.</p> </note> <p>For more information about <code>PutItem</code>, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html\">Working with Items</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>"
},
"Query":{
"name":"Query",
@ -204,7 +204,7 @@
{"shape":"ResourceNotFoundException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>A <code>Query</code> operation uses the primary key of a table or a secondary index to directly access items from that table or index.</p> <p>Use the <code>KeyConditionExpression</code> parameter to provide a specific value for the partition key. The <code>Query</code> 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 <code>Query</code> operation by specifying a sort key value and a comparison operator in <code>KeyConditionExpression</code>. You can use the <code>ScanIndexForward</code> parameter to get results in forward or reverse order, by sort key.</p> <p>Queries that do not return results consume the minimum number of read capacity units for that type of read operation.</p> <p>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 <code>LastEvaluatedKey</code> element to continue the query in a subsequent operation. Unlike a <code>Scan</code> operation, a <code>Query</code> operation never returns both an empty result set and a <code>LastEvaluatedKey</code> value. <code>LastEvaluatedKey</code> is only provided if you have used the <code>Limit</code> parameter, or if the result set exceeds 1 MB (prior to applying a filter). </p> <p>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 <code>ConsistentRead</code> parameter to <code>true</code> and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify <code>ConsistentRead</code> when querying a global secondary index.</p>"
"documentation":"<p>The <code>Query</code> 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). </p> <p>Use the <code>KeyConditionExpression</code> parameter to provide a specific value for the partition key. The <code>Query</code> 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 <code>Query</code> operation by specifying a sort key value and a comparison operator in <code>KeyConditionExpression</code>. To further refine the <code>Query</code> results, you can optionally provide a <code>FilterExpression</code>. A <code>FilterExpression</code> determines which items within the results should be returned to you. All of the other results are discarded. </p> <p> A <code>Query</code> 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. </p> <note> <p> 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 <code>FilterExpression</code>. </p> </note> <p> <code>Query</code> 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 <code>ScanIndexForward</code> parameter to false. </p> <p> A single <code>Query</code> operation will read up to the maximum number of items set (if using the <code>Limit</code> parameter) or a maximum of 1 MB of data and then apply any filtering to the results using <code>FilterExpression</code>. If <code>LastEvaluatedKey</code> is present in the response, you will need to paginate the result set. For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination\">Paginating the Results</a> in the <i>Amazon DynamoDB Developer Guide</i>. </p> <p> <code>FilterExpression</code> is applied after a <code>Query</code> finishes, but before the results are returned. A <code>FilterExpression</code> cannot contain partition key or sort key attributes. You need to specify those attributes in the <code>KeyConditionExpression</code>. </p> <note> <p> A <code>Query</code> operation can return an empty result set and a <code>LastEvaluatedKey</code> if all the items read for the page of results are filtered out. </p> </note> <p>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 <code>ConsistentRead</code> parameter to <code>true</code> and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify <code>ConsistentRead</code> when querying a global secondary index.</p>"
},
"Scan":{
"name":"Scan",
@ -219,7 +219,7 @@
{"shape":"ResourceNotFoundException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>The <code>Scan</code> 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 <code>FilterExpression</code> operation.</p> <p>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 <code>LastEvaluatedKey</code> 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. </p> <p>By default, <code>Scan</code> operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel <code>Scan</code> operation by providing the <code>Segment</code> and <code>TotalSegments</code> parameters. For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#QueryAndScanParallelScan\">Parallel Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p> <p>By default, <code>Scan</code> 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 <code>ConsistentRead</code> parameter to <code>true</code>.</p>"
"documentation":"<p>The <code>Scan</code> 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 <code>FilterExpression</code> operation.</p> <p>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 <code>LastEvaluatedKey</code> 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. </p> <p>A single <code>Scan</code> operation will read up to the maximum number of items set (if using the <code>Limit</code> parameter) or a maximum of 1 MB of data and then apply any filtering to the results using <code>FilterExpression</code>. If <code>LastEvaluatedKey</code> is present in the response, you will need to paginate the result set. For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination\">Paginating the Results</a> in the <i>Amazon DynamoDB Developer Guide</i>. </p> <p> <code>Scan</code> operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel <code>Scan</code> operation by providing the <code>Segment</code> and <code>TotalSegments</code> parameters. For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan\">Parallel Scan</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p> <p> <code>Scan</code> 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 <code>Scan</code> begins, you can set the <code>ConsistentRead</code> parameter to <code>true</code>.</p>"
},
"TagResource":{
"name":"TagResource",
@ -298,7 +298,7 @@
{"shape":"LimitExceededException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>Specify the lifetime of individual table items. The database automatically removes the item at the expiration of the item. The UpdateTimeToLive method will enable or disable TTL for the specified table. A successful <code>UpdateTimeToLive</code> call returns the current <code>TimeToLiveSpecification</code>; it may take up to one hour for the change to fully process. </p> <p>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.</p> <note> <p> The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1st, 1970 UTC. </p> </note> <p>DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations. </p> <important> <p>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.</p> </important> <p>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.</p> <p>For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html\">Time To Live</a> in the Amazon DynamoDB Developer Guide. </p>"
"documentation":"<p>The UpdateTimeToLive method will enable or disable TTL for the specified table. A successful <code>UpdateTimeToLive</code> call returns the current <code>TimeToLiveSpecification</code>; it may take up to one hour for the change to fully process. Any additional <code>UpdateTimeToLive</code> calls for the same table during this one hour duration result in a <code>ValidationException</code>. </p> <p>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.</p> <note> <p> The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1st, 1970 UTC. </p> </note> <p>DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations. </p> <important> <p>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.</p> </important> <p>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.</p> <p>For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html\">Time To Live</a> in the Amazon DynamoDB Developer Guide. </p>"
}
},
"shapes":{
@ -464,7 +464,7 @@
"members":{
"RequestItems":{
"shape":"BatchWriteItemRequestMap",
"documentation":"<p>A map of one or more table names and, for each table, a list of operations to be performed (<code>DeleteRequest</code> or <code>PutRequest</code>). Each element in the map consists of the following:</p> <ul> <li> <p> <code>DeleteRequest</code> - Perform a <code>DeleteItem</code> operation on the specified item. The item to be deleted is identified by a <code>Key</code> subelement:</p> <ul> <li> <p> <code>Key</code> - 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 <i>all</i> 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 <i>both</i> the partition key and the sort key.</p> </li> </ul> </li> <li> <p> <code>PutRequest</code> - Perform a <code>PutItem</code> operation on the specified item. The item to be put is identified by an <code>Item</code> subelement:</p> <ul> <li> <p> <code>Item</code> - 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 <code>ValidationException</code> exception.</p> <p>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.</p> </li> </ul> </li> </ul>"
"documentation":"<p>A map of one or more table names and, for each table, a list of operations to be performed (<code>DeleteRequest</code> or <code>PutRequest</code>). Each element in the map consists of the following:</p> <ul> <li> <p> <code>DeleteRequest</code> - Perform a <code>DeleteItem</code> operation on the specified item. The item to be deleted is identified by a <code>Key</code> subelement:</p> <ul> <li> <p> <code>Key</code> - 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 <i>all</i> 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 <i>both</i> the partition key and the sort key.</p> </li> </ul> </li> <li> <p> <code>PutRequest</code> - Perform a <code>PutItem</code> operation on the specified item. The item to be put is identified by an <code>Item</code> subelement:</p> <ul> <li> <p> <code>Item</code> - 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 <code>ValidationException</code> exception.</p> <p>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.</p> </li> </ul> </li> </ul>"
},
"ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"},
"ReturnItemCollectionMetrics":{
@ -707,7 +707,7 @@
},
"Expected":{
"shape":"ExpectedAttributeMap",
"documentation":"<p>This is a legacy parameter. Use <code>ConditionExpresssion</code> instead. For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html\">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>"
"documentation":"<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html\">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>"
},
"ConditionalOperator":{
"shape":"ConditionalOperator",
@ -1468,7 +1468,7 @@
},
"Expected":{
"shape":"ExpectedAttributeMap",
"documentation":"<p>This is a legacy parameter. Use <code>ConditionExpresssion</code> instead. For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html\">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>"
"documentation":"<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html\">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>"
},
"ReturnValues":{
"shape":"ReturnValue",
@ -2082,7 +2082,7 @@
},
"Expected":{
"shape":"ExpectedAttributeMap",
"documentation":"<p>This is a legacy parameter. Use <code>ConditionExpresssion</code> instead. For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html\">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>"
"documentation":"<p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html\">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>"
},
"ConditionalOperator":{
"shape":"ConditionalOperator",
@ -2090,7 +2090,7 @@
},
"ReturnValues":{
"shape":"ReturnValue",
"documentation":"<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appeared either before or after they were updated. For <code>UpdateItem</code>, the valid values are:</p> <ul> <li> <p> <code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p> </li> <li> <p> <code>ALL_OLD</code> - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.</p> </li> <li> <p> <code>UPDATED_OLD</code> - Returns only the updated attributes, as they appeared before the UpdateItem operation.</p> </li> <li> <p> <code>ALL_NEW</code> - Returns all of the attributes of the item, as they appear after the UpdateItem operation.</p> </li> <li> <p> <code>UPDATED_NEW</code> - Returns only the updated attributes, as they appear after the UpdateItem operation.</p> </li> </ul> <p>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.</p> <p>Values returned are strongly consistent</p>"
"documentation":"<p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are updated. For <code>UpdateItem</code>, the valid values are:</p> <ul> <li> <p> <code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p> </li> <li> <p> <code>ALL_OLD</code> - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.</p> </li> <li> <p> <code>UPDATED_OLD</code> - Returns only the updated attributes, as they appeared before the UpdateItem operation.</p> </li> <li> <p> <code>ALL_NEW</code> - Returns all of the attributes of the item, as they appear after the UpdateItem operation.</p> </li> <li> <p> <code>UPDATED_NEW</code> - Returns only the updated attributes, as they appear after the UpdateItem operation.</p> </li> </ul> <p>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.</p> <p>The values returned are strongly consistent.</p>"
},
"ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"},
"ReturnItemCollectionMetrics":{
@ -2121,7 +2121,7 @@
"members":{
"Attributes":{
"shape":"AttributeMap",
"documentation":"<p>A map of attribute values as they appeared before the <code>UpdateItem</code> operation. This map only appears if <code>ReturnValues</code> was specified as something other than <code>NONE</code> in the request. Each element represents one attribute.</p>"
"documentation":"<p>A map of attribute values as they appear before or after the <code>UpdateItem</code> operation, as determined by the <code>ReturnValues</code> parameter.</p> <p>The <code>Attributes</code> map is only present if <code>ReturnValues</code> was specified as something other than <code>NONE</code> in the request. Each element represents one attribute.</p>"
},
"ConsumedCapacity":{
"shape":"ConsumedCapacity",

View file

@ -39,7 +39,7 @@
},
"input":{"shape":"AllocateAddressRequest"},
"output":{"shape":"AllocateAddressResult"},
"documentation":"<p>Acquires an Elastic IP address.</p> <p>An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. For more information, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html\">Elastic IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>"
"documentation":"<p>Allocates an Elastic IP address.</p> <p>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.</p> <p>If you release an Elastic IP address for use in a VPC, you might be able to recover it. To recover an Elastic IP address that you released, specify it in the <code>Address</code> parameter. Note that you cannot recover an Elastic IP address that you released after it is allocated to another AWS account.</p> <p>For more information, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html\">Elastic IP Addresses</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>"
},
"AllocateHosts":{
"name":"AllocateHosts",
@ -314,6 +314,16 @@
"output":{"shape":"CreateCustomerGatewayResult"},
"documentation":"<p>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 may be behind a device performing network address translation (NAT).</p> <p>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).</p> <note> <p>Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the <code>us-east-1</code> region, and 9059, which is reserved in the <code>eu-west-1</code> region.</p> </note> <p>For more information about VPN customer gateways, see <a href=\"http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html\">Adding a Hardware Virtual Private Gateway to Your VPC</a> in the <i>Amazon Virtual Private Cloud User Guide</i>.</p> <important> <p>You cannot create more than one customer gateway with the same VPN type, IP address, and BGP ASN parameter values. If you run an identical request more than one time, the first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent requests do not create new customer gateway resources.</p> </important>"
},
"CreateDefaultVpc":{
"name":"CreateDefaultVpc",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateDefaultVpcRequest"},
"output":{"shape":"CreateDefaultVpcResult"},
"documentation":"<p>Creates a default VPC with a size <code>/16</code> IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see <a href=\"http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html\">Default VPC and Default Subnets</a> in the <i>Amazon Virtual Private Cloud User Guide</i>. You cannot specify the components of the default VPC yourself.</p> <p>You can create a default VPC if you deleted your previous default VPC. You cannot have more than one default VPC per region. </p> <p>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 <a href=\"http://aws.amazon.com/vpc/faqs/#Default_VPCs\">Default VPCs FAQ</a>.</p>"
},
"CreateDhcpOptions":{
"name":"CreateDhcpOptions",
"http":{
@ -847,7 +857,7 @@
"requestUri":"/"
},
"input":{"shape":"DeregisterImageRequest"},
"documentation":"<p>Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.</p> <p>This command does not delete the AMI.</p>"
"documentation":"<p>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.</p> <p>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.</p>"
},
"DescribeAccountAttributes":{
"name":"DescribeAccountAttributes",
@ -939,6 +949,16 @@
"output":{"shape":"DescribeEgressOnlyInternetGatewaysResult"},
"documentation":"<p>Describes one or more of your egress-only Internet gateways.</p>"
},
"DescribeElasticGpus":{
"name":"DescribeElasticGpus",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeElasticGpusRequest"},
"output":{"shape":"DescribeElasticGpusResult"},
"documentation":"<p>Describes the Elastic GPUs associated with your instances. For more information about Elastic GPUs, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-gpus.html\">Amazon EC2 Elastic GPUs</a>.</p>"
},
"DescribeExportTasks":{
"name":"DescribeExportTasks",
"http":{
@ -2038,7 +2058,7 @@
"requestUri":"/"
},
"input":{"shape":"ReleaseAddressRequest"},
"documentation":"<p>Releases the specified Elastic IP address.</p> <p>After releasing an Elastic IP address, it is released to the IP address pool and might be unavailable to you. 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 <code>AuthFailure</code> error if the address is already allocated to another AWS account.</p> <p>[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 <a>DisassociateAddress</a>.</p> <p>[Nondefault VPC] You must use <a>DisassociateAddress</a> to disassociate the Elastic IP address before you try to release it. Otherwise, Amazon EC2 returns an error (<code>InvalidIPAddress.InUse</code>).</p>"
"documentation":"<p>Releases the specified Elastic IP address.</p> <p>[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 <a>DisassociateAddress</a>.</p> <p>[Nondefault VPC] You must use <a>DisassociateAddress</a> to disassociate the Elastic IP address before you can release it. Otherwise, Amazon EC2 returns an error (<code>InvalidIPAddress.InUse</code>).</p> <p>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 <code>AuthFailure</code> error if the address is already allocated to another AWS account.</p> <p>[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 <a>AllocateAddress</a>.</p>"
},
"ReleaseHosts":{
"name":"ReleaseHosts",
@ -2189,7 +2209,7 @@
"requestUri":"/"
},
"input":{"shape":"RevokeSecurityGroupIngressRequest"},
"documentation":"<p>Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.</p> <p>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.</p> <p>Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.</p>"
"documentation":"<p>Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.</p> <note> <p>[EC2-Classic security groups only] If the values you specify do not match the existing rule's values, no error is returned. Use <a>DescribeSecurityGroups</a> to verify that the rule has been removed.</p> </note> <p>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.</p> <p>Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.</p>"
},
"RunInstances":{
"name":"RunInstances",
@ -2495,6 +2515,10 @@
"shape":"DomainType",
"documentation":"<p>Set to <code>vpc</code> to allocate the address for use with instances in a VPC.</p> <p>Default: The address is for use with instances in EC2-Classic.</p>"
},
"Address":{
"shape":"String",
"documentation":"<p>[EC2-VPC] The Elastic IP address to recover.</p>"
},
"DryRun":{
"shape":"Boolean",
"documentation":"<p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>",
@ -4106,6 +4130,27 @@
},
"documentation":"<p>Contains the output of CreateCustomerGateway.</p>"
},
"CreateDefaultVpcRequest":{
"type":"structure",
"members":{
"DryRun":{
"shape":"Boolean",
"documentation":"<p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>"
}
},
"documentation":"<p>Contains the parameters for CreateDefaultVpc.</p>"
},
"CreateDefaultVpcResult":{
"type":"structure",
"members":{
"Vpc":{
"shape":"Vpc",
"documentation":"<p>Information about the VPC.</p>",
"locationName":"vpc"
}
},
"documentation":"<p>Contains the output of CreateDefaultVpc.</p>"
},
"CreateDhcpOptionsRequest":{
"type":"structure",
"required":["DhcpConfigurations"],
@ -4554,7 +4599,8 @@
"shape":"Boolean",
"documentation":"<p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>"
}
}
},
"documentation":"<p>Contains the parameters for CreateNetworkInterfacePermission.</p>"
},
"CreateNetworkInterfacePermissionResult":{
"type":"structure",
@ -4564,7 +4610,8 @@
"documentation":"<p>Information about the permission for the network interface.</p>",
"locationName":"interfacePermission"
}
}
},
"documentation":"<p>Contains the output of CreateNetworkInterfacePermission.</p>"
},
"CreateNetworkInterfaceRequest":{
"type":"structure",
@ -5513,7 +5560,8 @@
"shape":"Boolean",
"documentation":"<p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>"
}
}
},
"documentation":"<p>Contains the parameters for DeleteNetworkInterfacePermission.</p>"
},
"DeleteNetworkInterfacePermissionResult":{
"type":"structure",
@ -5523,7 +5571,8 @@
"documentation":"<p>Returns <code>true</code> if the request succeeds, otherwise returns an error.</p>",
"locationName":"return"
}
}
},
"documentation":"<p>Contains the output for DeleteNetworkInterfacePermission.</p>"
},
"DeleteNetworkInterfaceRequest":{
"type":"structure",
@ -6150,6 +6199,53 @@
}
}
},
"DescribeElasticGpusRequest":{
"type":"structure",
"members":{
"ElasticGpuIds":{
"shape":"ElasticGpuIdSet",
"documentation":"<p>One or more Elastic GPU IDs.</p>",
"locationName":"ElasticGpuId"
},
"DryRun":{
"shape":"Boolean",
"documentation":"<p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>"
},
"Filters":{
"shape":"FilterList",
"documentation":"<p>One or more filters.</p> <ul> <li> <p> <code>availability-zone</code> - The Availability Zone in which the Elastic GPU resides.</p> </li> <li> <p> <code>elastic-gpu-health</code> - The status of the Elastic GPU (<code>OK</code> | <code>IMPAIRED</code>).</p> </li> <li> <p> <code>elastic-gpu-state</code> - The state of the Elastic GPU (<code>ATTACHED</code>).</p> </li> <li> <p> <code>elastic-gpu-type</code> - The type of Elastic GPU; for example, <code>eg1.medium</code>.</p> </li> <li> <p> <code>instance-id</code> - The ID of the instance to which the Elastic GPU is associated.</p> </li> </ul>",
"locationName":"Filter"
},
"MaxResults":{
"shape":"Integer",
"documentation":"<p>The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned <code>NextToken</code> value. This value can be between 5 and 1000.</p>"
},
"NextToken":{
"shape":"String",
"documentation":"<p>The token to request the next page of results.</p>"
}
}
},
"DescribeElasticGpusResult":{
"type":"structure",
"members":{
"ElasticGpuSet":{
"shape":"ElasticGpuSet",
"documentation":"<p>Information about the Elastic GPUs.</p>",
"locationName":"elasticGpuSet"
},
"MaxResults":{
"shape":"Integer",
"documentation":"<p>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.</p>",
"locationName":"maxResults"
},
"NextToken":{
"shape":"String",
"documentation":"<p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p>",
"locationName":"nextToken"
}
}
},
"DescribeExportTasksRequest":{
"type":"structure",
"members":{
@ -6996,7 +7092,8 @@
"shape":"Integer",
"documentation":"<p>The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned <code>NextToken</code> value. If this parameter is not specified, up to 50 results are returned by default.</p>"
}
}
},
"documentation":"<p>Contains the parameters for DescribeNetworkInterfacePermissions.</p>"
},
"DescribeNetworkInterfacePermissionsResult":{
"type":"structure",
@ -7011,7 +7108,8 @@
"documentation":"<p>The token to use to retrieve the next page of results.</p>",
"locationName":"nextToken"
}
}
},
"documentation":"<p>Contains the output for DescribeNetworkInterfacePermissions.</p>"
},
"DescribeNetworkInterfacesRequest":{
"type":"structure",
@ -9150,6 +9248,126 @@
"locationName":"item"
}
},
"ElasticGpuAssociation":{
"type":"structure",
"members":{
"ElasticGpuId":{
"shape":"String",
"documentation":"<p>The ID of the Elastic GPU.</p>",
"locationName":"elasticGpuId"
},
"ElasticGpuAssociationId":{
"shape":"String",
"documentation":"<p>The ID of the association.</p>",
"locationName":"elasticGpuAssociationId"
},
"ElasticGpuAssociationState":{
"shape":"String",
"documentation":"<p>The state of the association between the instance and the Elastic GPU.</p>",
"locationName":"elasticGpuAssociationState"
},
"ElasticGpuAssociationTime":{
"shape":"String",
"documentation":"<p>The time the Elastic GPU was associated with the instance.</p>",
"locationName":"elasticGpuAssociationTime"
}
},
"documentation":"<p>Describes the association between an instance and an Elastic GPU.</p>"
},
"ElasticGpuAssociationList":{
"type":"list",
"member":{
"shape":"ElasticGpuAssociation",
"locationName":"item"
}
},
"ElasticGpuHealth":{
"type":"structure",
"members":{
"Status":{
"shape":"ElasticGpuStatus",
"documentation":"<p>The health status.</p>",
"locationName":"status"
}
},
"documentation":"<p>Describes the status of an Elastic GPU.</p>"
},
"ElasticGpuIdSet":{
"type":"list",
"member":{
"shape":"String",
"locationName":"item"
}
},
"ElasticGpuSet":{
"type":"list",
"member":{"shape":"ElasticGpus"}
},
"ElasticGpuSpecification":{
"type":"structure",
"required":["Type"],
"members":{
"Type":{
"shape":"String",
"documentation":"<p>The type of Elastic GPU.</p>"
}
},
"documentation":"<p>A specification for an Elastic GPU.</p>"
},
"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":"<p>The ID of the Elastic GPU.</p>",
"locationName":"elasticGpuId"
},
"AvailabilityZone":{
"shape":"String",
"documentation":"<p>The Availability Zone in the which the Elastic GPU resides.</p>",
"locationName":"availabilityZone"
},
"ElasticGpuType":{
"shape":"String",
"documentation":"<p>The type of Elastic GPU.</p>",
"locationName":"elasticGpuType"
},
"ElasticGpuHealth":{
"shape":"ElasticGpuHealth",
"documentation":"<p>The status of the Elastic GPU.</p>",
"locationName":"elasticGpuHealth"
},
"ElasticGpuState":{
"shape":"ElasticGpuState",
"documentation":"<p>The state of the Elastic GPU.</p>",
"locationName":"elasticGpuState"
},
"InstanceId":{
"shape":"String",
"documentation":"<p>The ID of the instance to which the Elastic GPU is attached.</p>",
"locationName":"instanceId"
}
},
"documentation":"<p>Describes an Elastic GPU.</p>"
},
"EnableVgwRoutePropagationRequest":{
"type":"structure",
"required":[
@ -10148,7 +10366,10 @@
},
"HostReservationSet":{
"type":"list",
"member":{"shape":"HostReservation"}
"member":{
"shape":"HostReservation",
"locationName":"item"
}
},
"HostTenancy":{
"type":"string",
@ -11258,6 +11479,11 @@
"documentation":"<p>Indicates whether this is a Spot instance or a Scheduled Instance.</p>",
"locationName":"instanceLifecycle"
},
"ElasticGpuAssociations":{
"shape":"ElasticGpuAssociationList",
"documentation":"<p>The Elastic GPU associated with the instance.</p>",
"locationName":"elasticGpuAssociationSet"
},
"NetworkInterfaces":{
"shape":"InstanceNetworkInterfaceList",
"documentation":"<p>[EC2-VPC] One or more network interfaces for the instance.</p>",
@ -16334,6 +16560,10 @@
"documentation":"<p>[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.</p> <p>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.</p>",
"locationName":"privateIpAddress"
},
"ElasticGpuSpecification":{
"shape":"ElasticGpuSpecifications",
"documentation":"<p>An Elastic GPU to associate with the instance.</p>"
},
"TagSpecifications":{
"shape":"TagSpecificationList",
"documentation":"<p>The tags to apply to the resources during launch. You can tag instances and volumes. The specified tags are applied to all instances or volumes that are created during launch.</p>",
@ -17407,6 +17637,11 @@
"shape":"Double",
"documentation":"<p>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 (instances or a performance characteristic such as vCPUs, memory, or I/O).</p> <p>If the target capacity divided by this value is not a whole number, we round the number of instances to the next whole number. If this value is not specified, the default is 1.</p>",
"locationName":"weightedCapacity"
},
"TagSpecifications":{
"shape":"SpotFleetTagSpecificationList",
"documentation":"<p>The tags to apply during creation.</p>",
"locationName":"tagSpecificationSet"
}
},
"documentation":"<p>Describes the launch specification for one or more Spot instances.</p>"
@ -17543,6 +17778,29 @@
"locationName":"item"
}
},
"SpotFleetTagSpecification":{
"type":"structure",
"members":{
"ResourceType":{
"shape":"ResourceType",
"documentation":"<p>The type of resource. Currently, the only resource type that is supported is <code>instance</code>.</p>",
"locationName":"resourceType"
},
"Tags":{
"shape":"TagList",
"documentation":"<p>The tags.</p>",
"locationName":"tag"
}
},
"documentation":"<p>The tags for a Spot fleet resource.</p>"
},
"SpotFleetTagSpecificationList":{
"type":"list",
"member":{
"shape":"SpotFleetTagSpecification",
"locationName":"item"
}
},
"SpotInstanceRequest":{
"type":"structure",
"members":{

View file

@ -223,6 +223,14 @@
"PerformanceMode":{
"shape":"PerformanceMode",
"documentation":"<p>The <code>PerformanceMode</code> of the file system. We recommend <code>generalPurpose</code> performance mode for most file systems. File systems using the <code>maxIO</code> 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.</p>"
},
"Encrypted":{
"shape":"Encrypted",
"documentation":"<p>A boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying a <a>CreateFileSystemRequest$KmsKeyId</a> 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, <code>/aws/elasticfilesystem</code>, is used to protect the encrypted file system. </p>"
},
"KmsKeyId":{
"shape":"KmsKeyId",
"documentation":"<p>The id of the AWS KMS CMK that will be used to protect the encrypted file system. This parameter is only required if you want to use a non-default 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:</p> <ul> <li> <p>Key ID - A unique identifier of the key. For example, <code>1234abcd-12ab-34cd-56ef-1234567890ab</code>.</p> </li> <li> <p>ARN - An Amazon Resource Name for the key. For example, <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>.</p> </li> <li> <p>Key alias - A previously created display name for a key. For example, <code>alias/projectKey1</code>.</p> </li> <li> <p>Key alias ARN - An Amazon Resource Name for a key alias. For example, <code>arn:aws:kms:us-west-2:444455556666:alias/projectKey1</code>.</p> </li> </ul> <p>Note that if the KmsKeyId is specified, the <a>CreateFileSystemRequest$Encrypted</a> parameter must be set to true.</p>"
}
}
},
@ -496,6 +504,7 @@
},
"documentation":"<p/>"
},
"Encrypted":{"type":"boolean"},
"ErrorCode":{
"type":"string",
"min":1
@ -564,6 +573,14 @@
"PerformanceMode":{
"shape":"PerformanceMode",
"documentation":"<p>The <code>PerformanceMode</code> of the file system.</p>"
},
"Encrypted":{
"shape":"Encrypted",
"documentation":"<p>A boolean value that, if true, indicates that the file system is encrypted.</p>"
},
"KmsKeyId":{
"shape":"KmsKeyId",
"documentation":"<p>The id of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the encrypted file system.</p>"
}
},
"documentation":"<p>Description of the file system.</p>"
@ -670,6 +687,11 @@
"error":{"httpStatusCode":409},
"exception":true
},
"KmsKeyId":{
"type":"string",
"max":2048,
"min":1
},
"LifeCycleState":{
"type":"string",
"enum":[
@ -885,7 +907,7 @@
"ErrorCode":{"shape":"ErrorCode"},
"Message":{"shape":"ErrorMessage"}
},
"documentation":"<p></p>",
"documentation":"<p/>",
"error":{"httpStatusCode":400},
"exception":true
}

View file

@ -840,7 +840,7 @@
},
"NextToken":{
"shape":"Token",
"documentation":"<p>For a paginated request, the token that you can pass in a subsequent request to get the next page.</p>"
"documentation":"<p>In a paginated request, the token that you can pass in a subsequent request to get the next response page.</p>"
}
},
"documentation":"<p>Result message wrapping a list of application version descriptions.</p>"
@ -1196,7 +1196,7 @@
},
"PlatformArn":{
"shape":"PlatformArn",
"documentation":"<p>The ARN of the custom platform.</p>"
"documentation":"<p>The ARN of the platform.</p>"
},
"Options":{
"shape":"ConfigurationOptionDescriptionsList",
@ -1214,7 +1214,7 @@
},
"PlatformArn":{
"shape":"PlatformArn",
"documentation":"<p>The ARN of the custom platform.</p>"
"documentation":"<p>The ARN of the platform.</p>"
},
"ApplicationName":{
"shape":"ApplicationName",
@ -1397,7 +1397,7 @@
},
"EnvironmentName":{
"shape":"EnvironmentName",
"documentation":"<p>A unique name for the deployment environment. Used in the application URL.</p> <p>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 <code>InvalidParameterValue</code> error. </p> <p>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.</p>"
"documentation":"<p>A unique name for the deployment environment. Used in the application URL.</p> <p>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 within a region in your account. If the specified name already exists in the region, AWS Elastic Beanstalk returns an <code>InvalidParameterValue</code> error. </p> <p>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.</p>"
},
"GroupName":{
"shape":"GroupName",
@ -1433,7 +1433,7 @@
},
"PlatformArn":{
"shape":"PlatformArn",
"documentation":"<p>The ARN of the custom platform.</p>"
"documentation":"<p>The ARN of the platform.</p>"
},
"OptionSettings":{
"shape":"ConfigurationOptionSettingsList",
@ -1638,7 +1638,7 @@
},
"DeploymentTime":{
"shape":"DeploymentTimestamp",
"documentation":"<p>For in-progress deployments, the time that the deloyment started.</p> <p>For completed deployments, the time that the deployment ended.</p>"
"documentation":"<p>For in-progress deployments, the time that the deployment started.</p> <p>For completed deployments, the time that the deployment ended.</p>"
}
},
"documentation":"<p>Information about an application version deployment.</p>"
@ -1657,11 +1657,11 @@
},
"MaxRecords":{
"shape":"MaxRecords",
"documentation":"<p>Specify a maximum number of application versions to paginate in the request.</p>"
"documentation":"<p>For a paginated request. Specify a maximum number of application versions to include in each response.</p> <p>If no <code>MaxRecords</code> is specified, all available application versions are retrieved in a single response.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>Specify a next token to retrieve the next page in a paginated request.</p>"
"documentation":"<p>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.</p> <p>If no <code>NextToken</code> is specified, the first page is retrieved.</p>"
}
},
"documentation":"<p>Request to describe application versions.</p>"
@ -1885,6 +1885,14 @@
"IncludedDeletedBackTo":{
"shape":"IncludeDeletedBackTo",
"documentation":"<p> If specified when <code>IncludeDeleted</code> is set to <code>true</code>, then environments deleted after this date are displayed. </p>"
},
"MaxRecords":{
"shape":"MaxRecords",
"documentation":"<p>For a paginated request. Specify a maximum number of environments to include in each response.</p> <p>If no <code>MaxRecords</code> is specified, all available environments are retrieved in a single response.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>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.</p> <p>If no <code>NextToken</code> is specified, the first page is retrieved.</p>"
}
},
"documentation":"<p>Request to describe one or more environments.</p>"
@ -2018,6 +2026,7 @@
"exception":true
},
"EndpointURL":{"type":"string"},
"EnvironmentArn":{"type":"string"},
"EnvironmentDescription":{
"type":"structure",
"members":{
@ -2043,7 +2052,7 @@
},
"PlatformArn":{
"shape":"PlatformArn",
"documentation":"<p>The ARN of the custom platform.</p>"
"documentation":"<p>The ARN of the platform.</p>"
},
"TemplateName":{
"shape":"ConfigurationTemplateName",
@ -2096,6 +2105,10 @@
"EnvironmentLinks":{
"shape":"EnvironmentLinks",
"documentation":"<p>A list of links to other environments in the same group.</p>"
},
"EnvironmentArn":{
"shape":"EnvironmentArn",
"documentation":"<p>The environment's Amazon Resource Name (ARN), which can be used in other API reuqests that require an ARN.</p>"
}
},
"documentation":"<p>Describes the properties of an environment.</p>"
@ -2110,6 +2123,10 @@
"Environments":{
"shape":"EnvironmentDescriptionsList",
"documentation":"<p> Returns an <a>EnvironmentDescription</a> list. </p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>In a paginated request, the token that you can pass in a subsequent request to get the next response page.</p>"
}
},
"documentation":"<p>Result message containing a list of environment descriptions.</p>"
@ -2330,7 +2347,7 @@
},
"PlatformArn":{
"shape":"PlatformArn",
"documentation":"<p>The ARN of the custom platform.</p>"
"documentation":"<p>The ARN of the platform.</p>"
},
"RequestId":{
"shape":"RequestId",

View file

@ -233,7 +233,7 @@
{"shape":"InternalServerException"},
{"shape":"InvalidRequestException"}
],
"documentation":"<p>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.</p>"
"documentation":"<p>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.</p>"
},
"ListSecurityConfigurations":{
"name":"ListSecurityConfigurations",
@ -524,7 +524,7 @@
"documentation":"<p>This option is for advanced users only. This is meta information about third-party applications that third-party vendors use for testing purposes.</p>"
}
},
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-mapr.html\">Using the MapR Distribution for Hadoop</a>. Currently supported values are:</p> <ul> <li> <p>\"mapr-m3\" - launch the cluster using MapR M3 Edition.</p> </li> <li> <p>\"mapr-m5\" - launch the cluster using MapR M5 Edition.</p> </li> <li> <p>\"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the cluster using MapR M3 or M5 Edition, respectively.</p> </li> </ul> <note> <p>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.</p> </note>"
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-mapr.html\">Using the MapR Distribution for Hadoop</a>. Currently supported values are:</p> <ul> <li> <p>\"mapr-m3\" - launch the cluster using MapR M3 Edition.</p> </li> <li> <p>\"mapr-m5\" - launch the cluster using MapR M5 Edition.</p> </li> <li> <p>\"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the cluster using MapR M3 or M5 Edition, respectively.</p> </li> </ul> <note> <p>In Amazon EMR releases 4.x and later, the only accepted parameter is the application name. To pass arguments to applications, you supply a configuration for each application.</p> </note>"
},
"ApplicationList":{
"type":"list",
@ -789,7 +789,7 @@
},
"ReleaseLabel":{
"shape":"String",
"documentation":"<p>The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x AMIs, use amiVersion instead instead of ReleaseLabel.</p>"
"documentation":"<p>The release label for the Amazon EMR release.</p>"
},
"AutoTerminate":{
"shape":"Boolean",
@ -825,7 +825,7 @@
},
"Configurations":{
"shape":"ConfigurationList",
"documentation":"<note> <p>Amazon EMR releases 4.x or later.</p> </note> <p>The list of Configurations supplied to the EMR cluster.</p>"
"documentation":"<p>Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied to the EMR cluster.</p>"
},
"SecurityConfiguration":{
"shape":"XmlString",
@ -838,6 +838,18 @@
"ScaleDownBehavior":{
"shape":"ScaleDownBehavior",
"documentation":"<p>The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. <code>TERMINATE_AT_INSTANCE_HOUR</code> 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. <code>TERMINATE_AT_TASK_COMPLETION</code> 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. <code>TERMINATE_AT_TASK_COMPLETION</code> 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.</p>"
},
"CustomAmiId":{
"shape":"XmlStringMaxLen256",
"documentation":"<p>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.</p>"
},
"EbsRootVolumeSize":{
"shape":"Integer",
"documentation":"<p>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.</p>"
},
"RepoUpgradeOnBoot":{
"shape":"RepoUpgradeOnBoot",
"documentation":"<p>Applies only when <code>CustomAmiID</code> is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI.</p>"
}
},
"documentation":"<p>The detailed description of the cluster.</p>"
@ -875,6 +887,7 @@
"INTERNAL_ERROR",
"VALIDATION_ERROR",
"INSTANCE_FAILURE",
"INSTANCE_FLEET_TIMEOUT",
"BOOTSTRAP_FAILURE",
"USER_REQUEST",
"STEP_FAILURE",
@ -1248,7 +1261,7 @@
},
"RequestedEc2SubnetIds":{
"shape":"XmlStringMaxLen256List",
"documentation":"<p>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. Amazon EMR chooses the EC2 subnet with the best performance and cost characteristics from among the list of RequestedEc2SubnetIds and launches all cluster instances within that subnet. If this value is not specified, and the account supports EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses Requested</p>"
"documentation":"<p>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 <code>RequestedEc2SubnetIds</code>, 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 <code>RequestedEc2AvailabilityZones</code> instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. <code>RequestedEc2SubnetIDs</code> and <code>RequestedEc2AvailabilityZones</code> cannot be specified together.</p>"
},
"Ec2AvailabilityZone":{
"shape":"String",
@ -1256,7 +1269,7 @@
},
"RequestedEc2AvailabilityZones":{
"shape":"XmlStringMaxLen256List",
"documentation":"<p>Applies to clusters configured with the The list of availability zones to choose from. The service will choose the availability zone with the best mix of available capacity and lowest cost to launch the cluster. If you do not specify this value, the cluster is launched in any availability zone that the customer account has access to.</p>"
"documentation":"<p>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 <code>RequestedEc2AvailabilityZones</code>, 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. <code>RequestedEc2SubnetIDs</code> and <code>RequestedEc2AvailabilityZones</code> cannot be specified together.</p>"
},
"IamInstanceProfile":{
"shape":"String",
@ -2041,7 +2054,7 @@
},
"WeightedCapacity":{
"shape":"WholeNumber",
"documentation":"<p>The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in <a>InstanceFleetConfig</a>. This value is 1 for a master instance fleet, and must be greater than 0 for core and task instance fleets. </p>"
"documentation":"<p>The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in <a>InstanceFleetConfig</a>. 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. </p>"
},
"BidPrice":{
"shape":"XmlStringMaxLen256",
@ -2049,7 +2062,7 @@
},
"BidPriceAsPercentageOfOnDemandPrice":{
"shape":"NonNegativeDouble",
"documentation":"<p>The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by <code>InstanceType</code>. Expressed as a number between 0 and 1000 (for example, 20 specifies 20%). If neither <code>BidPrice</code> nor <code>BidPriceAsPercentageOfOnDemandPrice</code> is provided, <code>BidPriceAsPercentageOfOnDemandPrice</code> defaults to 100%.</p>"
"documentation":"<p>The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by <code>InstanceType</code>. Expressed as a number (for example, 20 specifies 20%). If neither <code>BidPrice</code> nor <code>BidPriceAsPercentageOfOnDemandPrice</code> is provided, <code>BidPriceAsPercentageOfOnDemandPrice</code> defaults to 100%.</p>"
},
"EbsConfiguration":{
"shape":"EbsConfiguration",
@ -2162,7 +2175,7 @@
},
"AmiVersion":{
"shape":"XmlStringMaxLen256",
"documentation":"<p>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 EMR, see <a href=\"http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EnvironmentConfig_AMIVersion.html#ami-versions-supported\">AMI Versions Supported in EMR</a> in the <i>Amazon EMR Developer Guide.</i> </p>"
"documentation":"<p>Used only for version 2.x and 3.x of Amazon EMR. The version of the AMI used to initialize Amazon EC2 instances in the job flow. For a list of AMI versions supported by Amazon EMR, see <a href=\"http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EnvironmentConfig_AMIVersion.html#ami-versions-supported\">AMI Versions Supported in EMR</a> in the <i>Amazon EMR Developer Guide.</i> </p>"
},
"ExecutionStatusDetail":{
"shape":"JobFlowExecutionStatusDetail",
@ -2811,6 +2824,13 @@
},
"documentation":"<p>This output indicates the result of removing tags from a resource.</p>"
},
"RepoUpgradeOnBoot":{
"type":"string",
"enum":[
"SECURITY",
"NONE"
]
},
"ResourceId":{"type":"string"},
"RunJobFlowInput":{
"type":"structure",
@ -2833,11 +2853,11 @@
},
"AmiVersion":{
"shape":"XmlStringMaxLen256",
"documentation":"<note> <p>For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use ReleaseLabel.</p> </note> <p>The version of the Amazon Machine Image (AMI) to use when launching Amazon EC2 instances in the job flow. The following values are valid:</p> <ul> <li> <p>The version number of the AMI to use, for example, \"2.0.\"</p> </li> </ul> <p>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 <a>JobFlowInstancesConfig</a> <code>HadoopVersion</code> parameter to modify the version of Hadoop from the defaults shown above.</p> <p>For details about the AMI versions currently supported by Amazon Elastic MapReduce, see <a href=\"http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EnvironmentConfig_AMIVersion.html#ami-versions-supported\">AMI Versions Supported in Elastic MapReduce</a> in the <i>Amazon Elastic MapReduce Developer Guide.</i> </p> <note> <p>Previously, the EMR AMI version API parameter options allowed you to use latest for the latest AMI version rather than specify a numerical value. Some regions no longer support this deprecated option as they only have a newer release label version of EMR, which requires you to specify an EMR release label release (EMR 4.x or later).</p> </note>"
"documentation":"<p>For Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, the Linux AMI is determined by the <code>ReleaseLabel</code> specified or by <code>CustomAmiID</code>. The version of the Amazon Machine Image (AMI) to use when launching Amazon EC2 instances in the job flow. For details about the AMI versions currently supported in EMR version 3.x and 2.x, see <a href=\"ElasticMapReduce/latest/DeveloperGuide/emr-dg.pdf#nameddest=ami-versions-supported\">AMI Versions Supported in EMR</a> in the <i>Amazon EMR Developer Guide</i>. </p> <p>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 <a>JobFlowInstancesConfig</a> <code>HadoopVersion</code> parameter to modify the version of Hadoop from the defaults shown above.</p> <note> <p>Previously, the EMR AMI version API parameter options allowed you to use latest for the latest AMI version rather than specify a numerical value. Some regions no longer support this deprecated option as they only have a newer release label version of EMR, which requires you to specify an EMR release label release (EMR 4.x or later).</p> </note>"
},
"ReleaseLabel":{
"shape":"XmlStringMaxLen256",
"documentation":"<note> <p>Amazon EMR releases 4.x or later.</p> </note> <p>The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x AMIs, use amiVersion instead instead of ReleaseLabel.</p>"
"documentation":"<p> The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x AMIs, use <code>AmiVersion</code> instead.</p>"
},
"Instances":{
"shape":"JobFlowInstancesConfig",
@ -2853,19 +2873,19 @@
},
"SupportedProducts":{
"shape":"SupportedProductsList",
"documentation":"<note> <p>For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use Applications.</p> </note> <p>A list of strings that indicates third-party software to use. For more information, see <a href=\"http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-supported-products.html\">Use Third Party Applications with Amazon EMR</a>. Currently supported values are:</p> <ul> <li> <p>\"mapr-m3\" - launch the job flow using MapR M3 Edition.</p> </li> <li> <p>\"mapr-m5\" - launch the job flow using MapR M5 Edition.</p> </li> </ul>"
"documentation":"<note> <p>For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.</p> </note> <p>A list of strings that indicates third-party software to use. For more information, see <a href=\"http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-supported-products.html\">Use Third Party Applications with Amazon EMR</a>. Currently supported values are:</p> <ul> <li> <p>\"mapr-m3\" - launch the job flow using MapR M3 Edition.</p> </li> <li> <p>\"mapr-m5\" - launch the job flow using MapR M5 Edition.</p> </li> </ul>"
},
"NewSupportedProducts":{
"shape":"NewSupportedProductsList",
"documentation":"<note> <p>For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use Applications.</p> </note> <p>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 <a href=\"http://docs.aws.amazon.com/http:/docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf\">Amazon EMR Developer Guide</a>. Supported values are:</p> <ul> <li> <p>\"mapr-m3\" - launch the cluster using MapR M3 Edition.</p> </li> <li> <p>\"mapr-m5\" - launch the cluster using MapR M5 Edition.</p> </li> <li> <p>\"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively.</p> </li> <li> <p>\"mapr-m7\" - launch the cluster using MapR M7 Edition.</p> </li> <li> <p>\"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.</p> </li> <li> <p>\"hue\"- launch the cluster with Hue installed.</p> </li> <li> <p>\"spark\" - launch the cluster with Apache Spark installed.</p> </li> <li> <p>\"ganglia\" - launch the cluster with the Ganglia Monitoring System installed.</p> </li> </ul>"
"documentation":"<note> <p>For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.</p> </note> <p>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 <a href=\"http://docs.aws.amazon.com/http:/docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf\">Amazon EMR Developer Guide</a>. Supported values are:</p> <ul> <li> <p>\"mapr-m3\" - launch the cluster using MapR M3 Edition.</p> </li> <li> <p>\"mapr-m5\" - launch the cluster using MapR M5 Edition.</p> </li> <li> <p>\"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively.</p> </li> <li> <p>\"mapr-m7\" - launch the cluster using MapR M7 Edition.</p> </li> <li> <p>\"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.</p> </li> <li> <p>\"hue\"- launch the cluster with Hue installed.</p> </li> <li> <p>\"spark\" - launch the cluster with Apache Spark installed.</p> </li> <li> <p>\"ganglia\" - launch the cluster with the Ganglia Monitoring System installed.</p> </li> </ul>"
},
"Applications":{
"shape":"ApplicationList",
"documentation":"<note> <p>Amazon EMR releases 4.x or later.</p> </note> <p>A list of applications for the cluster. Valid values are: \"Hadoop\", \"Hive\", \"Mahout\", \"Pig\", and \"Spark.\" They are case insensitive.</p>"
"documentation":"<p>For Amazon EMR releases 4.0 and later. A list of applications for the cluster. Valid values are: \"Hadoop\", \"Hive\", \"Mahout\", \"Pig\", and \"Spark.\" They are case insensitive.</p>"
},
"Configurations":{
"shape":"ConfigurationList",
"documentation":"<note> <p>Amazon EMR releases 4.x or later.</p> </note> <p>The list of configurations supplied for the EMR cluster you are creating.</p>"
"documentation":"<p>For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR cluster you are creating.</p>"
},
"VisibleToAllUsers":{
"shape":"Boolean",
@ -2894,6 +2914,18 @@
"ScaleDownBehavior":{
"shape":"ScaleDownBehavior",
"documentation":"<p>Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. <code>TERMINATE_AT_INSTANCE_HOUR</code> 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. <code>TERMINATE_AT_TASK_COMPLETION</code> 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. <code>TERMINATE_AT_TASK_COMPLETION</code> 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.</p>"
},
"CustomAmiId":{
"shape":"XmlStringMaxLen256",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html\">Using a Custom AMI</a> in the <i>Amazon EMR Management Guide</i>. If omitted, the cluster uses the base Linux AMI for the <code>ReleaseLabel</code> specified. For Amazon EMR versions 2.x and 3.x, use <code>AmiVersion</code> instead.</p> <p>For information about creating a custom AMI, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html\">Creating an Amazon EBS-Backed Linux AMI</a> in the <i>Amazon Elastic Compute Cloud User Guide for Linux Instances</i>. For information about finding an AMI ID, see <a href=\"http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html\">Finding a Linux AMI</a>. </p>"
},
"EbsRootVolumeSize":{
"shape":"Integer",
"documentation":"<p>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.</p>"
},
"RepoUpgradeOnBoot":{
"shape":"RepoUpgradeOnBoot",
"documentation":"<p>Applies only when <code>CustomAmiID</code> 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 <code>SECURITY</code>, which indicates that only security updates are applied. If <code>NONE</code> is specified, no updates are applied, and all updates must be applied manually.</p>"
}
},
"documentation":"<p> Input to the <a>RunJobFlow</a> operation. </p>"
@ -3109,7 +3141,7 @@
},
"TimeoutAction":{
"shape":"SpotProvisioningTimeoutAction",
"documentation":"<p>The action to take when <code>TargetSpotCapacity</code> has not been fulfilled when the <code>TimeoutDurationMinutes</code> has expired. Spot instances are not uprovisioned within the Spot provisioining timeout. Valid values are <code>TERMINATE_CLUSTER</code> and <code>SWITCH_TO_ON_DEMAND</code> to fulfill the remaining capacity.</p>"
"documentation":"<p>The action to take when <code>TargetSpotCapacity</code> has not been fulfilled when the <code>TimeoutDurationMinutes</code> has expired. Spot instances are not uprovisioned within the Spot provisioining timeout. Valid values are <code>TERMINATE_CLUSTER</code> and <code>SWITCH_TO_ON_DEMAND</code>. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.</p>"
},
"BlockDurationMinutes":{
"shape":"WholeNumber",

View file

@ -163,6 +163,7 @@
"batch" : {
"endpoints" : {
"ap-northeast-1" : { },
"ap-southeast-1" : { },
"ap-southeast-2" : { },
"eu-central-1" : { },
"eu-west-1" : { },
@ -240,6 +241,14 @@
"us-west-2" : { }
}
},
"cloudhsmv2" : {
"endpoints" : {
"eu-west-1" : { },
"us-east-1" : { },
"us-east-2" : { },
"us-west-2" : { }
}
},
"cloudsearch" : {
"endpoints" : {
"ap-northeast-1" : { },
@ -326,6 +335,8 @@
"codepipeline" : {
"endpoints" : {
"ap-northeast-1" : { },
"ap-northeast-2" : { },
"ap-south-1" : { },
"ap-southeast-1" : { },
"ap-southeast-2" : { },
"ca-central-1" : { },
@ -341,9 +352,14 @@
},
"codestar" : {
"endpoints" : {
"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" : { }
}
},
@ -352,6 +368,7 @@
"ap-northeast-1" : { },
"ap-northeast-2" : { },
"ap-south-1" : { },
"ap-southeast-1" : { },
"ap-southeast-2" : { },
"eu-central-1" : { },
"eu-west-1" : { },
@ -366,6 +383,7 @@
"ap-northeast-1" : { },
"ap-northeast-2" : { },
"ap-south-1" : { },
"ap-southeast-1" : { },
"ap-southeast-2" : { },
"eu-central-1" : { },
"eu-west-1" : { },
@ -380,6 +398,7 @@
"ap-northeast-1" : { },
"ap-northeast-2" : { },
"ap-south-1" : { },
"ap-southeast-1" : { },
"ap-southeast-2" : { },
"eu-central-1" : { },
"eu-west-1" : { },
@ -495,6 +514,7 @@
"eu-central-1" : { },
"eu-west-1" : { },
"eu-west-2" : { },
"sa-east-1" : { },
"us-east-1" : { },
"us-east-2" : { },
"us-west-2" : { }
@ -618,6 +638,7 @@
"elasticfilesystem" : {
"endpoints" : {
"ap-southeast-2" : { },
"eu-central-1" : { },
"eu-west-1" : { },
"us-east-1" : { },
"us-east-2" : { },
@ -775,6 +796,11 @@
"us-west-2" : { }
}
},
"glue" : {
"endpoints" : {
"us-east-1" : { }
}
},
"greengrass" : {
"defaults" : {
"protocols" : [ "https" ]
@ -976,6 +1002,11 @@
"us-west-2" : { }
}
},
"mgh" : {
"endpoints" : {
"us-west-2" : { }
}
},
"mobileanalytics" : {
"endpoints" : {
"us-east-1" : { }
@ -1250,7 +1281,6 @@
"ap-northeast-2" : { },
"ap-south-1" : { },
"ap-southeast-2" : { },
"ca-central-1" : { },
"eu-central-1" : { },
"eu-west-1" : { },
"us-east-1" : { },
@ -1265,6 +1295,7 @@
"eu-central-1" : { },
"eu-west-1" : { },
"eu-west-2" : { },
"sa-east-1" : { },
"us-east-1" : { },
"us-east-2" : { },
"us-west-1" : { },
@ -1340,6 +1371,7 @@
"ap-southeast-2" : { },
"eu-central-1" : { },
"eu-west-1" : { },
"eu-west-2" : { },
"us-east-1" : { },
"us-east-2" : { },
"us-west-2" : { }
@ -1507,6 +1539,7 @@
"ap-northeast-1" : { },
"eu-west-1" : { },
"us-east-1" : { },
"us-west-1" : { },
"us-west-2" : { }
}
},
@ -1566,6 +1599,18 @@
}
},
"services" : {
"application-autoscaling" : {
"defaults" : {
"credentialScope" : {
"service" : "application-autoscaling"
},
"hostname" : "autoscaling.{region}.amazonaws.com",
"protocols" : [ "http", "https" ]
},
"endpoints" : {
"cn-north-1" : { }
}
},
"autoscaling" : {
"defaults" : {
"protocols" : [ "http", "https" ]
@ -1676,6 +1721,16 @@
"isRegionalized" : false,
"partitionEndpoint" : "aws-cn-global"
},
"iot" : {
"defaults" : {
"credentialScope" : {
"service" : "execute-api"
}
},
"endpoints" : {
"cn-north-1" : { }
}
},
"kinesis" : {
"endpoints" : {
"cn-north-1" : { }
@ -1783,6 +1838,16 @@
}
},
"services" : {
"acm" : {
"endpoints" : {
"us-gov-west-1" : { }
}
},
"apigateway" : {
"endpoints" : {
"us-gov-west-1" : { }
}
},
"autoscaling" : {
"endpoints" : {
"us-gov-west-1" : {
@ -1983,4 +2048,4 @@
}
} ],
"version" : 3
}
}

View file

@ -0,0 +1,3 @@
{
"pagination": {}
}

View file

@ -25,7 +25,7 @@
{"shape":"LimitExceededException"},
{"shape":"ResourceInUseException"}
],
"documentation":"<p>Creates a delivery stream.</p> <p>By default, you can create up to 20 delivery streams per region.</p> <p>This is an asynchronous operation that immediately returns. The initial status of the delivery stream is <code>CREATING</code>. After the delivery stream is created, its status is <code>ACTIVE</code> and it now accepts data. Attempts to send data to a delivery stream that is not in the <code>ACTIVE</code> state cause an exception. To check the state of a delivery stream, use <a>DescribeDeliveryStream</a>.</p> <p>A delivery stream is configured with a single destination: Amazon S3, Amazon Elasticsearch Service, or Amazon Redshift. You must specify only one of the following destination configuration parameters: <b>ExtendedS3DestinationConfiguration</b>, <b>S3DestinationConfiguration</b>, <b>ElasticsearchDestinationConfiguration</b>, or <b>RedshiftDestinationConfiguration</b>.</p> <p>When you specify <b>S3DestinationConfiguration</b>, you can also provide the following optional values: <b>BufferingHints</b>, <b>EncryptionConfiguration</b>, and <b>CompressionFormat</b>. By default, if no <b>BufferingHints</b> value is provided, Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note that <b>BufferingHints</b> 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.</p> <p>A few notes about Amazon Redshift as a destination:</p> <ul> <li> <p>An Amazon Redshift destination requires an S3 bucket as intermediate location, as Firehose first delivers data to S3 and then uses <code>COPY</code> syntax to load data into an Amazon Redshift table. This is specified in the <b>RedshiftDestinationConfiguration.S3Configuration</b> parameter.</p> </li> <li> <p>The compression formats <code>SNAPPY</code> or <code>ZIP</code> cannot be specified in <b>RedshiftDestinationConfiguration.S3Configuration</b> because the Amazon Redshift <code>COPY</code> operation that reads from the S3 bucket doesn't support these compression formats.</p> </li> <li> <p>We strongly recommend that you use the user name and password you provide exclusively with Firehose, and that the permissions for the account are restricted for Amazon Redshift <code>INSERT</code> permissions.</p> </li> </ul> <p>Firehose assumes the IAM role that is configured as part of the destination. The 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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3\">Amazon S3 Bucket Access</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
"documentation":"<p>Creates a delivery stream.</p> <p>By default, you can create up to 20 delivery streams per region.</p> <p>This is an asynchronous operation that immediately returns. The initial status of the delivery stream is <code>CREATING</code>. After the delivery stream is created, its status is <code>ACTIVE</code> and it now accepts data. Attempts to send data to a delivery stream that is not in the <code>ACTIVE</code> state cause an exception. To check the state of a delivery stream, use <a>DescribeDeliveryStream</a>.</p> <p>A Kinesis Firehose delivery stream can be configured to receive records directly from providers using <a>PutRecord</a> or <a>PutRecordBatch</a>, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis stream as input, set the <code>DeliveryStreamType</code> parameter to <code>KinesisStreamAsSource</code>, and provide the Kinesis stream ARN and role ARN in the <code>KinesisStreamSourceConfiguration</code> parameter.</p> <p>A delivery stream is configured with a single destination: Amazon S3, Amazon ES, or Amazon Redshift. You must specify only one of the following destination configuration parameters: <b>ExtendedS3DestinationConfiguration</b>, <b>S3DestinationConfiguration</b>, <b>ElasticsearchDestinationConfiguration</b>, or <b>RedshiftDestinationConfiguration</b>.</p> <p>When you specify <b>S3DestinationConfiguration</b>, you can also provide the following optional values: <b>BufferingHints</b>, <b>EncryptionConfiguration</b>, and <b>CompressionFormat</b>. By default, if no <b>BufferingHints</b> value is provided, Kinesis Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note that <b>BufferingHints</b> 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.</p> <p>A few notes about Amazon Redshift as a destination:</p> <ul> <li> <p>An Amazon Redshift destination requires an S3 bucket as intermediate location, as Kinesis Firehose first delivers data to S3 and then uses <code>COPY</code> syntax to load data into an Amazon Redshift table. This is specified in the <b>RedshiftDestinationConfiguration.S3Configuration</b> parameter.</p> </li> <li> <p>The compression formats <code>SNAPPY</code> or <code>ZIP</code> cannot be specified in <b>RedshiftDestinationConfiguration.S3Configuration</b> because the Amazon Redshift <code>COPY</code> operation that reads from the S3 bucket doesn't support these compression formats.</p> </li> <li> <p>We strongly recommend that you use the user name and password you provide exclusively with Kinesis Firehose, and that the permissions for the account are restricted for Amazon Redshift <code>INSERT</code> permissions.</p> </li> </ul> <p>Kinesis Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3\">Amazon S3 Bucket Access</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
},
"DeleteDeliveryStream":{
"name":"DeleteDeliveryStream",
@ -54,6 +54,21 @@
],
"documentation":"<p>Describes the specified delivery stream and gets the status. For example, after your delivery stream is created, call <a>DescribeDeliveryStream</a> to see if the delivery stream is <code>ACTIVE</code> and therefore ready for data to be sent to it.</p>"
},
"GetKinesisStream":{
"name":"GetKinesisStream",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetKinesisStreamInput"},
"output":{"shape":"GetKinesisStreamOutput"},
"errors":[
{"shape":"ResourceNotFoundException"},
{"shape":"InvalidArgumentException"},
{"shape":"InvalidStreamTypeException"}
],
"internalonly":true
},
"ListDeliveryStreams":{
"name":"ListDeliveryStreams",
"http":{
@ -77,7 +92,7 @@
{"shape":"InvalidArgumentException"},
{"shape":"ServiceUnavailableException"}
],
"documentation":"<p>Writes a single data record into an Amazon Kinesis Firehose delivery stream. To write multiple data records into a delivery stream, use <a>PutRecordBatch</a>. Applications using these operations are referred to as producers.</p> <p>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 <a>PutRecord</a> and <a>PutRecordBatch</a>, 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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/limits.html\">Amazon Kinesis Firehose Limits</a>. </p> <p>You must specify the name of the delivery stream and the data record when using <a>PutRecord</a>. 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.</p> <p>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 (<code>\\n</code>) 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.</p> <p>The <a>PutRecord</a> operation returns a <b>RecordId</b>, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.</p> <p>If the <a>PutRecord</a> operation throws a <b>ServiceUnavailableException</b>, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream. </p> <p>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.</p>"
"documentation":"<p>Writes a single data record into an Amazon Kinesis Firehose delivery stream. To write multiple data records into a delivery stream, use <a>PutRecordBatch</a>. Applications using these operations are referred to as producers.</p> <p>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 <a>PutRecord</a> and <a>PutRecordBatch</a>, 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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/limits.html\">Amazon Kinesis Firehose Limits</a>. </p> <p>You must specify the name of the delivery stream and the data record when using <a>PutRecord</a>. 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, website clickstream data, and so on.</p> <p>Kinesis 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 (<code>\\n</code>) 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.</p> <p>The <a>PutRecord</a> operation returns a <b>RecordId</b>, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.</p> <p>If the <a>PutRecord</a> operation throws a <b>ServiceUnavailableException</b>, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream. </p> <p>Data records sent to Kinesis 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.</p>"
},
"PutRecordBatch":{
"name":"PutRecordBatch",
@ -92,7 +107,7 @@
{"shape":"InvalidArgumentException"},
{"shape":"ServiceUnavailableException"}
],
"documentation":"<p>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 <a>PutRecord</a>. Applications using these operations are referred to as producers.</p> <p>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 <a>PutRecord</a> and <a>PutRecordBatch</a>, the limits are an aggregate across these two operations for each delivery stream. For more information about limits, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/limits.html\">Amazon Kinesis Firehose Limits</a>.</p> <p>Each <a>PutRecordBatch</a> 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.</p> <p>You must specify the name of the delivery stream and the data record when using <a>PutRecord</a>. 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.</p> <p>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 (<code>\\n</code>) 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.</p> <p>The <a>PutRecordBatch</a> response includes a count of failed records, <b>FailedPutCount</b>, and an array of responses, <b>RequestResponses</b>. Each entry in the <b>RequestResponses</b> array provides additional information about the processed record, and 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. <b>RequestResponses</b> includes both successfully and unsuccessfully processed records. Firehose attempts to process all records in each <a>PutRecordBatch</a> request. A single record failure does not stop the processing of subsequent records.</p> <p>A successfully processed record includes a <b>RecordId</b> value, which is unique for the record. An unsuccessfully processed record includes <b>ErrorCode</b> and <b>ErrorMessage</b> values. <b>ErrorCode</b> reflects the type of error, and is one of the following values: <code>ServiceUnavailable</code> or <code>InternalFailure</code>. <b>ErrorMessage</b> provides more detailed information about the error.</p> <p>If there is an internal server error or a timeout, the write might have completed or it might have failed. If <b>FailedPutCount</b> 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.</p> <p>If <a>PutRecordBatch</a> throws <b>ServiceUnavailableException</b>, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.</p> <p>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.</p>"
"documentation":"<p>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 <a>PutRecord</a>. Applications using these operations are referred to as producers.</p> <p>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 <a>PutRecord</a> and <a>PutRecordBatch</a>, the limits are an aggregate across these two operations for each delivery stream. For more information about limits, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/limits.html\">Amazon Kinesis Firehose Limits</a>.</p> <p>Each <a>PutRecordBatch</a> 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.</p> <p>You must specify the name of the delivery stream and the data record when using <a>PutRecord</a>. 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, web site clickstream data, and so on.</p> <p>Kinesis 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 (<code>\\n</code>) 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.</p> <p>The <a>PutRecordBatch</a> response includes a count of failed records, <b>FailedPutCount</b>, and an array of responses, <b>RequestResponses</b>. Each entry in the <b>RequestResponses</b> 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. <b>RequestResponses</b> includes both successfully and unsuccessfully processed records. Kinesis Firehose attempts to process all records in each <a>PutRecordBatch</a> request. A single record failure does not stop the processing of subsequent records.</p> <p>A successfully processed record includes a <b>RecordId</b> value, which is unique for the record. An unsuccessfully processed record includes <b>ErrorCode</b> and <b>ErrorMessage</b> values. <b>ErrorCode</b> reflects the type of error, and is one of the following values: <code>ServiceUnavailable</code> or <code>InternalFailure</code>. <b>ErrorMessage</b> provides more detailed information about the error.</p> <p>If there is an internal server error or a timeout, the write might have completed or it might have failed. If <b>FailedPutCount</b> 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.</p> <p>If <a>PutRecordBatch</a> throws <b>ServiceUnavailableException</b>, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.</p> <p>Data records sent to Kinesis 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.</p>"
},
"UpdateDestination":{
"name":"UpdateDestination",
@ -108,7 +123,7 @@
{"shape":"ResourceNotFoundException"},
{"shape":"ConcurrentModificationException"}
],
"documentation":"<p>Updates the specified destination of the specified delivery stream.</p> <p>You can 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.</p> <p>Note that switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.</p> <p>If the destination type is the same, 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 <a>EncryptionConfiguration</a> is not specified then the existing <a>EncryptionConfiguration</a> is maintained on the destination.</p> <p>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.</p> <p>Firehose uses <b>CurrentDeliveryStreamVersionId</b> 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 <a>DescribeDeliveryStream</a>. You should use the new version ID to set <b>CurrentDeliveryStreamVersionId</b> in the next call.</p>"
"documentation":"<p>Updates the specified destination of the specified delivery stream.</p> <p>You can 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.</p> <p>Note that switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.</p> <p>If the destination type is the same, Kinesis 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 <a>EncryptionConfiguration</a> is not specified, then the existing <a>EncryptionConfiguration</a> is maintained on the destination.</p> <p>If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Firehose does not merge any parameters. In this case, all parameters must be specified.</p> <p>Kinesis Firehose uses <b>CurrentDeliveryStreamVersionId</b> 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 <a>DescribeDeliveryStream</a>. Use the new version ID to set <b>CurrentDeliveryStreamVersionId</b> in the next call.</p>"
}
},
"shapes":{
@ -118,6 +133,7 @@
"min":1,
"pattern":"arn:.*"
},
"AccessKeyId":{"type":"string"},
"BooleanObject":{"type":"boolean"},
"BucketARN":{
"type":"string",
@ -137,7 +153,7 @@
"documentation":"<p>Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300.</p>"
}
},
"documentation":"<p>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.</p>"
"documentation":"<p>Describes hints for the buffering to perform before delivering data to the destination. Please note that these options are treated as hints, and therefore Kinesis Firehose may choose to use different values when it is optimal.</p>"
},
"CloudWatchLoggingOptions":{
"type":"structure",
@ -155,7 +171,7 @@
"documentation":"<p>The CloudWatch log stream name for logging. This value is required if CloudWatch logging is enabled.</p>"
}
},
"documentation":"<p>Describes the CloudWatch logging options for your delivery stream.</p>"
"documentation":"<p>Describes the Amazon CloudWatch logging options for your delivery stream.</p>"
},
"ClusterJDBCURL":{
"type":"string",
@ -196,7 +212,7 @@
},
"CopyOptions":{
"shape":"CopyOptions",
"documentation":"<p>Optional parameters to use with the Amazon Redshift <code>COPY</code> command. For more information, see the \"Optional Parameters\" section of <a href=\"http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html\">Amazon Redshift COPY command</a>. Some possible examples that would apply to Firehose are as follows:</p> <p> <code>delimiter '\\t' lzop;</code> - fields are delimited with \"\\t\" (TAB character) and compressed using lzop.</p> <p> <code>delimiter '|</code> - fields are delimited with \"|\" (this is the default delimiter).</p> <p> <code>delimiter '|' escape</code> - the delimiter should be escaped.</p> <p> <code>fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'</code> - fields are fixed width in the source, with each width specified after every column in the table.</p> <p> <code>JSON 's3://mybucket/jsonpaths.txt'</code> - data is in JSON format, and the path specified is the format of the data.</p> <p>For more examples, see <a href=\"http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html\">Amazon Redshift COPY command examples</a>.</p>"
"documentation":"<p>Optional parameters to use with the Amazon Redshift <code>COPY</code> command. For more information, see the \"Optional Parameters\" section of <a href=\"http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html\">Amazon Redshift COPY command</a>. Some possible examples that would apply to Kinesis Firehose are as follows:</p> <p> <code>delimiter '\\t' lzop;</code> - fields are delimited with \"\\t\" (TAB character) and compressed using lzop.</p> <p> <code>delimiter '|'</code> - fields are delimited with \"|\" (this is the default delimiter).</p> <p> <code>delimiter '|' escape</code> - the delimiter should be escaped.</p> <p> <code>fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'</code> - fields are fixed width in the source, with each width specified after every column in the table.</p> <p> <code>JSON 's3://mybucket/jsonpaths.txt'</code> - data is in JSON format, and the path specified is the format of the data.</p> <p>For more examples, see <a href=\"http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html\">Amazon Redshift COPY command examples</a>.</p>"
}
},
"documentation":"<p>Describes a <code>COPY</code> command for Amazon Redshift.</p>"
@ -208,7 +224,15 @@
"members":{
"DeliveryStreamName":{
"shape":"DeliveryStreamName",
"documentation":"<p>The name of the delivery stream. This name must be unique per AWS account in the same region. You can have multiple delivery streams with the same name if they are in different accounts or different regions.</p>"
"documentation":"<p>The name of the delivery stream. This name must be unique per AWS account in the same region. If the delivery streams are in different accounts or different regions, you can have multiple delivery streams with the same name.</p>"
},
"DeliveryStreamType":{
"shape":"DeliveryStreamType",
"documentation":"<p>The delivery stream type. This parameter can be one of the following values:</p> <ul> <li> <p> <code>DirectPut</code>: Provider applications access the delivery stream directly.</p> </li> <li> <p> <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis stream as a source.</p> </li> </ul>"
},
"KinesisStreamSourceConfiguration":{
"shape":"KinesisStreamSourceConfiguration",
"documentation":"<p>When a Kinesis stream is used as the source for the delivery stream, a <a>KinesisStreamSourceConfiguration</a> containing the Kinesis stream ARN and the role ARN for the source stream.</p>"
},
"S3DestinationConfiguration":{
"shape":"S3DestinationConfiguration",
@ -263,6 +287,7 @@
"members":{
}
},
"DeliveryStartTimestamp":{"type":"timestamp"},
"DeliveryStreamARN":{
"type":"string",
"max":512,
@ -275,6 +300,7 @@
"DeliveryStreamName",
"DeliveryStreamARN",
"DeliveryStreamStatus",
"DeliveryStreamType",
"VersionId",
"Destinations",
"HasMoreDestinations"
@ -292,6 +318,10 @@
"shape":"DeliveryStreamStatus",
"documentation":"<p>The status of the delivery stream.</p>"
},
"DeliveryStreamType":{
"shape":"DeliveryStreamType",
"documentation":"<p>The delivery stream type. This can be one of the following values:</p> <ul> <li> <p> <code>DirectPut</code>: Provider applications access the delivery stream directly.</p> </li> <li> <p> <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis stream as a source.</p> </li> </ul>"
},
"VersionId":{
"shape":"DeliveryStreamVersionId",
"documentation":"<p>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.</p>"
@ -304,6 +334,10 @@
"shape":"Timestamp",
"documentation":"<p>The date and time that the delivery stream was last updated.</p>"
},
"Source":{
"shape":"SourceDescription",
"documentation":"<p>If the <code>DeliveryStreamType</code> parameter is <code>KinesisStreamAsSource</code>, a <a>SourceDescription</a> object describing the source Kinesis stream.</p>"
},
"Destinations":{
"shape":"DestinationDescriptionList",
"documentation":"<p>The destinations.</p>"
@ -333,6 +367,13 @@
"ACTIVE"
]
},
"DeliveryStreamType":{
"type":"string",
"enum":[
"DirectPut",
"KinesisStreamAsSource"
]
},
"DeliveryStreamVersionId":{
"type":"string",
"max":50,
@ -353,7 +394,7 @@
},
"ExclusiveStartDestinationId":{
"shape":"DestinationId",
"documentation":"<p>The ID of the destination to start returning the destination information. Currently Firehose supports one destination per delivery stream.</p>"
"documentation":"<p>The ID of the destination to start returning the destination information. Currently, Kinesis Firehose supports one destination per delivery stream.</p>"
}
}
},
@ -444,7 +485,7 @@
"members":{
"RoleARN":{
"shape":"RoleARN",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3\">Amazon S3 Bucket Access</a>.</p>"
"documentation":"<p>The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3\">Amazon S3 Bucket Access</a>.</p>"
},
"DomainARN":{
"shape":"ElasticsearchDomainARN",
@ -460,7 +501,7 @@
},
"IndexRotationPeriod":{
"shape":"ElasticsearchIndexRotationPeriod",
"documentation":"<p>The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate expiration of old data. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation\">Index Rotation for Amazon Elasticsearch Service Destination</a>. The default value is <code>OneDay</code>.</p>"
"documentation":"<p>The Elasticsearch index rotation period. Index rotation appends a time stamp to the IndexName to facilitate the expiration of old data. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation\">Index Rotation for Amazon Elasticsearch Service Destination</a>. The default value is <code>OneDay</code>.</p>"
},
"BufferingHints":{
"shape":"ElasticsearchBufferingHints",
@ -468,15 +509,15 @@
},
"RetryOptions":{
"shape":"ElasticsearchRetryOptions",
"documentation":"<p>The retry behavior in the event that Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).</p>"
"documentation":"<p>The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).</p>"
},
"S3BackupMode":{
"shape":"ElasticsearchS3BackupMode",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup\">Amazon S3 Backup for Amazon Elasticsearch Service Destination</a>. Default value is FailedDocumentsOnly.</p>"
"documentation":"<p>Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis 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 Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup\">Amazon S3 Backup for Amazon Elasticsearch Service Destination</a>. Default value is FailedDocumentsOnly.</p>"
},
"S3Configuration":{
"shape":"S3DestinationConfiguration",
"documentation":"<p>The configuration for the intermediate Amazon S3 location from which Amazon ES obtains data.</p>"
"documentation":"<p>The configuration for the backup Amazon S3 location.</p>"
},
"ProcessingConfiguration":{
"shape":"ProcessingConfiguration",
@ -544,7 +585,7 @@
"members":{
"RoleARN":{
"shape":"RoleARN",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3\">Amazon S3 Bucket Access</a>.</p>"
"documentation":"<p>The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3\">Amazon S3 Bucket Access</a>.</p>"
},
"DomainARN":{
"shape":"ElasticsearchDomainARN",
@ -560,7 +601,7 @@
},
"IndexRotationPeriod":{
"shape":"ElasticsearchIndexRotationPeriod",
"documentation":"<p>The Elasticsearch index rotation period. Index rotation appends a timestamp to IndexName to facilitate the expiration of old data. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation\">Index Rotation for Amazon Elasticsearch Service Destination</a>. Default value is <code>OneDay</code>.</p>"
"documentation":"<p>The Elasticsearch index rotation period. Index rotation appends a time stamp to IndexName to facilitate the expiration of old data. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation\">Index Rotation for Amazon Elasticsearch Service Destination</a>. Default value is <code>OneDay</code>.</p>"
},
"BufferingHints":{
"shape":"ElasticsearchBufferingHints",
@ -568,7 +609,7 @@
},
"RetryOptions":{
"shape":"ElasticsearchRetryOptions",
"documentation":"<p>The retry behavior in the event that Firehose is unable to deliver documents to Amazon ES. Default value is 300 (5 minutes).</p>"
"documentation":"<p>The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).</p>"
},
"S3Update":{
"shape":"S3DestinationUpdate",
@ -616,10 +657,10 @@
"members":{
"DurationInSeconds":{
"shape":"ElasticsearchRetryDurationInSeconds",
"documentation":"<p>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.</p>"
"documentation":"<p>After an initial failure to deliver to Amazon ES, the total amount of time during which Kinesis 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.</p>"
}
},
"documentation":"<p>Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon ES.</p>"
"documentation":"<p>Configures retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES.</p>"
},
"ElasticsearchS3BackupMode":{
"type":"string",
@ -638,7 +679,7 @@
"members":{
"NoEncryptionConfig":{
"shape":"NoEncryptionConfig",
"documentation":"<p>Specifically override existing encryption information to ensure no encryption is used.</p>"
"documentation":"<p>Specifically override existing encryption information to ensure that no encryption is used.</p>"
},
"KMSEncryptionConfig":{
"shape":"KMSEncryptionConfig",
@ -666,7 +707,7 @@
},
"Prefix":{
"shape":"Prefix",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
"documentation":"<p>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. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
},
"BufferingHints":{
"shape":"BufferingHints",
@ -719,7 +760,7 @@
},
"Prefix":{
"shape":"Prefix",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
"documentation":"<p>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. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
},
"BufferingHints":{
"shape":"BufferingHints",
@ -765,7 +806,7 @@
},
"Prefix":{
"shape":"Prefix",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
"documentation":"<p>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. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
},
"BufferingHints":{
"shape":"BufferingHints",
@ -798,6 +839,21 @@
},
"documentation":"<p>Describes an update for a destination in Amazon S3.</p>"
},
"FirehoseSource":{"type":"string"},
"GetKinesisStreamInput":{
"type":"structure",
"required":["DeliveryStreamARN"],
"members":{
"DeliveryStreamARN":{"shape":"DeliveryStreamARN"}
}
},
"GetKinesisStreamOutput":{
"type":"structure",
"members":{
"KinesisStreamARN":{"shape":"KinesisStreamARN"},
"CredentialsForReadingKinesisStream":{"shape":"SessionCredentials"}
}
},
"IntervalInSeconds":{
"type":"integer",
"max":900,
@ -811,7 +867,15 @@
"documentation":"<p>A message that provides information about the error.</p>"
}
},
"documentation":"<p>The specified input parameter has an value that is not valid.</p>",
"documentation":"<p>The specified input parameter has a value that is not valid.</p>",
"exception":true
},
"InvalidStreamTypeException":{
"type":"structure",
"members":{
"message":{"shape":"ErrorMessage"},
"source":{"shape":"FirehoseSource"}
},
"exception":true
},
"KMSEncryptionConfig":{
@ -825,6 +889,48 @@
},
"documentation":"<p>Describes an encryption key for a destination in Amazon S3.</p>"
},
"KinesisStreamARN":{
"type":"string",
"max":512,
"min":1,
"pattern":"arn:.*"
},
"KinesisStreamSourceConfiguration":{
"type":"structure",
"required":[
"KinesisStreamARN",
"RoleARN"
],
"members":{
"KinesisStreamARN":{
"shape":"KinesisStreamARN",
"documentation":"<p>The ARN of the source Kinesis stream.</p>"
},
"RoleARN":{
"shape":"RoleARN",
"documentation":"<p>The ARN of the role that provides access to the source Kinesis stream.</p>"
}
},
"documentation":"<p>The stream and role ARNs for a Kinesis stream used as the source for a delivery stream.</p>"
},
"KinesisStreamSourceDescription":{
"type":"structure",
"members":{
"KinesisStreamARN":{
"shape":"KinesisStreamARN",
"documentation":"<p>The ARN of the source Kinesis stream.</p>"
},
"RoleARN":{
"shape":"RoleARN",
"documentation":"<p>The ARN of the role used by the source Kinesis stream.</p>"
},
"DeliveryStartTimestamp":{
"shape":"DeliveryStartTimestamp",
"documentation":"<p>Kinesis Firehose starts retrieving records from the Kinesis stream starting with this time stamp.</p>"
}
},
"documentation":"<p>Details about a Kinesis stream used as the source for a Kinesis Firehose delivery stream.</p>"
},
"LimitExceededException":{
"type":"structure",
"members":{
@ -843,6 +949,10 @@
"shape":"ListDeliveryStreamsInputLimit",
"documentation":"<p>The maximum number of delivery streams to list.</p>"
},
"DeliveryStreamType":{
"shape":"DeliveryStreamType",
"documentation":"<p>The delivery stream type. This can be one of the following values:</p> <ul> <li> <p> <code>DirectPut</code>: Provider applications access the delivery stream directly.</p> </li> <li> <p> <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis stream as a source.</p> </li> </ul> <p>This parameter is optional. If this parameter is omitted, delivery streams of all types are returned.</p>"
},
"ExclusiveStartDeliveryStreamName":{
"shape":"DeliveryStreamName",
"documentation":"<p>The name of the delivery stream to start the list with.</p>"
@ -1097,7 +1207,7 @@
},
"RetryOptions":{
"shape":"RedshiftRetryOptions",
"documentation":"<p>The retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>"
"documentation":"<p>The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>"
},
"S3Configuration":{
"shape":"S3DestinationConfiguration",
@ -1150,7 +1260,7 @@
},
"RetryOptions":{
"shape":"RedshiftRetryOptions",
"documentation":"<p>The retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>"
"documentation":"<p>The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>"
},
"S3DestinationDescription":{
"shape":"S3DestinationDescription",
@ -1200,7 +1310,7 @@
},
"RetryOptions":{
"shape":"RedshiftRetryOptions",
"documentation":"<p>The retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>"
"documentation":"<p>The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>"
},
"S3Update":{
"shape":"S3DestinationUpdate",
@ -1235,10 +1345,10 @@
"members":{
"DurationInSeconds":{
"shape":"RedshiftRetryDurationInSeconds",
"documentation":"<p>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 <code>DurationInSeconds</code> is 0 (zero) or if the first delivery attempt takes longer than the current value.</p>"
"documentation":"<p>The length of time during which Kinesis 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 Firehose does not retry if the value of <code>DurationInSeconds</code> is 0 (zero) or if the first delivery attempt takes longer than the current value.</p>"
}
},
"documentation":"<p>Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift.</p>"
"documentation":"<p>Configures retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift.</p>"
},
"RedshiftS3BackupMode":{
"type":"string",
@ -1299,7 +1409,7 @@
},
"Prefix":{
"shape":"Prefix",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
"documentation":"<p>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. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
},
"BufferingHints":{
"shape":"BufferingHints",
@ -1340,7 +1450,7 @@
},
"Prefix":{
"shape":"Prefix",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
"documentation":"<p>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. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
},
"BufferingHints":{
"shape":"BufferingHints",
@ -1374,7 +1484,7 @@
},
"Prefix":{
"shape":"Prefix",
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
"documentation":"<p>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. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <a href=\"http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html\">Amazon S3 Object Name Format</a> in the <i>Amazon Kinesis Firehose Developer Guide</i>.</p>"
},
"BufferingHints":{
"shape":"BufferingHints",
@ -1395,6 +1505,7 @@
},
"documentation":"<p>Describes an update for a destination in Amazon S3.</p>"
},
"SecretAccessKey":{"type":"string"},
"ServiceUnavailableException":{
"type":"structure",
"members":{
@ -1407,11 +1518,37 @@
"exception":true,
"fault":true
},
"SessionCredentials":{
"type":"structure",
"required":[
"AccessKeyId",
"SecretAccessKey",
"SessionToken",
"Expiration"
],
"members":{
"AccessKeyId":{"shape":"AccessKeyId"},
"SecretAccessKey":{"shape":"SecretAccessKey"},
"SessionToken":{"shape":"SessionToken"},
"Expiration":{"shape":"Timestamp"}
}
},
"SessionToken":{"type":"string"},
"SizeInMBs":{
"type":"integer",
"max":128,
"min":1
},
"SourceDescription":{
"type":"structure",
"members":{
"KinesisStreamSourceDescription":{
"shape":"KinesisStreamSourceDescription",
"documentation":"<p>The <a>KinesisStreamSourceDescription</a> value for the source Kinesis stream.</p>"
}
},
"documentation":"<p>Details about a Kinesis stream used as the source for a Kinesis Firehose delivery stream.</p>"
},
"Timestamp":{"type":"timestamp"},
"UpdateDestinationInput":{
"type":"structure",
@ -1427,7 +1564,7 @@
},
"CurrentDeliveryStreamVersionId":{
"shape":"DeliveryStreamVersionId",
"documentation":"<p>Obtain this value from the <b>VersionId</b> result of <a>DeliveryStreamDescription</a>. 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 <b>VersionId</b> value is updated. The service then performs a merge of the old configuration with the new configuration.</p>"
"documentation":"<p>Obtain this value from the <b>VersionId</b> result of <a>DeliveryStreamDescription</a>. This value is required, and helps the service to 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 <b>VersionId</b> value is updated. The service then performs a merge of the old configuration with the new configuration.</p>"
},
"DestinationId":{
"shape":"DestinationId",
@ -1463,5 +1600,5 @@
"sensitive":true
}
},
"documentation":"<fullname>Amazon Kinesis Firehose API Reference</fullname> <p>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.</p>"
"documentation":"<fullname>Amazon Kinesis Firehose API Reference</fullname> <p>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.</p>"
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,3 @@
{
"pagination": {}
}

View file

@ -0,0 +1,5463 @@
{
"version":"2.0",
"metadata":{
"apiVersion":"2017-03-31",
"endpointPrefix":"glue",
"jsonVersion":"1.1",
"protocol":"json",
"serviceFullName":"AWS 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"}
],
"documentation":"<p>Creates one or more partitions in a batch operation.</p>"
},
"BatchDeleteConnection":{
"name":"BatchDeleteConnection",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"BatchDeleteConnectionRequest"},
"output":{"shape":"BatchDeleteConnectionResponse"},
"errors":[
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Deletes a list of connection definitions from the Data Catalog.</p>"
},
"BatchDeletePartition":{
"name":"BatchDeletePartition",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"BatchDeletePartitionRequest"},
"output":{"shape":"BatchDeletePartitionResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Deletes one or more partitions in a batch operation.</p>"
},
"BatchDeleteTable":{
"name":"BatchDeleteTable",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"BatchDeleteTableRequest"},
"output":{"shape":"BatchDeleteTableResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Deletes multiple tables at once.</p>"
},
"BatchGetPartition":{
"name":"BatchGetPartition",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"BatchGetPartitionRequest"},
"output":{"shape":"BatchGetPartitionResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"},
{"shape":"InternalServiceException"}
],
"documentation":"<p>Retrieves partitions in a batch request.</p>"
},
"CreateClassifier":{
"name":"CreateClassifier",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateClassifierRequest"},
"output":{"shape":"CreateClassifierResponse"},
"errors":[
{"shape":"AlreadyExistsException"},
{"shape":"InvalidInputException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Creates a <code>Classifier</code> in the user's account.</p>"
},
"CreateConnection":{
"name":"CreateConnection",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateConnectionRequest"},
"output":{"shape":"CreateConnectionResponse"},
"errors":[
{"shape":"AlreadyExistsException"},
{"shape":"InvalidInputException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Creates a connection definition in the Data Catalog.</p>"
},
"CreateCrawler":{
"name":"CreateCrawler",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateCrawlerRequest"},
"output":{"shape":"CreateCrawlerResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"AlreadyExistsException"},
{"shape":"OperationTimeoutException"},
{"shape":"ResourceNumberLimitExceededException"}
],
"documentation":"<p>Creates a new <code>Crawler</code> with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in either the <i>s3Targets</i> or the <i>jdbcTargets</i> field.</p>"
},
"CreateDatabase":{
"name":"CreateDatabase",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateDatabaseRequest"},
"output":{"shape":"CreateDatabaseResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"AlreadyExistsException"},
{"shape":"ResourceNumberLimitExceededException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Creates a new database in a Data Catalog.</p>"
},
"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":"<p>Creates a new DevEndpoint.</p>"
},
"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"}
],
"documentation":"<p>Creates a new job.</p>"
},
"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"}
],
"documentation":"<p>Creates a new partition.</p>"
},
"CreateScript":{
"name":"CreateScript",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateScriptRequest"},
"output":{"shape":"CreateScriptResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Transforms a directed acyclic graph (DAG) into a Python script.</p>"
},
"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"}
],
"documentation":"<p>Creates a new table definition in the Data Catalog.</p>"
},
"CreateTrigger":{
"name":"CreateTrigger",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateTriggerRequest"},
"output":{"shape":"CreateTriggerResponse"},
"errors":[
{"shape":"AlreadyExistsException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"},
{"shape":"ResourceNumberLimitExceededException"}
],
"documentation":"<p>Creates a new trigger.</p>"
},
"CreateUserDefinedFunction":{
"name":"CreateUserDefinedFunction",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateUserDefinedFunctionRequest"},
"output":{"shape":"CreateUserDefinedFunctionResponse"},
"errors":[
{"shape":"AlreadyExistsException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Creates a new function definition in the Data Catalog.</p>"
},
"DeleteClassifier":{
"name":"DeleteClassifier",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteClassifierRequest"},
"output":{"shape":"DeleteClassifierResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Removes a <code>Classifier</code> from the metadata store.</p>"
},
"DeleteConnection":{
"name":"DeleteConnection",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteConnectionRequest"},
"output":{"shape":"DeleteConnectionResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Deletes a connection from the Data Catalog.</p>"
},
"DeleteCrawler":{
"name":"DeleteCrawler",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteCrawlerRequest"},
"output":{"shape":"DeleteCrawlerResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"CrawlerRunningException"},
{"shape":"SchedulerTransitioningException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Removes a specified <code>Crawler</code> from the metadata store, unless the <code>Crawler</code> state is <code>RUNNING</code>.</p>"
},
"DeleteDatabase":{
"name":"DeleteDatabase",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteDatabaseRequest"},
"output":{"shape":"DeleteDatabaseResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Removes a specified Database from a Data Catalog.</p>"
},
"DeleteDevEndpoint":{
"name":"DeleteDevEndpoint",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteDevEndpointRequest"},
"output":{"shape":"DeleteDevEndpointResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"},
{"shape":"InvalidInputException"}
],
"documentation":"<p>Deletes a specified DevEndpoint.</p>"
},
"DeleteJob":{
"name":"DeleteJob",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteJobRequest"},
"output":{"shape":"DeleteJobResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Deletes a specified job.</p>"
},
"DeletePartition":{
"name":"DeletePartition",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeletePartitionRequest"},
"output":{"shape":"DeletePartitionResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Deletes a specified partition.</p>"
},
"DeleteTable":{
"name":"DeleteTable",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteTableRequest"},
"output":{"shape":"DeleteTableResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Removes a table definition from the Data Catalog.</p>"
},
"DeleteTrigger":{
"name":"DeleteTrigger",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteTriggerRequest"},
"output":{"shape":"DeleteTriggerResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Deletes a specified trigger.</p>"
},
"DeleteUserDefinedFunction":{
"name":"DeleteUserDefinedFunction",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteUserDefinedFunctionRequest"},
"output":{"shape":"DeleteUserDefinedFunctionResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Deletes an existing function definition from the Data Catalog.</p>"
},
"GetCatalogImportStatus":{
"name":"GetCatalogImportStatus",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetCatalogImportStatusRequest"},
"output":{"shape":"GetCatalogImportStatusResponse"},
"errors":[
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves the status of a migration operation.</p>"
},
"GetClassifier":{
"name":"GetClassifier",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetClassifierRequest"},
"output":{"shape":"GetClassifierResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieve a <code>Classifier</code> by name.</p>"
},
"GetClassifiers":{
"name":"GetClassifiers",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetClassifiersRequest"},
"output":{"shape":"GetClassifiersResponse"},
"errors":[
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Lists all Classifier objects in the metadata store.</p>"
},
"GetConnection":{
"name":"GetConnection",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetConnectionRequest"},
"output":{"shape":"GetConnectionResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves a connection definition from the Data Catalog.</p>"
},
"GetConnections":{
"name":"GetConnections",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetConnectionsRequest"},
"output":{"shape":"GetConnectionsResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves a list of connection definitions from the Data Catalog.</p>"
},
"GetCrawler":{
"name":"GetCrawler",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetCrawlerRequest"},
"output":{"shape":"GetCrawlerResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves metadata for a specified <code>Crawler</code>.</p>"
},
"GetCrawlerMetrics":{
"name":"GetCrawlerMetrics",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetCrawlerMetricsRequest"},
"output":{"shape":"GetCrawlerMetricsResponse"},
"errors":[
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves metrics about specified crawlers.</p>"
},
"GetCrawlers":{
"name":"GetCrawlers",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetCrawlersRequest"},
"output":{"shape":"GetCrawlersResponse"},
"errors":[
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves metadata for all <code>Crawlers</code> defined in the customer account.</p>"
},
"GetDatabase":{
"name":"GetDatabase",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetDatabaseRequest"},
"output":{"shape":"GetDatabaseResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves the definition of a specified database.</p>"
},
"GetDatabases":{
"name":"GetDatabases",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetDatabasesRequest"},
"output":{"shape":"GetDatabasesResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves all Databases defined in a given Data Catalog.</p>"
},
"GetDataflowGraph":{
"name":"GetDataflowGraph",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetDataflowGraphRequest"},
"output":{"shape":"GetDataflowGraphResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Transforms a Python script into a directed acyclic graph (DAG). </p>"
},
"GetDevEndpoint":{
"name":"GetDevEndpoint",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetDevEndpointRequest"},
"output":{"shape":"GetDevEndpointResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"},
{"shape":"InvalidInputException"}
],
"documentation":"<p>Retrieves information about a specified DevEndpoint.</p>"
},
"GetDevEndpoints":{
"name":"GetDevEndpoints",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetDevEndpointsRequest"},
"output":{"shape":"GetDevEndpointsResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"},
{"shape":"InvalidInputException"}
],
"documentation":"<p>Retrieves all the DevEndpoints in this AWS account.</p>"
},
"GetJob":{
"name":"GetJob",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetJobRequest"},
"output":{"shape":"GetJobResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves an existing job definition.</p>"
},
"GetJobRun":{
"name":"GetJobRun",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetJobRunRequest"},
"output":{"shape":"GetJobRunResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves the metadata for a given job run.</p>"
},
"GetJobRuns":{
"name":"GetJobRuns",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetJobRunsRequest"},
"output":{"shape":"GetJobRunsResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves metadata for all runs of a given job.</p>"
},
"GetJobs":{
"name":"GetJobs",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetJobsRequest"},
"output":{"shape":"GetJobsResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves all current jobs.</p>"
},
"GetMapping":{
"name":"GetMapping",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetMappingRequest"},
"output":{"shape":"GetMappingResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Creates mappings.</p>"
},
"GetPartition":{
"name":"GetPartition",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetPartitionRequest"},
"output":{"shape":"GetPartitionResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves information about a specified partition.</p>"
},
"GetPartitions":{
"name":"GetPartitions",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetPartitionsRequest"},
"output":{"shape":"GetPartitionsResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"OperationTimeoutException"},
{"shape":"InternalServiceException"}
],
"documentation":"<p>Retrieves information about the partitions in a table.</p>"
},
"GetPlan":{
"name":"GetPlan",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetPlanRequest"},
"output":{"shape":"GetPlanResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Gets a Python script to perform a specified mapping.</p>"
},
"GetTable":{
"name":"GetTable",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetTableRequest"},
"output":{"shape":"GetTableResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves the <code>Table</code> definition in a Data Catalog for a specified table.</p>"
},
"GetTableVersions":{
"name":"GetTableVersions",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetTableVersionsRequest"},
"output":{"shape":"GetTableVersionsResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves a list of strings that identify available versions of a specified table.</p>"
},
"GetTables":{
"name":"GetTables",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetTablesRequest"},
"output":{"shape":"GetTablesResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"OperationTimeoutException"},
{"shape":"InternalServiceException"}
],
"documentation":"<p>Retrieves the definitions of some or all of the tables in a given <code>Database</code>.</p>"
},
"GetTrigger":{
"name":"GetTrigger",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetTriggerRequest"},
"output":{"shape":"GetTriggerResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves the definition of a trigger.</p>"
},
"GetTriggers":{
"name":"GetTriggers",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetTriggersRequest"},
"output":{"shape":"GetTriggersResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Gets all the triggers associated with a job.</p>"
},
"GetUserDefinedFunction":{
"name":"GetUserDefinedFunction",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetUserDefinedFunctionRequest"},
"output":{"shape":"GetUserDefinedFunctionResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Retrieves a specified function definition from the Data Catalog.</p>"
},
"GetUserDefinedFunctions":{
"name":"GetUserDefinedFunctions",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetUserDefinedFunctionsRequest"},
"output":{"shape":"GetUserDefinedFunctionsResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"OperationTimeoutException"},
{"shape":"InternalServiceException"}
],
"documentation":"<p>Retrieves a multiple function definitions from the Data Catalog.</p>"
},
"ImportCatalogToGlue":{
"name":"ImportCatalogToGlue",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ImportCatalogToGlueRequest"},
"output":{"shape":"ImportCatalogToGlueResponse"},
"errors":[
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Imports an existing Athena Data Catalog to AWS Glue</p>"
},
"ResetJobBookmark":{
"name":"ResetJobBookmark",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ResetJobBookmarkRequest"},
"output":{"shape":"ResetJobBookmarkResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Resets a bookmark entry.</p>"
},
"StartCrawler":{
"name":"StartCrawler",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"StartCrawlerRequest"},
"output":{"shape":"StartCrawlerResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"CrawlerRunningException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Starts a crawl using the specified <code>Crawler</code>, regardless of what is scheduled. If the <code>Crawler</code> is already running, does nothing.</p>"
},
"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":"<p>Changes the schedule state of the specified crawler to <code>SCHEDULED</code>, unless the crawler is already running or the schedule state is already <code>SCHEDULED</code>.</p>"
},
"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":"<p>Runs a job.</p>"
},
"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":"<p>Starts an existing trigger.</p>"
},
"StopCrawler":{
"name":"StopCrawler",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"StopCrawlerRequest"},
"output":{"shape":"StopCrawlerResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"CrawlerNotRunningException"},
{"shape":"CrawlerStoppingException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>If the specified <code>Crawler</code> is running, stops the crawl.</p>"
},
"StopCrawlerSchedule":{
"name":"StopCrawlerSchedule",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"StopCrawlerScheduleRequest"},
"output":{"shape":"StopCrawlerScheduleResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"SchedulerNotRunningException"},
{"shape":"SchedulerTransitioningException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Sets the schedule state of the specified crawler to <code>NOT_SCHEDULED</code>, but does not stop the crawler if it is already running.</p>"
},
"StopTrigger":{
"name":"StopTrigger",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"StopTriggerRequest"},
"output":{"shape":"StopTriggerResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Stops a specified trigger.</p>"
},
"UpdateClassifier":{
"name":"UpdateClassifier",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateClassifierRequest"},
"output":{"shape":"UpdateClassifierResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"VersionMismatchException"},
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Modifies an existing <code>Classifier</code>.</p>"
},
"UpdateConnection":{
"name":"UpdateConnection",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateConnectionRequest"},
"output":{"shape":"UpdateConnectionResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Updates a connection definition in the Data Catalog.</p>"
},
"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":"<p>Updates a <code>Crawler</code>. If a <code>Crawler</code> is running, you must stop it using <code>StopCrawler</code> before updating it.</p>"
},
"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":"<p>Updates the schedule of a crawler using a Cron expression. </p>"
},
"UpdateDatabase":{
"name":"UpdateDatabase",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateDatabaseRequest"},
"output":{"shape":"UpdateDatabaseResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Updates an existing database definition in a Data Catalog.</p>"
},
"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":"<p>Updates a specified DevEndpoint.</p>"
},
"UpdateJob":{
"name":"UpdateJob",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateJobRequest"},
"output":{"shape":"UpdateJobResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"EntityNotFoundException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Updates an existing job definition.</p>"
},
"UpdatePartition":{
"name":"UpdatePartition",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdatePartitionRequest"},
"output":{"shape":"UpdatePartitionResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Updates a partition.</p>"
},
"UpdateTable":{
"name":"UpdateTable",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateTableRequest"},
"output":{"shape":"UpdateTableResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"},
{"shape":"ConcurrentModificationException"}
],
"documentation":"<p>Updates a metadata table in the Data Catalog.</p>"
},
"UpdateTrigger":{
"name":"UpdateTrigger",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateTriggerRequest"},
"output":{"shape":"UpdateTriggerResponse"},
"errors":[
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"EntityNotFoundException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Updates a trigger definition.</p>"
},
"UpdateUserDefinedFunction":{
"name":"UpdateUserDefinedFunction",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateUserDefinedFunctionRequest"},
"output":{"shape":"UpdateUserDefinedFunctionResponse"},
"errors":[
{"shape":"EntityNotFoundException"},
{"shape":"InvalidInputException"},
{"shape":"InternalServiceException"},
{"shape":"OperationTimeoutException"}
],
"documentation":"<p>Updates an existing function definition in the Data Catalog.</p>"
}
},
"shapes":{
"AccessDeniedException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>Access to a resource was denied.</p>",
"exception":true
},
"Action":{
"type":"structure",
"members":{
"JobName":{"shape":"NameString"},
"Arguments":{"shape":"GenericMap"}
}
},
"ActionList":{
"type":"list",
"member":{"shape":"Action"}
},
"AlreadyExistsException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>A resource to be created or added already exists.</p>",
"exception":true
},
"AttemptCount":{"type":"integer"},
"BatchCreatePartitionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableName",
"PartitionInputList"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the metadata database in which the partition is to be created.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the metadata table in which the partition is to be created.</p>"
},
"PartitionInputList":{
"shape":"PartitionInputList",
"documentation":"<p>A list of <code>PartitionInput</code> structures that define the partitions to be created.</p>"
}
}
},
"BatchCreatePartitionResponse":{
"type":"structure",
"members":{
"Errors":{
"shape":"PartitionErrors",
"documentation":"<p>Errors encountered when trying to create the requested partitions.</p>"
}
}
},
"BatchDeleteConnectionRequest":{
"type":"structure",
"required":["ConnectionNameList"],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.</p>"
},
"ConnectionNameList":{
"shape":"DeleteConnectionNameList",
"documentation":"<p>A list of names of the connections to delete.</p>"
}
}
},
"BatchDeleteConnectionResponse":{
"type":"structure",
"members":{
"Succeeded":{
"shape":"NameStringList",
"documentation":"<p>A list of names of the connection definitions that were successfully deleted.</p>"
},
"Errors":{
"shape":"ErrorByName",
"documentation":"<p>A map of the names of connections that were not successfully deleted to error details.</p>"
}
}
},
"BatchDeletePartitionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableName",
"PartitionsToDelete"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database in which the table in question resides.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the table where the partitions to be deleted is located.</p>"
},
"PartitionsToDelete":{
"shape":"BatchDeletePartitionValueList",
"documentation":"<p>A list of <code>PartitionInput</code> structures that define the partitions to be deleted.</p>"
}
}
},
"BatchDeletePartitionResponse":{
"type":"structure",
"members":{
"Errors":{
"shape":"PartitionErrors",
"documentation":"<p>Errors encountered when trying to delete the requested partitions.</p>"
}
}
},
"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":"<p>The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database where the tables to delete reside.</p>"
},
"TablesToDelete":{
"shape":"BatchDeleteTableNameList",
"documentation":"<p>A list of the table to delete.</p>"
}
}
},
"BatchDeleteTableResponse":{
"type":"structure",
"members":{
"Errors":{
"shape":"TableErrors",
"documentation":"<p>A list of errors encountered in attempting to delete the specified tables.</p>"
}
}
},
"BatchGetPartitionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableName",
"PartitionsToGet"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database where the partitions reside.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the partitions' table.</p>"
},
"PartitionsToGet":{
"shape":"BatchGetPartitionValueList",
"documentation":"<p>A list of partition values identifying the partitions to retrieve.</p>"
}
}
},
"BatchGetPartitionResponse":{
"type":"structure",
"members":{
"Partitions":{
"shape":"PartitionList",
"documentation":"<p>A list of the requested partitions.</p>"
},
"UnprocessedKeys":{
"shape":"BatchGetPartitionValueList",
"documentation":"<p>A list of the partition values in the request for which partions were not returned.</p>"
}
}
},
"BatchGetPartitionValueList":{
"type":"list",
"member":{"shape":"PartitionValueList"},
"max":1000,
"min":0
},
"Boolean":{"type":"boolean"},
"BooleanValue":{"type":"boolean"},
"BoundedPartitionValueList":{
"type":"list",
"member":{"shape":"ValueString"},
"max":100,
"min":0
},
"CatalogEntries":{
"type":"list",
"member":{"shape":"CatalogEntry"}
},
"CatalogEntry":{
"type":"structure",
"required":[
"DatabaseName",
"TableName"
],
"members":{
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The database in which the table metadata resides.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the table in question.</p>"
}
},
"documentation":"<p>Specifies a table definition in the Data Catalog.</p>"
},
"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":"<p>True if the migration has completed, or False otherwise.</p>"
},
"ImportTime":{
"shape":"Timestamp",
"documentation":"<p>The time that the migration was started.</p>"
},
"ImportedBy":{
"shape":"NameString",
"documentation":"<p>The name of the person who initiated the migration.</p>"
}
},
"documentation":"<p>A structure containing migration status information.</p>"
},
"Classification":{"type":"string"},
"Classifier":{
"type":"structure",
"members":{
"GrokClassifier":{
"shape":"GrokClassifier",
"documentation":"<p>A GrokClassifier object.</p>"
}
},
"documentation":"<p>Classifiers are written in Python and triggered during a Crawl Task. You can write your own Classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A Classifier first checks whether a given file is in a format it can handle, and then, if so, creates a schema in the form of a <code>StructType</code> object that matches that data format.</p>"
},
"ClassifierList":{
"type":"list",
"member":{"shape":"Classifier"}
},
"ClassifierNameList":{
"type":"list",
"member":{"shape":"NameString"}
},
"CodeGenArgName":{"type":"string"},
"CodeGenArgValue":{"type":"string"},
"CodeGenEdge":{
"type":"structure",
"required":[
"Source",
"Target"
],
"members":{
"Source":{
"shape":"CodeGenIdentifier",
"documentation":"<p>The ID of the node at which the edge starts.</p>"
},
"Target":{
"shape":"CodeGenIdentifier",
"documentation":"<p>The ID of the node at which the edge ends.</p>"
},
"TargetParameter":{
"shape":"CodeGenArgName",
"documentation":"<p>The target of the edge.</p>"
}
},
"documentation":"<p>Represents a directional edge in a directed acyclic graph (DAG).</p>"
},
"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":"<p>A node identifier that is unique within the node's graph.</p>"
},
"NodeType":{
"shape":"CodeGenNodeType",
"documentation":"<p>The type of node this is.</p>"
},
"Args":{
"shape":"CodeGenNodeArgs",
"documentation":"<p>Properties of the node, in the form of name-value pairs.</p>"
},
"LineNumber":{
"shape":"Integer",
"documentation":"<p>The line number of the node.</p>"
}
},
"documentation":"<p>Represents a node in a directed acyclic graph (DAG)</p>"
},
"CodeGenNodeArg":{
"type":"structure",
"required":[
"Name",
"Value"
],
"members":{
"Name":{
"shape":"CodeGenArgName",
"documentation":"<p>The name of the argument or property.</p>"
},
"Value":{
"shape":"CodeGenArgValue",
"documentation":"<p>The value of the argument or property.</p>"
},
"Param":{
"shape":"Boolean",
"documentation":"<p>True if the value is used as a parameter.</p>"
}
},
"documentation":"<p>An argument or property of a node.</p>"
},
"CodeGenNodeArgs":{
"type":"list",
"member":{"shape":"CodeGenNodeArg"},
"max":50,
"min":0
},
"CodeGenNodeType":{"type":"string"},
"Column":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the <code>Column</code>.</p>"
},
"Type":{
"shape":"ColumnTypeString",
"documentation":"<p>The datatype of data in the <code>Column</code>.</p>"
},
"Comment":{
"shape":"CommentString",
"documentation":"<p>Free-form text comment.</p>"
}
},
"documentation":"<p>A column in a <code>Table</code>.</p>"
},
"ColumnList":{
"type":"list",
"member":{"shape":"Column"}
},
"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]*"
},
"ConcurrentModificationException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>Two processes are trying to modify a resource simultaneously.</p>",
"exception":true
},
"ConcurrentRunsExceededException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>Too many jobs are being run concurrently.</p>",
"exception":true
},
"Condition":{
"type":"structure",
"members":{
"LogicalOperator":{"shape":"LogicalOperator"},
"JobName":{"shape":"NameString"},
"State":{"shape":"JobRunState"}
}
},
"ConditionList":{
"type":"list",
"member":{"shape":"Condition"}
},
"Connection":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the connection definition.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>Description of the connection.</p>"
},
"ConnectionType":{
"shape":"ConnectionType",
"documentation":"<p>The type of the connection.</p>"
},
"MatchCriteria":{
"shape":"MatchCriteria",
"documentation":"<p>A list of criteria that can be used in selecting this connection.</p>"
},
"ConnectionProperties":{
"shape":"ConnectionProperties",
"documentation":"<p>A list of key-value pairs used as parameters for this connection.</p>"
},
"PhysicalConnectionRequirements":{
"shape":"PhysicalConnectionRequirements",
"documentation":"<p>A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.</p>"
},
"CreationTime":{
"shape":"Timestamp",
"documentation":"<p>The time this connection definition was created.</p>"
},
"LastUpdatedTime":{
"shape":"Timestamp",
"documentation":"<p>The last time this connection definition was updated.</p>"
},
"LastUpdatedBy":{
"shape":"NameString",
"documentation":"<p>The user, group or role that last updated this connection definition.</p>"
}
},
"documentation":"<p>Defines a connection to a data source.</p>"
},
"ConnectionInput":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the connection.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>Description of the connection.</p>"
},
"ConnectionType":{
"shape":"ConnectionType",
"documentation":"<p>The type of the connection.</p>"
},
"MatchCriteria":{
"shape":"MatchCriteria",
"documentation":"<p>A list of criteria that can be used in selecting this connection.</p>"
},
"ConnectionProperties":{
"shape":"ConnectionProperties",
"documentation":"<p>A list of key-value pairs used as parameters for this connection.</p>"
},
"PhysicalConnectionRequirements":{
"shape":"PhysicalConnectionRequirements",
"documentation":"<p>A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.</p>"
}
},
"documentation":"<p>A structure used to specify a connection to create or update.</p>"
},
"ConnectionList":{
"type":"list",
"member":{"shape":"Connection"}
},
"ConnectionName":{"type":"string"},
"ConnectionProperties":{
"type":"map",
"key":{"shape":"ConnectionPropertyKey"},
"value":{"shape":"ValueString"},
"max":100,
"min":0
},
"ConnectionPropertyKey":{
"type":"string",
"enum":[
"HOST",
"PORT",
"USERNAME",
"PASSWORD",
"JDBC_DRIVER_JAR_URI",
"JDBC_DRIVER_CLASS_NAME",
"JDBC_ENGINE",
"JDBC_ENGINE_VERSION",
"CONFIG_FILES",
"INSTANCE_ID",
"JDBC_CONNECTION_URL"
]
},
"ConnectionType":{
"type":"string",
"enum":[
"JDBC",
"SFTP"
]
},
"ConnectionsList":{
"type":"structure",
"members":{
"Connections":{
"shape":"StringList",
"documentation":"<p>A list of connections used by the job.</p>"
}
},
"documentation":"<p>Specifies the connections used by a job.</p>"
},
"Crawler":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The <code>Crawler</code> name.</p>"
},
"Role":{
"shape":"RoleArn",
"documentation":"<p>The ARN of an IAM role used to access customer resources such as data in S3.</p>"
},
"Targets":{
"shape":"CrawlerTargets",
"documentation":"<p>A collection of targets to crawl.</p>"
},
"DatabaseName":{
"shape":"DatabaseName",
"documentation":"<p>The <code>Database</code> where this Crawler's output should be stored.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>A description of this Crawler and where it should be used.</p>"
},
"Classifiers":{
"shape":"ClassifierNameList",
"documentation":"<p>A list of custom <code>Classifier</code>s associated with this Crawler.</p>"
},
"SchemaChangePolicy":{
"shape":"SchemaChangePolicy",
"documentation":"<p>Sets policy for the crawler's update and delete behavior.</p>"
},
"State":{
"shape":"CrawlerState",
"documentation":"<p>Indicates whether this Crawler is running, or whether a run is pending.</p>"
},
"TablePrefix":{
"shape":"TablePrefix",
"documentation":"<p>The table prefix used for catalog tables created.</p>"
},
"Schedule":{
"shape":"Schedule",
"documentation":"<p>A <code>Schedule</code> object that specifies the schedule on which this Crawler is to be run.</p>"
},
"CrawlElapsedTime":{
"shape":"MillisecondsCount",
"documentation":"<p>If this Crawler is running, contains the total time elapsed since the last crawl began.</p>"
},
"CreationTime":{
"shape":"Timestamp",
"documentation":"<p>The time when the Crawler was created.</p>"
},
"LastUpdated":{
"shape":"Timestamp",
"documentation":"<p>The time the Crawler was last updated.</p>"
},
"LastCrawl":{
"shape":"LastCrawlInfo",
"documentation":"<p>The status of the last crawl, and potentially error information if an error occurred.</p>"
},
"Version":{
"shape":"VersionId",
"documentation":"<p>The version of the Crawler.</p>"
}
},
"documentation":"<p>Specifies a crawler program that examines a data source and uses classifiers to try to its schema. If successful, the crawler records metatdata concerning the data source in the Data Catalog.</p>"
},
"CrawlerList":{
"type":"list",
"member":{"shape":"Crawler"}
},
"CrawlerMetrics":{
"type":"structure",
"members":{
"CrawlerName":{
"shape":"NameString",
"documentation":"<p>The name of the crawler.</p>"
},
"TimeLeftSeconds":{
"shape":"NonNegativeDouble",
"documentation":"<p>The estimated time left to complete a running crawl.</p>"
},
"StillEstimating":{
"shape":"Boolean",
"documentation":"<p>True if the crawler is estimating its </p>"
},
"LastRuntimeSeconds":{
"shape":"NonNegativeDouble",
"documentation":"<p>The duration of the crawler's most recent run, in seconds.</p>"
},
"MedianRuntimeSeconds":{
"shape":"NonNegativeDouble",
"documentation":"<p>The median duration of this crawler's runs, in seconds.</p>"
},
"TablesCreated":{
"shape":"NonNegativeInteger",
"documentation":"<p>A list of the tables created by this crawler.</p>"
},
"TablesUpdated":{
"shape":"NonNegativeInteger",
"documentation":"<p>A list of the tables created by this crawler.</p>"
},
"TablesDeleted":{
"shape":"NonNegativeInteger",
"documentation":"<p>A list of the tables deleted by this crawler.</p>"
}
},
"documentation":"<p>Metrics for a specified crawler.</p>"
},
"CrawlerMetricsList":{
"type":"list",
"member":{"shape":"CrawlerMetrics"}
},
"CrawlerNameList":{
"type":"list",
"member":{"shape":"NameString"},
"max":100,
"min":0
},
"CrawlerNotRunningException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>The specified crawler is not running.</p>",
"exception":true
},
"CrawlerRunningException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>The operation cannot be performed because the crawler is already running.</p>",
"exception":true
},
"CrawlerState":{
"type":"string",
"enum":[
"READY",
"RUNNING",
"STOPPING"
]
},
"CrawlerStoppingException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>The specified crawler is stopping.</p>",
"exception":true
},
"CrawlerTargets":{
"type":"structure",
"members":{
"S3Targets":{
"shape":"S3TargetList",
"documentation":"<p>Specifies targets in AWS S3.</p>"
},
"JdbcTargets":{
"shape":"JdbcTargetList",
"documentation":"<p>Specifies JDBC targets.</p>"
}
},
"documentation":"<p>Specifies crawler targets.</p>"
},
"CreateClassifierRequest":{
"type":"structure",
"members":{
"GrokClassifier":{
"shape":"CreateGrokClassifierRequest",
"documentation":"<p>A grok classifier to create.</p>"
}
}
},
"CreateClassifierResponse":{
"type":"structure",
"members":{
}
},
"CreateConnectionRequest":{
"type":"structure",
"required":["ConnectionInput"],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.</p>"
},
"ConnectionInput":{
"shape":"ConnectionInput",
"documentation":"<p>A <code>ConnectionInput</code> object defining the connection to create.</p>"
}
}
},
"CreateConnectionResponse":{
"type":"structure",
"members":{
}
},
"CreateCrawlerRequest":{
"type":"structure",
"required":[
"Name",
"Role",
"DatabaseName",
"Targets"
],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the new <code>Crawler</code>.</p>"
},
"Role":{
"shape":"RoleArn",
"documentation":"<p>The AWS ARN of the IAM role used by the new <code>Crawler</code> to access customer resources.</p>"
},
"DatabaseName":{
"shape":"DatabaseName",
"documentation":"<p>The Glue <code>Database</code> where results will be stored, such as: <code>arn:aws:daylight:us-east-1::database/sometable/*</code>.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>A description of the new <code>Crawler</code>.</p>"
},
"Targets":{
"shape":"CrawlerTargets",
"documentation":"<p>A list of collection of targets to crawl.</p>"
},
"Schedule":{
"shape":"CronExpression",
"documentation":"<p>A cron expression that can be used as a Cloudwatch event (see <a href=\"http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html\">CloudWatch Schedule Expression Syntax</a>. For example, to run every day at 12:15 UTC, specify: <code>cron(15 12 * * ? *)</code>.</p>"
},
"Classifiers":{
"shape":"ClassifierNameList",
"documentation":"<p>A list of custom <code>Classifier</code> names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.</p>"
},
"TablePrefix":{
"shape":"TablePrefix",
"documentation":"<p>The table prefix used for catalog tables created.</p>"
},
"SchemaChangePolicy":{
"shape":"SchemaChangePolicy",
"documentation":"<p>Policy for the crawler's update and deletion behavior.</p>"
}
}
},
"CreateCrawlerResponse":{
"type":"structure",
"members":{
}
},
"CreateDatabaseRequest":{
"type":"structure",
"required":["DatabaseInput"],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which to create the database. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseInput":{
"shape":"DatabaseInput",
"documentation":"<p>A <code>DatabaseInput</code> object defining the metadata database to create in the catalog.</p>"
}
}
},
"CreateDatabaseResponse":{
"type":"structure",
"members":{
}
},
"CreateDevEndpointRequest":{
"type":"structure",
"required":[
"EndpointName",
"RoleArn",
"SecurityGroupIds",
"SubnetId"
],
"members":{
"EndpointName":{
"shape":"GenericString",
"documentation":"<p>The name to be assigned to the new DevEndpoint.</p>"
},
"RoleArn":{
"shape":"RoleArn",
"documentation":"<p>The IAM role for the DevEndpoint.</p>"
},
"SecurityGroupIds":{
"shape":"StringList",
"documentation":"<p>Security group IDs for the security groups to be used by the new DevEndpoint.</p>"
},
"SubnetId":{
"shape":"GenericString",
"documentation":"<p>The subnet ID for the new DevEndpoint to use.</p>"
},
"PublicKey":{
"shape":"GenericString",
"documentation":"<p>The public key to use for authentication.</p>"
},
"NumberOfNodes":{
"shape":"IntegerValue",
"documentation":"<p>The number of nodes to use.</p>"
},
"ExtraPythonLibsS3Path":{
"shape":"GenericString",
"documentation":"<p>Path to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint.</p>"
},
"ExtraJarsS3Path":{
"shape":"GenericString",
"documentation":"<p>Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.</p>"
}
}
},
"CreateDevEndpointResponse":{
"type":"structure",
"members":{
"EndpointName":{
"shape":"GenericString",
"documentation":"<p>The name assigned to the new DevEndpoint.</p>"
},
"Status":{
"shape":"GenericString",
"documentation":"<p>The current status of the new DevEndpoint.</p>"
},
"SecurityGroupIds":{
"shape":"StringList",
"documentation":"<p>The security groups assigned to the new DevEndpoint.</p>"
},
"SubnetId":{
"shape":"GenericString",
"documentation":"<p>The subnet ID assigned to the new DevEndpoint.</p>"
},
"RoleArn":{
"shape":"RoleArn",
"documentation":"<p>The AWS ARN of the role assigned to the new DevEndpoint.</p>"
},
"YarnEndpointAddress":{
"shape":"GenericString",
"documentation":"<p>The address of the YARN endpoint used by this DevEndpoint.</p>"
},
"NumberOfNodes":{
"shape":"IntegerValue",
"documentation":"<p>The number of nodes in this DevEndpoint.</p>"
},
"AvailabilityZone":{
"shape":"GenericString",
"documentation":"<p>The AWS availability zone where this DevEndpoint is located.</p>"
},
"VpcId":{
"shape":"GenericString",
"documentation":"<p>The ID of the VPC used by this DevEndpoint.</p>"
},
"ExtraPythonLibsS3Path":{
"shape":"GenericString",
"documentation":"<p>Path to one or more Python libraries in an S3 bucket that will be loaded in your DevEndpoint.</p>"
},
"ExtraJarsS3Path":{
"shape":"GenericString",
"documentation":"<p>Path to one or more Java Jars in an S3 bucket that will be loaded in your DevEndpoint.</p>"
},
"FailureReason":{
"shape":"GenericString",
"documentation":"<p>The reason for a current failure in this DevEndpoint.</p>"
},
"CreatedTimestamp":{
"shape":"TimestampValue",
"documentation":"<p>The point in time at which this DevEndpoint was created.</p>"
}
}
},
"CreateGrokClassifierRequest":{
"type":"structure",
"required":[
"Classification",
"Name",
"GrokPattern"
],
"members":{
"Classification":{
"shape":"Classification",
"documentation":"<p>The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.</p>"
},
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the new Classifier.</p>"
},
"GrokPattern":{
"shape":"GrokPattern",
"documentation":"<p>The grok pattern used by this classifier.</p>"
},
"CustomPatterns":{
"shape":"CustomPatterns",
"documentation":"<p>Custom grok patterns used by this classifier.</p>"
}
},
"documentation":"<p>Specifies a Grok classifier for CreateClassifier to create.</p>"
},
"CreateJobRequest":{
"type":"structure",
"required":[
"Name",
"Role",
"Command"
],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name you assign to this job.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>Description of the job.</p>"
},
"LogUri":{
"shape":"UriString",
"documentation":"<p>Location of the logs for this job.</p>"
},
"Role":{
"shape":"RoleString",
"documentation":"<p>The role associated with this job.</p>"
},
"ExecutionProperty":{
"shape":"ExecutionProperty",
"documentation":"<p>An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.</p>"
},
"Command":{
"shape":"JobCommand",
"documentation":"<p>The JobCommand that executes this job.</p>"
},
"DefaultArguments":{
"shape":"GenericMap",
"documentation":"<p>The default parameters for this job.</p>"
},
"Connections":{
"shape":"ConnectionsList",
"documentation":"<p>The connections used for this job.</p>"
},
"MaxRetries":{
"shape":"MaxRetries",
"documentation":"<p>The maximum number of times to retry this job if it fails.</p>"
},
"AllocatedCapacity":{
"shape":"IntegerValue",
"documentation":"<p>The number of capacity units allocated to this job.</p>"
}
}
},
"CreateJobResponse":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The unique name of the new job that has been created.</p>"
}
}
},
"CreatePartitionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableName",
"PartitionInput"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the metadata database in which the partition is to be created.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the metadata table in which the partition is to be created.</p>"
},
"PartitionInput":{
"shape":"PartitionInput",
"documentation":"<p>A <code>PartitionInput</code> structure defining the partition to be created.</p>"
}
}
},
"CreatePartitionResponse":{
"type":"structure",
"members":{
}
},
"CreateScriptRequest":{
"type":"structure",
"members":{
"DagNodes":{
"shape":"DagNodes",
"documentation":"<p>A list of the nodes in the DAG.</p>"
},
"DagEdges":{
"shape":"DagEdges",
"documentation":"<p>A list of the edges in the DAG.</p>"
}
}
},
"CreateScriptResponse":{
"type":"structure",
"members":{
"PythonScript":{
"shape":"PythonScript",
"documentation":"<p>The Python script generated from the DAG.</p>"
}
}
},
"CreateTableRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableInput"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which to create the <code>Table</code>. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The catalog database in which to create the new table.</p>"
},
"TableInput":{
"shape":"TableInput",
"documentation":"<p>The <code>TableInput</code> object that defines the metadata table to create in the catalog.</p>"
}
}
},
"CreateTableResponse":{
"type":"structure",
"members":{
}
},
"CreateTriggerRequest":{
"type":"structure",
"required":[
"Name",
"Type",
"Actions"
],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name to assign to the new trigger.</p>"
},
"Type":{
"shape":"TriggerType",
"documentation":"<p>The type of the new trigger.</p>"
},
"Schedule":{
"shape":"GenericString",
"documentation":"<p>A cron schedule expression for the new trigger.</p>"
},
"Predicate":{
"shape":"Predicate",
"documentation":"<p>A predicate to specify when the new trigger should fire.</p>"
},
"Actions":{
"shape":"ActionList",
"documentation":"<p>The actions initiated by this trigger when it fires.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>A description of the new trigger.</p>"
}
}
},
"CreateTriggerResponse":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name assigned to the new trigger.</p>"
}
}
},
"CreateUserDefinedFunctionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"FunctionInput"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which to create the function. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database in which to create the function.</p>"
},
"FunctionInput":{
"shape":"UserDefinedFunctionInput",
"documentation":"<p>A <code>FunctionInput</code> object that defines the function to create in the Data Catalog.</p>"
}
}
},
"CreateUserDefinedFunctionResponse":{
"type":"structure",
"members":{
}
},
"CronExpression":{"type":"string"},
"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"}
},
"Database":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the database.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>Description of the database.</p>"
},
"LocationUri":{
"shape":"URI",
"documentation":"<p>The location of the database (for example, an HDFS path).</p>"
},
"Parameters":{
"shape":"ParametersMap",
"documentation":"<p>A list of key-value pairs that define parameters and properties of the database.</p>"
},
"CreateTime":{
"shape":"Timestamp",
"documentation":"<p>The time at which the metadata database was created in the catalog.</p>"
}
},
"documentation":"<p>The <code>Database</code> object represents a logical grouping of tables that may reside in a Hive metastore or an RDBMS.</p>"
},
"DatabaseInput":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the database.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>Description of the database</p>"
},
"LocationUri":{
"shape":"URI",
"documentation":"<p>The location of the database (for example, an HDFS path).</p>"
},
"Parameters":{
"shape":"ParametersMap",
"documentation":"<p>A list of key-value pairs that define parameters and properties of the database.</p>"
}
},
"documentation":"<p>The structure used to create or updata a database.</p>"
},
"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":"<p>Name of the <code>Classifier</code> to remove.</p>"
}
}
},
"DeleteClassifierResponse":{
"type":"structure",
"members":{
}
},
"DeleteConnectionNameList":{
"type":"list",
"member":{"shape":"NameString"},
"max":25,
"min":0
},
"DeleteConnectionRequest":{
"type":"structure",
"required":["ConnectionName"],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"ConnectionName":{
"shape":"NameString",
"documentation":"<p>The name of the connection to delete.</p>"
}
}
},
"DeleteConnectionResponse":{
"type":"structure",
"members":{
}
},
"DeleteCrawlerRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the <code>Crawler</code> to remove.</p>"
}
}
},
"DeleteCrawlerResponse":{
"type":"structure",
"members":{
}
},
"DeleteDatabaseRequest":{
"type":"structure",
"required":["Name"],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the Database to delete.</p>"
}
}
},
"DeleteDatabaseResponse":{
"type":"structure",
"members":{
}
},
"DeleteDevEndpointRequest":{
"type":"structure",
"required":["EndpointName"],
"members":{
"EndpointName":{
"shape":"GenericString",
"documentation":"<p>The name of the DevEndpoint.</p>"
}
}
},
"DeleteDevEndpointResponse":{
"type":"structure",
"members":{
}
},
"DeleteJobRequest":{
"type":"structure",
"required":["JobName"],
"members":{
"JobName":{
"shape":"NameString",
"documentation":"<p>The name of the job to delete.</p>"
}
}
},
"DeleteJobResponse":{
"type":"structure",
"members":{
"JobName":{
"shape":"NameString",
"documentation":"<p>The name of the job that was deleted.</p>"
}
}
},
"DeletePartitionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableName",
"PartitionValues"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database in which the table in question resides.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the table where the partition to be deleted is located.</p>"
},
"PartitionValues":{
"shape":"ValueStringList",
"documentation":"<p>The values that define the partition.</p>"
}
}
},
"DeletePartitionResponse":{
"type":"structure",
"members":{
}
},
"DeleteTableRequest":{
"type":"structure",
"required":[
"DatabaseName",
"Name"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database in which the table resides.</p>"
},
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the table to be deleted.</p>"
}
}
},
"DeleteTableResponse":{
"type":"structure",
"members":{
}
},
"DeleteTriggerRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the trigger to delete.</p>"
}
}
},
"DeleteTriggerResponse":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the trigger that was deleted.</p>"
}
}
},
"DeleteUserDefinedFunctionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"FunctionName"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>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.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database where the function is located.</p>"
},
"FunctionName":{
"shape":"NameString",
"documentation":"<p>The name of the function definition to be deleted.</p>"
}
}
},
"DeleteUserDefinedFunctionResponse":{
"type":"structure",
"members":{
}
},
"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":"<p>The name of the DevEndpoint.</p>"
},
"RoleArn":{
"shape":"RoleArn",
"documentation":"<p>The AWS ARN of the IAM role used in this DevEndpoint.</p>"
},
"SecurityGroupIds":{
"shape":"StringList",
"documentation":"<p>A list of security group identifiers used in this DevEndpoint.</p>"
},
"SubnetId":{
"shape":"GenericString",
"documentation":"<p>The subnet ID for this DevEndpoint.</p>"
},
"YarnEndpointAddress":{
"shape":"GenericString",
"documentation":"<p>The YARN endpoint address used by this DevEndpoint.</p>"
},
"PublicAddress":{
"shape":"GenericString",
"documentation":"<p>The public address used by this DevEndpoint.</p>"
},
"Status":{
"shape":"GenericString",
"documentation":"<p>The current status of this DevEndpoint.</p>"
},
"NumberOfNodes":{
"shape":"IntegerValue",
"documentation":"<p>The number of nodes used by this DevEndpoint.</p>"
},
"AvailabilityZone":{
"shape":"GenericString",
"documentation":"<p>The AWS availability zone where this DevEndpoint is located.</p>"
},
"VpcId":{
"shape":"GenericString",
"documentation":"<p>The ID of the virtual private cloud (VPC) used by this DevEndpoint.</p>"
},
"ExtraPythonLibsS3Path":{
"shape":"GenericString",
"documentation":"<p>Path to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint.</p>"
},
"ExtraJarsS3Path":{
"shape":"GenericString",
"documentation":"<p>Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.</p>"
},
"FailureReason":{
"shape":"GenericString",
"documentation":"<p>The reason for a current failure in this DevEndpoint.</p>"
},
"LastUpdateStatus":{
"shape":"GenericString",
"documentation":"<p>The status of the last update.</p>"
},
"CreatedTimestamp":{
"shape":"TimestampValue",
"documentation":"<p>The point in time at which this DevEndpoint was created.</p>"
},
"LastModifiedTimestamp":{
"shape":"TimestampValue",
"documentation":"<p>The point in time at which this DevEndpoint was last modified.</p>"
},
"PublicKey":{
"shape":"GenericString",
"documentation":"<p>The public key to be used by this DevEndpoint for authentication.</p>"
}
},
"documentation":"<p>A development endpoint where a developer can remotely debug ETL scripts.</p>"
},
"DevEndpointCustomLibraries":{
"type":"structure",
"members":{
"ExtraPythonLibsS3Path":{
"shape":"GenericString",
"documentation":"<p>Path to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint.</p>"
},
"ExtraJarsS3Path":{
"shape":"GenericString",
"documentation":"<p>Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.</p>"
}
},
"documentation":"<p>Custom libraries to be loaded into a DevEndpoint.</p>"
},
"DevEndpointList":{
"type":"list",
"member":{"shape":"DevEndpoint"}
},
"EntityNotFoundException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>A specified entity does not exist</p>",
"exception":true
},
"ErrorByName":{
"type":"map",
"key":{"shape":"NameString"},
"value":{"shape":"ErrorDetail"}
},
"ErrorDetail":{
"type":"structure",
"members":{
"ErrorCode":{
"shape":"NameString",
"documentation":"<p>The code associated with this error.</p>"
},
"ErrorMessage":{
"shape":"DescriptionString",
"documentation":"<p>A message describing the error.</p>"
}
},
"documentation":"<p>Contains details about an error.</p>"
},
"ErrorString":{"type":"string"},
"ExecutionProperty":{
"type":"structure",
"members":{
"MaxConcurrentRuns":{
"shape":"MaxConcurrentRuns",
"documentation":"<p>The maximum number of concurrent runs allowed for a job.</p>"
}
},
"documentation":"<p>An execution property of a job.</p>"
},
"FieldType":{"type":"string"},
"FilterString":{
"type":"string",
"max":2048,
"min":0,
"pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*"
},
"FormatString":{
"type":"string",
"max":128,
"pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*"
},
"GenericMap":{
"type":"map",
"key":{"shape":"GenericString"},
"value":{"shape":"GenericString"}
},
"GenericString":{"type":"string"},
"GetCatalogImportStatusRequest":{
"type":"structure",
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the catalog to migrate. Currently, this should be the AWS account ID.</p>"
}
}
},
"GetCatalogImportStatusResponse":{
"type":"structure",
"members":{
"ImportStatus":{
"shape":"CatalogImportStatus",
"documentation":"<p>The status of the specified catalog migration.</p>"
}
}
},
"GetClassifierRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the <code>Classifier</code> to retrieve.</p>"
}
}
},
"GetClassifierResponse":{
"type":"structure",
"members":{
"Classifier":{
"shape":"Classifier",
"documentation":"<p>The requested <code>Classifier</code>.</p>"
}
}
},
"GetClassifiersRequest":{
"type":"structure",
"members":{
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>Size of the list to return (optional).</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>An optional continuation token.</p>"
}
}
},
"GetClassifiersResponse":{
"type":"structure",
"members":{
"Classifiers":{
"shape":"ClassifierList",
"documentation":"<p>The requested list of <code>Classifier</code> objects.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token.</p>"
}
}
},
"GetConnectionRequest":{
"type":"structure",
"required":["Name"],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the connection definition to retrieve.</p>"
}
}
},
"GetConnectionResponse":{
"type":"structure",
"members":{
"Connection":{
"shape":"Connection",
"documentation":"<p>The requested connection definition.</p>"
}
}
},
"GetConnectionsFilter":{
"type":"structure",
"members":{
"MatchCriteria":{
"shape":"MatchCriteria",
"documentation":"<p>A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned.</p>"
},
"ConnectionType":{
"shape":"ConnectionType",
"documentation":"<p>The type of connections to return.</p>"
}
},
"documentation":"<p>Filters the connection definitions returned by the <code>GetConnections</code> API.</p>"
},
"GetConnectionsRequest":{
"type":"structure",
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.</p>"
},
"Filter":{
"shape":"GetConnectionsFilter",
"documentation":"<p>A filter that controls which connections will be returned.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if this is a continuation call.</p>"
},
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum number of connections to return in one response.</p>"
}
}
},
"GetConnectionsResponse":{
"type":"structure",
"members":{
"ConnectionList":{
"shape":"ConnectionList",
"documentation":"<p>A list of requested connection definitions.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if the list of connections returned does not include the last of the filtered connections.</p>"
}
}
},
"GetCrawlerMetricsRequest":{
"type":"structure",
"members":{
"CrawlerNameList":{
"shape":"CrawlerNameList",
"documentation":"<p>A list of the names of crawlers about which to retrieve metrics.</p>"
},
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum size of a list to return.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if this is a continuation call.</p>"
}
}
},
"GetCrawlerMetricsResponse":{
"type":"structure",
"members":{
"CrawlerMetricsList":{
"shape":"CrawlerMetricsList",
"documentation":"<p>A list of metrics for the specified crawler.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if the returned list does not contain the last metric available.</p>"
}
}
},
"GetCrawlerRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the <code>Crawler</code> to retrieve metadata for.</p>"
}
}
},
"GetCrawlerResponse":{
"type":"structure",
"members":{
"Crawler":{
"shape":"Crawler",
"documentation":"<p>The metadata for the specified <code>Crawler</code>.</p>"
}
}
},
"GetCrawlersRequest":{
"type":"structure",
"members":{
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The number of Crawlers to return on each call.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if this is a continuation request.</p>"
}
}
},
"GetCrawlersResponse":{
"type":"structure",
"members":{
"Crawlers":{
"shape":"CrawlerList",
"documentation":"<p>A list of <code>Crawler</code> metadata.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if the returned list has not reached the end of those defined in this customer account.</p>"
}
}
},
"GetDatabaseRequest":{
"type":"structure",
"required":["Name"],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the database to retrieve.</p>"
}
}
},
"GetDatabaseResponse":{
"type":"structure",
"members":{
"Database":{
"shape":"Database",
"documentation":"<p>The definition of the specified database in the catalog.</p>"
}
}
},
"GetDatabasesRequest":{
"type":"structure",
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog from which to retrieve <code>Databases</code>. If none is supplied, the AWS account ID is used by default.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if this is a continuation call.</p>"
},
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum number of databases to return in one response.</p>"
}
}
},
"GetDatabasesResponse":{
"type":"structure",
"required":["DatabaseList"],
"members":{
"DatabaseList":{
"shape":"DatabaseList",
"documentation":"<p>A list of <code>Database</code> objects from the specified catalog.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.</p>"
}
}
},
"GetDataflowGraphRequest":{
"type":"structure",
"members":{
"PythonScript":{
"shape":"PythonScript",
"documentation":"<p>The Python script to transform.</p>"
}
}
},
"GetDataflowGraphResponse":{
"type":"structure",
"members":{
"DagNodes":{
"shape":"DagNodes",
"documentation":"<p>A list of the nodes in the resulting DAG.</p>"
},
"DagEdges":{
"shape":"DagEdges",
"documentation":"<p>A list of the edges in the resulting DAG.</p>"
}
}
},
"GetDevEndpointRequest":{
"type":"structure",
"required":["EndpointName"],
"members":{
"EndpointName":{
"shape":"GenericString",
"documentation":"<p>Name of the DevEndpoint for which to retrieve information.</p>"
}
}
},
"GetDevEndpointResponse":{
"type":"structure",
"members":{
"DevEndpoint":{
"shape":"DevEndpoint",
"documentation":"<p>A DevEndpoint definition.</p>"
}
}
},
"GetDevEndpointsRequest":{
"type":"structure",
"members":{
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum size of information to return.</p>"
},
"NextToken":{
"shape":"GenericString",
"documentation":"<p>A continuation token, if this is a continuation call.</p>"
}
}
},
"GetDevEndpointsResponse":{
"type":"structure",
"members":{
"DevEndpoints":{
"shape":"DevEndpointList",
"documentation":"<p>A list of DevEndpoint definitions.</p>"
},
"NextToken":{
"shape":"GenericString",
"documentation":"<p>A continuation token, if not all DevEndpoint definitions have yet been returned.</p>"
}
}
},
"GetJobRequest":{
"type":"structure",
"required":["JobName"],
"members":{
"JobName":{
"shape":"NameString",
"documentation":"<p>The name of the job to retrieve.</p>"
}
}
},
"GetJobResponse":{
"type":"structure",
"members":{
"Job":{
"shape":"Job",
"documentation":"<p>The requested job definition.</p>"
}
}
},
"GetJobRunRequest":{
"type":"structure",
"required":[
"JobName",
"RunId"
],
"members":{
"JobName":{
"shape":"NameString",
"documentation":"<p>Name of the job being run.</p>"
},
"RunId":{
"shape":"IdString",
"documentation":"<p>The ID of the job run.</p>"
},
"PredecessorsIncluded":{
"shape":"BooleanValue",
"documentation":"<p>A list of the predecessor runs to return as well.</p>"
}
}
},
"GetJobRunResponse":{
"type":"structure",
"members":{
"JobRun":{
"shape":"JobRun",
"documentation":"<p>The requested job-run metadata.</p>"
}
}
},
"GetJobRunsRequest":{
"type":"structure",
"required":["JobName"],
"members":{
"JobName":{
"shape":"NameString",
"documentation":"<p>The name of the job for which to retrieve all job runs.</p>"
},
"NextToken":{
"shape":"GenericString",
"documentation":"<p>A continuation token, if this is a continuation call.</p>"
},
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum size of the response.</p>"
}
}
},
"GetJobRunsResponse":{
"type":"structure",
"members":{
"JobRuns":{
"shape":"JobRunList",
"documentation":"<p>A list of job-run metatdata objects.</p>"
},
"NextToken":{
"shape":"GenericString",
"documentation":"<p>A continuation token, if not all reequested job runs have been returned.</p>"
}
}
},
"GetJobsRequest":{
"type":"structure",
"members":{
"NextToken":{
"shape":"GenericString",
"documentation":"<p>A continuation token, if this is a continuation call.</p>"
},
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum size of the response.</p>"
}
}
},
"GetJobsResponse":{
"type":"structure",
"members":{
"Jobs":{
"shape":"JobList",
"documentation":"<p>A list of jobs.</p>"
},
"NextToken":{
"shape":"GenericString",
"documentation":"<p>A continuation token, if not all jobs have yet been returned.</p>"
}
}
},
"GetMappingRequest":{
"type":"structure",
"required":["Source"],
"members":{
"Source":{
"shape":"CatalogEntry",
"documentation":"<p>Specifies the source table.</p>"
},
"Sinks":{
"shape":"CatalogEntries",
"documentation":"<p>A list of target tables.</p>"
},
"Location":{
"shape":"Location",
"documentation":"<p>Parameters for the mapping.</p>"
}
}
},
"GetMappingResponse":{
"type":"structure",
"required":["Mapping"],
"members":{
"Mapping":{
"shape":"MappingList",
"documentation":"<p>A list of mappings to the specified targets.</p>"
}
}
},
"GetPartitionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableName",
"PartitionValues"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the partition in question resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database where the partition resides.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the partition's table.</p>"
},
"PartitionValues":{
"shape":"ValueStringList",
"documentation":"<p>The values that define the partition.</p>"
}
}
},
"GetPartitionResponse":{
"type":"structure",
"members":{
"Partition":{
"shape":"Partition",
"documentation":"<p>The requested information, in the form of a <code>Partition</code> object.</p>"
}
}
},
"GetPartitionsRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableName"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database where the partitions reside.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the partitions' table.</p>"
},
"Expression":{
"shape":"PredicateString",
"documentation":"<p>An expression filtering the partitions to be returned.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if this is not the first call to retrieve these partitions.</p>"
},
"Segment":{
"shape":"Segment",
"documentation":"<p>The segment of the table's partitions to scan in this request.</p>"
},
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum number of partitions to return in a single response.</p>"
}
}
},
"GetPartitionsResponse":{
"type":"structure",
"members":{
"Partitions":{
"shape":"PartitionList",
"documentation":"<p>A list of requested partitions.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if the returned list of partitions does not does not include the last one.</p>"
}
}
},
"GetPlanRequest":{
"type":"structure",
"required":[
"Mapping",
"Source"
],
"members":{
"Mapping":{
"shape":"MappingList",
"documentation":"<p>The list of mappings from a source table to target tables.</p>"
},
"Source":{
"shape":"CatalogEntry",
"documentation":"<p>The source table.</p>"
},
"Sinks":{
"shape":"CatalogEntries",
"documentation":"<p>The target tables.</p>"
},
"Location":{
"shape":"Location",
"documentation":"<p>Parameters for the mapping.</p>"
}
}
},
"GetPlanResponse":{
"type":"structure",
"members":{
"PythonScript":{
"shape":"PythonScript",
"documentation":"<p>A python script to perform the mapping.</p>"
}
}
},
"GetTableRequest":{
"type":"structure",
"required":[
"DatabaseName",
"Name"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the database in the catalog in which the table resides.</p>"
},
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the table for which to retrieve the definition.</p>"
}
}
},
"GetTableResponse":{
"type":"structure",
"members":{
"Table":{
"shape":"Table",
"documentation":"<p>The <code>Table</code> object that defines the specified table.</p>"
}
}
},
"GetTableVersionsList":{
"type":"list",
"member":{"shape":"TableVersion"}
},
"GetTableVersionsRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableName"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The database in the catalog in which the table resides.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the table.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if this is not the first call.</p>"
},
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum number of table versions to return in one response.</p>"
}
}
},
"GetTableVersionsResponse":{
"type":"structure",
"members":{
"TableVersions":{
"shape":"GetTableVersionsList",
"documentation":"<p>A list of strings identifying available versions of the specified table.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if the list of available versions does not include the last one.</p>"
}
}
},
"GetTablesRequest":{
"type":"structure",
"required":["DatabaseName"],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The database in the catalog whose tables to list.</p>"
},
"Expression":{
"shape":"FilterString",
"documentation":"<p>A regular expression pattern. If present, only those tables whose names match the pattern are returned.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, included if this is a continuation call.</p>"
},
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum number of tables to return in a single response.</p>"
}
}
},
"GetTablesResponse":{
"type":"structure",
"members":{
"TableList":{
"shape":"TableList",
"documentation":"<p>A list of the requested <code>Table</code> objects.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, present if the current list segment is not the last.</p>"
}
}
},
"GetTriggerRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the trigger to retrieve.</p>"
}
}
},
"GetTriggerResponse":{
"type":"structure",
"members":{
"Trigger":{
"shape":"Trigger",
"documentation":"<p>The requested trigger definition.</p>"
}
}
},
"GetTriggersRequest":{
"type":"structure",
"members":{
"NextToken":{
"shape":"GenericString",
"documentation":"<p>A continuation token, if this is a continuation call.</p>"
},
"DependentJobName":{
"shape":"NameString",
"documentation":"<p>The name of the job for which to retrieve triggers.</p>"
},
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum size of the response.</p>"
}
}
},
"GetTriggersResponse":{
"type":"structure",
"members":{
"Triggers":{
"shape":"TriggerList",
"documentation":"<p>A list of triggers for the specified job.</p>"
},
"NextToken":{
"shape":"GenericString",
"documentation":"<p>A continuation token, if not all the requested triggers have yet been returned.</p>"
}
}
},
"GetUserDefinedFunctionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"FunctionName"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the function to be retrieved is located. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database where the function is located.</p>"
},
"FunctionName":{
"shape":"NameString",
"documentation":"<p>The name of the function.</p>"
}
}
},
"GetUserDefinedFunctionResponse":{
"type":"structure",
"members":{
"UserDefinedFunction":{
"shape":"UserDefinedFunction",
"documentation":"<p>The requested function definition.</p>"
}
}
},
"GetUserDefinedFunctionsRequest":{
"type":"structure",
"required":[
"DatabaseName",
"Pattern"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the functions to be retrieved are located. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database where the functions are located.</p>"
},
"Pattern":{
"shape":"NameString",
"documentation":"<p>An optional function-name pattern string that filters the function definitions returned.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if this is a continuation call.</p>"
},
"MaxResults":{
"shape":"PageSize",
"documentation":"<p>The maximum number of functions to return in one response.</p>"
}
}
},
"GetUserDefinedFunctionsResponse":{
"type":"structure",
"members":{
"UserDefinedFunctions":{
"shape":"UserDefinedFunctionList",
"documentation":"<p>A list of requested function definitions.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>A continuation token, if the list of functions returned does not include the last requested function.</p>"
}
}
},
"GrokClassifier":{
"type":"structure",
"required":[
"Name",
"Classification",
"GrokPattern"
],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the classifier.</p>"
},
"Classification":{
"shape":"Classification",
"documentation":"<p>The data form that the classifier matches, such as Twitter, JSON, Omniture Logs, and so forth.</p>"
},
"CreationTime":{
"shape":"Timestamp",
"documentation":"<p>The time this classifier was registered.</p>"
},
"LastUpdated":{
"shape":"Timestamp",
"documentation":"<p>The time this classifier was last updated.</p>"
},
"Version":{
"shape":"VersionId",
"documentation":"<p>The version of this classifier.</p>"
},
"GrokPattern":{
"shape":"GrokPattern",
"documentation":"<p>The grok pattern used by this classifier.</p>"
},
"CustomPatterns":{
"shape":"CustomPatterns",
"documentation":"<p>Custom grok patterns used by this classifier.</p>"
}
},
"documentation":"<p>A classifier that uses <code>grok</code>.</p>"
},
"GrokPattern":{
"type":"string",
"max":2048,
"min":1,
"pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\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":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>The same unique identifier was associated with two different records.</p>",
"exception":true
},
"ImportCatalogToGlueRequest":{
"type":"structure",
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the catalog to import. Currently, this should be the AWS account ID.</p>"
}
}
},
"ImportCatalogToGlueResponse":{
"type":"structure",
"members":{
}
},
"Integer":{"type":"integer"},
"IntegerFlag":{
"type":"integer",
"max":1,
"min":0
},
"IntegerValue":{"type":"integer"},
"InternalServiceException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>An internal service error occurred.</p>",
"exception":true,
"fault":true
},
"InvalidInputException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>The input provided was not valid.</p>",
"exception":true
},
"JdbcTarget":{
"type":"structure",
"members":{
"ConnectionName":{
"shape":"ConnectionName",
"documentation":"<p>The name of the connection to use for the JDBC target.</p>"
},
"Path":{
"shape":"Path",
"documentation":"<p>The path of the JDBC target.</p>"
},
"Exclusions":{
"shape":"PathList",
"documentation":"<p>A list of items to exclude from the crawl.</p>"
}
},
"documentation":"<p>Specifies a JDBC target for a crawl.</p>"
},
"JdbcTargetList":{
"type":"list",
"member":{"shape":"JdbcTarget"}
},
"Job":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name you assign to this job.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>Description of this job.</p>"
},
"LogUri":{
"shape":"UriString",
"documentation":"<p>Location of the logs for this job.</p>"
},
"Role":{
"shape":"RoleString",
"documentation":"<p>The role associated with this job.</p>"
},
"CreatedOn":{
"shape":"TimestampValue",
"documentation":"<p>The time and date that this job specification was created.</p>"
},
"LastModifiedOn":{
"shape":"TimestampValue",
"documentation":"<p>The last point in time when this job specification was modified.</p>"
},
"ExecutionProperty":{
"shape":"ExecutionProperty",
"documentation":"<p>An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.</p>"
},
"Command":{
"shape":"JobCommand",
"documentation":"<p>The JobCommand that executes this job.</p>"
},
"DefaultArguments":{
"shape":"GenericMap",
"documentation":"<p>The default parameters for this job.</p>"
},
"Connections":{
"shape":"ConnectionsList",
"documentation":"<p>The connections used for this job.</p>"
},
"MaxRetries":{
"shape":"MaxRetries",
"documentation":"<p>The maximum number of times to retry this job if it fails.</p>"
},
"AllocatedCapacity":{
"shape":"IntegerValue",
"documentation":"<p>The number of capacity units allocated to this job.</p>"
}
},
"documentation":"<p>Specifies a job in the Data Catalog.</p>"
},
"JobBookmarkEntry":{
"type":"structure",
"members":{
"JobName":{
"shape":"JobName",
"documentation":"<p>Name of the job in question.</p>"
},
"Version":{
"shape":"IntegerValue",
"documentation":"<p>Version of the job.</p>"
},
"Run":{
"shape":"IntegerValue",
"documentation":"<p>The run ID number.</p>"
},
"Attempt":{
"shape":"IntegerValue",
"documentation":"<p>The attempt ID number.</p>"
},
"JobBookmark":{
"shape":"JsonValue",
"documentation":"<p>The bookmark itself.</p>"
}
},
"documentation":"<p>Defines a point which a job can resume processing.</p>"
},
"JobCommand":{
"type":"structure",
"members":{
"Name":{
"shape":"GenericString",
"documentation":"<p>The name of this job command.</p>"
},
"ScriptLocation":{
"shape":"ScriptLocationString",
"documentation":"<p>Specifies the location of a script that executes a job.</p>"
}
},
"documentation":"<p>Specifies code that executes a job.</p>"
},
"JobList":{
"type":"list",
"member":{"shape":"Job"}
},
"JobName":{"type":"string"},
"JobRun":{
"type":"structure",
"members":{
"Id":{
"shape":"IdString",
"documentation":"<p>The ID of this job run.</p>"
},
"Attempt":{
"shape":"AttemptCount",
"documentation":"<p>The number or the attempt to run this job.</p>"
},
"PreviousRunId":{
"shape":"IdString",
"documentation":"<p>The ID of the previous run of this job.</p>"
},
"TriggerName":{
"shape":"NameString",
"documentation":"<p>The name of the trigger for this job run.</p>"
},
"JobName":{
"shape":"NameString",
"documentation":"<p>The name of the job being run.</p>"
},
"StartedOn":{
"shape":"TimestampValue",
"documentation":"<p>The date and time at which this job run was started.</p>"
},
"LastModifiedOn":{
"shape":"TimestampValue",
"documentation":"<p>The last time this job run was modified.</p>"
},
"CompletedOn":{
"shape":"TimestampValue",
"documentation":"<p>The date and time this job run completed.</p>"
},
"JobRunState":{
"shape":"JobRunState",
"documentation":"<p>The current state of the job run.</p>"
},
"Arguments":{
"shape":"GenericMap",
"documentation":"<p>The job arguments associated with this run.</p>"
},
"ErrorMessage":{
"shape":"ErrorString",
"documentation":"<p>An error message associated with this job run.</p>"
},
"PredecessorRuns":{
"shape":"PredecessorList",
"documentation":"<p>A list of predecessors to this job run.</p>"
},
"AllocatedCapacity":{
"shape":"IntegerValue",
"documentation":"<p>The amount of infrastructure capacity allocated to this job run.</p>"
}
},
"documentation":"<p>Contains information about a job run.</p>"
},
"JobRunList":{
"type":"list",
"member":{"shape":"JobRun"}
},
"JobRunState":{
"type":"string",
"enum":[
"STARTING",
"RUNNING",
"STOPPING",
"STOPPED",
"SUCCEEDED",
"FAILED"
]
},
"JobUpdate":{
"type":"structure",
"members":{
"Description":{
"shape":"DescriptionString",
"documentation":"<p>Description of the job.</p>"
},
"LogUri":{
"shape":"UriString",
"documentation":"<p>Location of the logs for this job.</p>"
},
"Role":{
"shape":"RoleString",
"documentation":"<p>The role associated with this job.</p>"
},
"ExecutionProperty":{
"shape":"ExecutionProperty",
"documentation":"<p>An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.</p>"
},
"Command":{
"shape":"JobCommand",
"documentation":"<p>The JobCommand that executes this job.</p>"
},
"DefaultArguments":{
"shape":"GenericMap",
"documentation":"<p>The default parameters for this job.</p>"
},
"Connections":{
"shape":"ConnectionsList",
"documentation":"<p>The connections used for this job.</p>"
},
"MaxRetries":{
"shape":"MaxRetries",
"documentation":"<p>The maximum number of times to retry this job if it fails.</p>"
},
"AllocatedCapacity":{
"shape":"IntegerValue",
"documentation":"<p>The number of capacity units allocated to this job.</p>"
}
},
"documentation":"<p>Specifies information used to update an existing job.</p>"
},
"JsonValue":{"type":"string"},
"KeyString":{
"type":"string",
"max":255,
"min":1,
"pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*"
},
"LastCrawlInfo":{
"type":"structure",
"members":{
"Status":{
"shape":"LastCrawlStatus",
"documentation":"<p>Status of the last crawl.</p>"
},
"ErrorMessage":{
"shape":"DescriptionString",
"documentation":"<p>Error information about the last crawl, if an error occurred.</p>"
},
"LogGroup":{
"shape":"LogGroup",
"documentation":"<p>The log group for the last crawl.</p>"
},
"LogStream":{
"shape":"LogStream",
"documentation":"<p>The log stream for the last crawl.</p>"
},
"MessagePrefix":{
"shape":"MessagePrefix",
"documentation":"<p>The prefix for a message about this crawl.</p>"
},
"StartTime":{
"shape":"Timestamp",
"documentation":"<p>The time at which the crawl started.</p>"
}
},
"documentation":"<p>Status and error information about the most recent crawl.</p>"
},
"LastCrawlStatus":{
"type":"string",
"enum":[
"SUCCEEDED",
"CANCELLED",
"FAILED"
]
},
"Location":{
"type":"structure",
"members":{
"Jdbc":{
"shape":"CodeGenNodeArgs",
"documentation":"<p>A JDBC location.</p>"
},
"S3":{
"shape":"CodeGenNodeArgs",
"documentation":"<p>An AWS S3 location.</p>"
}
},
"documentation":"<p>The location of resources.</p>"
},
"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"]
},
"LogicalOperator":{
"type":"string",
"enum":["EQUALS"]
},
"MappingEntry":{
"type":"structure",
"members":{
"SourceTable":{
"shape":"TableName",
"documentation":"<p>The name of the source table.</p>"
},
"SourcePath":{
"shape":"SchemaPathString",
"documentation":"<p>The source path.</p>"
},
"SourceType":{
"shape":"FieldType",
"documentation":"<p>The source type.</p>"
},
"TargetTable":{
"shape":"TableName",
"documentation":"<p>The target table.</p>"
},
"TargetPath":{
"shape":"SchemaPathString",
"documentation":"<p>The target path.</p>"
},
"TargetType":{
"shape":"FieldType",
"documentation":"<p>The target type.</p>"
}
},
"documentation":"<p>Defines a mapping.</p>"
},
"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":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>There is no applicable schedule.</p>",
"exception":true
},
"NonNegativeDouble":{
"type":"double",
"min":0.0
},
"NonNegativeInteger":{
"type":"integer",
"min":0
},
"OperationTimeoutException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>The operation timed out.</p>",
"exception":true
},
"Order":{
"type":"structure",
"required":[
"Column",
"SortOrder"
],
"members":{
"Column":{
"shape":"NameString",
"documentation":"<p>The name of the column.</p>"
},
"SortOrder":{
"shape":"IntegerFlag",
"documentation":"<p>Indicates that the column is sorted in ascending order (<code>== 1</code>), or in descending order (<code>==0</code>).</p>"
}
},
"documentation":"<p>Specifies the sort order of a sorted column.</p>"
},
"OrderList":{
"type":"list",
"member":{"shape":"Order"}
},
"PageSize":{
"type":"integer",
"box":true,
"max":1000,
"min":1
},
"ParametersMap":{
"type":"map",
"key":{"shape":"KeyString"},
"value":{"shape":"ParametersMapValue"}
},
"ParametersMapValue":{
"type":"string",
"max":51200
},
"Partition":{
"type":"structure",
"members":{
"Values":{
"shape":"ValueStringList",
"documentation":"<p>The values of the partition.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database where the table in question is located.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the table in question.</p>"
},
"CreationTime":{
"shape":"Timestamp",
"documentation":"<p>The time at which the partition was created.</p>"
},
"LastAccessTime":{
"shape":"Timestamp",
"documentation":"<p>The last time at which the partition was accessed.</p>"
},
"StorageDescriptor":{
"shape":"StorageDescriptor",
"documentation":"<p>Provides information about the physical location where the partition is stored.</p>"
},
"Parameters":{
"shape":"ParametersMap",
"documentation":"<p>Partition parameters, in the form of a list of key-value pairs.</p>"
},
"LastAnalyzedTime":{
"shape":"Timestamp",
"documentation":"<p>The last time at which column statistics were computed for this partition.</p>"
}
},
"documentation":"<p>Represents a slice of table data.</p>"
},
"PartitionError":{
"type":"structure",
"members":{
"PartitionValues":{
"shape":"ValueStringList",
"documentation":"<p>The values that define the partition.</p>"
},
"ErrorDetail":{
"shape":"ErrorDetail",
"documentation":"<p>Details about the partition error.</p>"
}
},
"documentation":"<p>Contains information about a partition error.</p>"
},
"PartitionErrors":{
"type":"list",
"member":{"shape":"PartitionError"}
},
"PartitionInput":{
"type":"structure",
"members":{
"Values":{
"shape":"ValueStringList",
"documentation":"<p>The values of the partition.</p>"
},
"LastAccessTime":{
"shape":"Timestamp",
"documentation":"<p>The last time at which the partition was accessed.</p>"
},
"StorageDescriptor":{
"shape":"StorageDescriptor",
"documentation":"<p>Provides information about the physical location where the partition is stored.</p>"
},
"Parameters":{
"shape":"ParametersMap",
"documentation":"<p>Partition parameters, in the form of a list of key-value pairs.</p>"
},
"LastAnalyzedTime":{
"shape":"Timestamp",
"documentation":"<p>The last time at which column statistics were computed for this partition.</p>"
}
},
"documentation":"<p>The structure used to create and update a partion.</p>"
},
"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"}
}
},
"Path":{"type":"string"},
"PathList":{
"type":"list",
"member":{"shape":"Path"}
},
"PhysicalConnectionRequirements":{
"type":"structure",
"members":{
"SubnetId":{
"shape":"NameString",
"documentation":"<p>The subnet ID used by the connection.</p>"
},
"SecurityGroupIdList":{
"shape":"SecurityGroupIdList",
"documentation":"<p>The security group ID list used by the connection.</p>"
},
"AvailabilityZone":{
"shape":"NameString",
"documentation":"<p>The connection's availability zone.</p>"
}
},
"documentation":"<p>Specifies the physical requirements for a connection.</p>"
},
"Predecessor":{
"type":"structure",
"members":{
"JobName":{
"shape":"NameString",
"documentation":"<p>The name of the predecessor job.</p>"
},
"RunId":{
"shape":"IdString",
"documentation":"<p>The job-run ID of the precessor job run.</p>"
}
},
"documentation":"<p>A job run that preceded this one.</p>"
},
"PredecessorList":{
"type":"list",
"member":{"shape":"Predecessor"}
},
"Predicate":{
"type":"structure",
"members":{
"Logical":{
"shape":"Logical",
"documentation":"<p>Currently \"OR\" is not supported.</p>"
},
"Conditions":{
"shape":"ConditionList",
"documentation":"<p>A list of the conditions that determine when the trigger will fire.</p>"
}
},
"documentation":"<p>Defines the predicate of the trigger, which determines when it fires.</p>"
},
"PredicateString":{
"type":"string",
"max":2048,
"min":0,
"pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*"
},
"PrincipalType":{
"type":"string",
"enum":[
"USER",
"ROLE",
"GROUP"
]
},
"PythonScript":{"type":"string"},
"ResetJobBookmarkRequest":{
"type":"structure",
"required":["JobName"],
"members":{
"JobName":{
"shape":"JobName",
"documentation":"<p>The name of the job in question.</p>"
}
}
},
"ResetJobBookmarkResponse":{
"type":"structure",
"members":{
"JobBookmarkEntry":{
"shape":"JobBookmarkEntry",
"documentation":"<p>The reset bookmark entry.</p>"
}
}
},
"ResourceNumberLimitExceededException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>A resource numerical limit was exceeded.</p>",
"exception":true
},
"ResourceType":{
"type":"string",
"enum":[
"JAR",
"FILE",
"ARCHIVE"
]
},
"ResourceUri":{
"type":"structure",
"members":{
"ResourceType":{
"shape":"ResourceType",
"documentation":"<p>The type of the resource.</p>"
},
"Uri":{
"shape":"URI",
"documentation":"<p>The URI for accessing the resource.</p>"
}
},
"documentation":"<p>URIs for function resources.</p>"
},
"ResourceUriList":{
"type":"list",
"member":{"shape":"ResourceUri"},
"max":1000,
"min":0
},
"RoleArn":{
"type":"string",
"pattern":"arn:aws:iam::\\d{12}:role/.*"
},
"RoleString":{"type":"string"},
"S3Target":{
"type":"structure",
"members":{
"Path":{
"shape":"Path",
"documentation":"<p>The path to the S3 target.</p>"
},
"Exclusions":{
"shape":"PathList",
"documentation":"<p>A list of S3 objects to exclude from the crawl.</p>"
}
},
"documentation":"<p>Specifies a crawler target in AWS S3.</p>"
},
"S3TargetList":{
"type":"list",
"member":{"shape":"S3Target"}
},
"Schedule":{
"type":"structure",
"members":{
"ScheduleExpression":{
"shape":"CronExpression",
"documentation":"<p>A <code>cron</code> expression that can be used as a Cloudwatch event to schedule something (see <a href=\"http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html\">CloudWatch Schedule Expression Syntax</a>. For example, to run something every day at 12:15 UTC, you would specify: <code>cron(15 12 * * ? *)</code>.</p>"
},
"State":{
"shape":"ScheduleState",
"documentation":"<p>The state of the schedule.</p>"
}
},
"documentation":"<p>A scheduling object using a <code>cron</code> statement to schedule an event.</p>"
},
"ScheduleState":{
"type":"string",
"enum":[
"SCHEDULED",
"NOT_SCHEDULED",
"TRANSITIONING"
]
},
"SchedulerNotRunningException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>The specified scheduler is not running.</p>",
"exception":true
},
"SchedulerRunningException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>The specified scheduler is already running.</p>",
"exception":true
},
"SchedulerTransitioningException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>The specified scheduler is transitioning.</p>",
"exception":true
},
"SchemaChangePolicy":{
"type":"structure",
"members":{
"UpdateBehavior":{
"shape":"UpdateBehavior",
"documentation":"<p>The update behavior.</p>"
},
"DeleteBehavior":{
"shape":"DeleteBehavior",
"documentation":"<p>The deletion behavior.</p>"
}
},
"documentation":"<p>Crawler policy for update and deletion behavior.</p>"
},
"SchemaPathString":{"type":"string"},
"ScriptLocationString":{"type":"string"},
"SecurityGroupIdList":{
"type":"list",
"member":{"shape":"NameString"},
"max":50,
"min":0
},
"Segment":{
"type":"structure",
"required":[
"SegmentNumber",
"TotalSegments"
],
"members":{
"SegmentNumber":{
"shape":"NonNegativeInteger",
"documentation":"<p>The zero-based index number of the this segment. For example, if the total number of segments is 4, SegmentNumber values will range from zero through three.</p>"
},
"TotalSegments":{
"shape":"TotalSegmentsInteger",
"documentation":"<p>The total numer of segments.</p>"
}
},
"documentation":"<p>Defines a non-overlapping region of a table's partitions, allowing multiple requests to be executed in parallel.</p>"
},
"SerDeInfo":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the SerDe.</p>"
},
"SerializationLibrary":{
"shape":"NameString",
"documentation":"<p>Usually the class that implements the SerDe. An example is: <code>org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe</code>.</p>"
},
"Parameters":{
"shape":"ParametersMap",
"documentation":"<p>A list of initialization parameters for the SerDe, in key-value form.</p>"
}
},
"documentation":"<p>Information about a serialization/deserialization program (SerDe) which serves as an extractor and loader.</p>"
},
"SkewedInfo":{
"type":"structure",
"members":{
"SkewedColumnNames":{
"shape":"NameStringList",
"documentation":"<p>A list of names of columns that contain skewed values.</p>"
},
"SkewedColumnValues":{
"shape":"ColumnValueStringList",
"documentation":"<p>A list of values that appear so frequently as to be considered skewed.</p>"
},
"SkewedColumnValueLocationMaps":{
"shape":"LocationMap",
"documentation":"<p>A mapping of skewed values to the columns that contain them.</p>"
}
},
"documentation":"<p>Specifies skewed values in a table. Skewed are ones that occur with very high frequency.</p>"
},
"StartCrawlerRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the <code>Crawler</code> to start.</p>"
}
}
},
"StartCrawlerResponse":{
"type":"structure",
"members":{
}
},
"StartCrawlerScheduleRequest":{
"type":"structure",
"required":["CrawlerName"],
"members":{
"CrawlerName":{
"shape":"NameString",
"documentation":"<p>Name of the crawler to schedule.</p>"
}
}
},
"StartCrawlerScheduleResponse":{
"type":"structure",
"members":{
}
},
"StartJobRunRequest":{
"type":"structure",
"required":["JobName"],
"members":{
"JobName":{
"shape":"NameString",
"documentation":"<p>The name of the job to start.</p>"
},
"JobRunId":{
"shape":"IdString",
"documentation":"<p>The ID of the job run to start.</p>"
},
"Arguments":{
"shape":"GenericMap",
"documentation":"<p>Specific arguments for this job run.</p>"
},
"AllocatedCapacity":{
"shape":"IntegerValue",
"documentation":"<p>The infrastructure capacity to allocate to this job.</p>"
}
}
},
"StartJobRunResponse":{
"type":"structure",
"members":{
"JobRunId":{
"shape":"IdString",
"documentation":"<p>The ID assigned to this job run.</p>"
}
}
},
"StartTriggerRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the trigger to start.</p>"
}
}
},
"StartTriggerResponse":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the trigger that was started.</p>"
}
}
},
"StopCrawlerRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the <code>Crawler</code> to stop.</p>"
}
}
},
"StopCrawlerResponse":{
"type":"structure",
"members":{
}
},
"StopCrawlerScheduleRequest":{
"type":"structure",
"required":["CrawlerName"],
"members":{
"CrawlerName":{
"shape":"NameString",
"documentation":"<p>Name of the crawler whose schedule state to set.</p>"
}
}
},
"StopCrawlerScheduleResponse":{
"type":"structure",
"members":{
}
},
"StopTriggerRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the trigger to stop.</p>"
}
}
},
"StopTriggerResponse":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the trigger that was stopped.</p>"
}
}
},
"StorageDescriptor":{
"type":"structure",
"members":{
"Columns":{
"shape":"ColumnList",
"documentation":"<p>A list of the <code>Columns</code> in the table.</p>"
},
"Location":{
"shape":"LocationString",
"documentation":"<p>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.</p>"
},
"InputFormat":{
"shape":"FormatString",
"documentation":"<p>The input format: <code>SequenceFileInputFormat</code> (binary), or <code>TextInputFormat</code>, or a custom format.</p>"
},
"OutputFormat":{
"shape":"FormatString",
"documentation":"<p>The output format: <code>SequenceFileOutputFormat</code> (binary), or <code>IgnoreKeyTextOutputFormat</code>, or a custom format.</p>"
},
"Compressed":{
"shape":"Boolean",
"documentation":"<p>True if the data in the table is compressed, or False if not.</p>"
},
"NumberOfBuckets":{
"shape":"Integer",
"documentation":"<p>Must be specified if the table contains any dimension columns.</p>"
},
"SerdeInfo":{
"shape":"SerDeInfo",
"documentation":"<p>Serialization/deserialization (SerDe) information.</p>"
},
"BucketColumns":{
"shape":"NameStringList",
"documentation":"<p>A list of reducer grouping columns, clustering columns, and bucketing columns in the table.</p>"
},
"SortColumns":{
"shape":"OrderList",
"documentation":"<p>A list specifying the sort order of each bucket in the table.</p>"
},
"Parameters":{
"shape":"ParametersMap",
"documentation":"<p>User-supplied properties in key-value form.</p>"
},
"SkewedInfo":{
"shape":"SkewedInfo",
"documentation":"<p>Information about values that appear very frequently in a column (skewed values).</p>"
},
"StoredAsSubDirectories":{
"shape":"Boolean",
"documentation":"<p>True if the table data is stored in subdirectories, or False if not.</p>"
}
},
"documentation":"<p>Describes the physical storage of table data.</p>"
},
"StringList":{
"type":"list",
"member":{"shape":"GenericString"}
},
"Table":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the table.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>Name of the metadata database where the table metadata resides.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>Description of the table.</p>"
},
"Owner":{
"shape":"NameString",
"documentation":"<p>Owner of the table.</p>"
},
"CreateTime":{
"shape":"Timestamp",
"documentation":"<p>Time when the table definition was created in the Data Catalog.</p>"
},
"UpdateTime":{
"shape":"Timestamp",
"documentation":"<p>Last time the table was updated.</p>"
},
"LastAccessTime":{
"shape":"Timestamp",
"documentation":"<p>Last time the table was accessed. This is usually taken from HDFS, and may not be reliable.</p>"
},
"LastAnalyzedTime":{
"shape":"Timestamp",
"documentation":"<p>Last time column statistics were computed for this table.</p>"
},
"Retention":{
"shape":"NonNegativeInteger",
"documentation":"<p>Retention time for this table.</p>"
},
"StorageDescriptor":{
"shape":"StorageDescriptor",
"documentation":"<p>A storage descriptor containing information about the physical storage of this table.</p>"
},
"PartitionKeys":{
"shape":"ColumnList",
"documentation":"<p>A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.</p>"
},
"ViewOriginalText":{
"shape":"ViewTextString",
"documentation":"<p>If the table is a view, the original text of the view; otherwise <code>null</code>.</p>"
},
"ViewExpandedText":{
"shape":"ViewTextString",
"documentation":"<p>If the table is a view, the expanded text of the view; otherwise <code>null</code>.</p>"
},
"TableType":{
"shape":"TableTypeString",
"documentation":"<p>The type of this table (<code>EXTERNAL_TABLE</code>, <code>VIRTUAL_VIEW</code>, etc.).</p>"
},
"Parameters":{
"shape":"ParametersMap",
"documentation":"<p>Properties associated with this table, as a list of key-value pairs.</p>"
},
"CreatedBy":{
"shape":"NameString",
"documentation":"<p>Person or entity who created the table.</p>"
}
},
"documentation":"<p>Represents a collection of related data organized in columns and rows.</p>"
},
"TableError":{
"type":"structure",
"members":{
"TableName":{
"shape":"NameString",
"documentation":"<p>Name of the table.</p>"
},
"ErrorDetail":{
"shape":"ErrorDetail",
"documentation":"<p>Detail about the error.</p>"
}
},
"documentation":"<p>An error record for table operations.</p>"
},
"TableErrors":{
"type":"list",
"member":{"shape":"TableError"}
},
"TableInput":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the table.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>Description of the table.</p>"
},
"Owner":{
"shape":"NameString",
"documentation":"<p>Owner of the table.</p>"
},
"LastAccessTime":{
"shape":"Timestamp",
"documentation":"<p>Last time the table was accessed.</p>"
},
"LastAnalyzedTime":{
"shape":"Timestamp",
"documentation":"<p>Last time column statistics were computed for this table.</p>"
},
"Retention":{
"shape":"NonNegativeInteger",
"documentation":"<p>Retention time for this table.</p>"
},
"StorageDescriptor":{
"shape":"StorageDescriptor",
"documentation":"<p>A storage descriptor containing information about the physical storage of this table.</p>"
},
"PartitionKeys":{
"shape":"ColumnList",
"documentation":"<p>A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.</p>"
},
"ViewOriginalText":{
"shape":"ViewTextString",
"documentation":"<p>If the table is a view, the original text of the view; otherwise <code>null</code>.</p>"
},
"ViewExpandedText":{
"shape":"ViewTextString",
"documentation":"<p>If the table is a view, the expanded text of the view; otherwise <code>null</code>.</p>"
},
"TableType":{
"shape":"TableTypeString",
"documentation":"<p>The type of this table (<code>EXTERNAL_TABLE</code>, <code>VIRTUAL_VIEW</code>, etc.).</p>"
},
"Parameters":{
"shape":"ParametersMap",
"documentation":"<p>Properties associated with this table, as a list of key-value pairs.</p>"
}
},
"documentation":"<p>Structure used to create or update the table.</p>"
},
"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"},
"VersionId":{"shape":"VersionString"}
}
},
"Timestamp":{"type":"timestamp"},
"TimestampValue":{"type":"timestamp"},
"Token":{"type":"string"},
"TotalSegmentsInteger":{
"type":"integer",
"max":10,
"min":1
},
"Trigger":{
"type":"structure",
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the trigger.</p>"
},
"Id":{
"shape":"IdString",
"documentation":"<p>The trigger ID.</p>"
},
"Type":{
"shape":"TriggerType",
"documentation":"<p>The type of trigger that this is.</p>"
},
"State":{
"shape":"TriggerState",
"documentation":"<p>The current state of the trigger.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>A description of this trigger.</p>"
},
"Schedule":{
"shape":"GenericString",
"documentation":"<p>A cron schedule expression.</p>"
},
"Actions":{
"shape":"ActionList",
"documentation":"<p>The actions initiated by this trigger.</p>"
},
"Predicate":{
"shape":"Predicate",
"documentation":"<p>The predicate of this trigger.</p>"
}
},
"documentation":"<p>Information about a specific trigger.</p>"
},
"TriggerList":{
"type":"list",
"member":{"shape":"Trigger"}
},
"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":"<p>The name of the trigger.</p>"
},
"Description":{
"shape":"DescriptionString",
"documentation":"<p>A description of this trigger.</p>"
},
"Schedule":{
"shape":"GenericString",
"documentation":"<p>A cron expression specifying the schedule.</p>"
},
"Actions":{
"shape":"ActionList",
"documentation":"<p>The actions initiated by this trigger.</p>"
},
"Predicate":{
"shape":"Predicate",
"documentation":"<p>The predicate of this trigger, which defines when it will fire.</p>"
}
},
"documentation":"<p>A structure used to provide information used to updata a trigger.</p>"
},
"URI":{
"type":"string",
"max":1024,
"min":1,
"pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*"
},
"UpdateBehavior":{
"type":"string",
"enum":[
"LOG",
"UPDATE_IN_DATABASE"
]
},
"UpdateClassifierRequest":{
"type":"structure",
"members":{
"GrokClassifier":{
"shape":"UpdateGrokClassifierRequest",
"documentation":"<p>A <code>GrokClassifier</code> object with updated fields.</p>"
}
}
},
"UpdateClassifierResponse":{
"type":"structure",
"members":{
}
},
"UpdateConnectionRequest":{
"type":"structure",
"required":[
"Name",
"ConnectionInput"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the connection definition to update.</p>"
},
"ConnectionInput":{
"shape":"ConnectionInput",
"documentation":"<p>A <code>ConnectionInput</code> object that redefines the connection in question.</p>"
}
}
},
"UpdateConnectionResponse":{
"type":"structure",
"members":{
}
},
"UpdateCrawlerRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>Name of the new <code>Crawler</code>.</p>"
},
"Role":{
"shape":"RoleArn",
"documentation":"<p>The AWS ARN of the IAM role used by the new <code>Crawler</code> to access customer resources.</p>"
},
"DatabaseName":{
"shape":"DatabaseName",
"documentation":"<p>The Glue <code>Database</code> where results will be stored, such as: <code>arn:aws:daylight:us-east-1::database/sometable/*</code>.</p>"
},
"Description":{
"shape":"DescriptionStringRemovable",
"documentation":"<p>A description of the new <code>Crawler</code>.</p>"
},
"Targets":{
"shape":"CrawlerTargets",
"documentation":"<p>A list of collection of targets to crawl.</p>"
},
"Schedule":{
"shape":"CronExpression",
"documentation":"<p>A cron expression that can be used as a Cloudwatch event (see <a href=\"http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html\">CloudWatch Schedule Expression Syntax</a>. For example, to run every day at 12:15 UTC, specify: <code>cron(15 12 * * ? *)</code>.</p>"
},
"Classifiers":{
"shape":"ClassifierNameList",
"documentation":"<p>A list of custom <code>Classifier</code> names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.</p>"
},
"TablePrefix":{
"shape":"TablePrefix",
"documentation":"<p>The table prefix used for catalog tables created.</p>"
},
"SchemaChangePolicy":{
"shape":"SchemaChangePolicy",
"documentation":"<p>Policy for the crawler's update and deletion behavior.</p>"
}
}
},
"UpdateCrawlerResponse":{
"type":"structure",
"members":{
}
},
"UpdateCrawlerScheduleRequest":{
"type":"structure",
"required":["CrawlerName"],
"members":{
"CrawlerName":{
"shape":"NameString",
"documentation":"<p>Name of the crawler whose schedule to update.</p>"
},
"Schedule":{
"shape":"CronExpression",
"documentation":"<p>Cron expression of the updated schedule.</p>"
}
}
},
"UpdateCrawlerScheduleResponse":{
"type":"structure",
"members":{
}
},
"UpdateDatabaseRequest":{
"type":"structure",
"required":[
"Name",
"DatabaseInput"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog in which the metadata database resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the metadata database to update in the catalog.</p>"
},
"DatabaseInput":{
"shape":"DatabaseInput",
"documentation":"<p>A <code>DatabaseInput</code> object specifying the new definition of the metadata database in the catalog.</p>"
}
}
},
"UpdateDatabaseResponse":{
"type":"structure",
"members":{
}
},
"UpdateDevEndpointRequest":{
"type":"structure",
"required":["EndpointName"],
"members":{
"EndpointName":{
"shape":"GenericString",
"documentation":"<p>The name of the DevEndpoint to be updated.</p>"
},
"PublicKey":{
"shape":"GenericString",
"documentation":"<p>The public key for the DevEndpoint to use.</p>"
},
"CustomLibraries":{
"shape":"DevEndpointCustomLibraries",
"documentation":"<p>Custom Python or Java custom libraries to be loaded in the DevEndpoint.</p>"
}
}
},
"UpdateDevEndpointResponse":{
"type":"structure",
"members":{
}
},
"UpdateGrokClassifierRequest":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the <code>GrokClassifier</code>.</p>"
},
"Classification":{
"shape":"Classification",
"documentation":"<p>The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.</p>"
},
"GrokPattern":{
"shape":"GrokPattern",
"documentation":"<p>The grok pattern used by this classifier.</p>"
},
"CustomPatterns":{
"shape":"CustomPatterns",
"documentation":"<p>Custom grok patterns used by this classifier.</p>"
}
},
"documentation":"<p>Specifies a Grok classifier to update when passed to UpdateClassifier.</p>"
},
"UpdateJobRequest":{
"type":"structure",
"required":[
"JobName",
"JobUpdate"
],
"members":{
"JobName":{
"shape":"NameString",
"documentation":"<p>Name of the job definition to update.</p>"
},
"JobUpdate":{
"shape":"JobUpdate",
"documentation":"<p>Specifies the values with which to update the job.</p>"
}
}
},
"UpdateJobResponse":{
"type":"structure",
"members":{
"JobName":{
"shape":"NameString",
"documentation":"<p>Returns the name of the updated job.</p>"
}
}
},
"UpdatePartitionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableName",
"PartitionValueList",
"PartitionInput"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the partition to be updated resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database in which the table in question resides.</p>"
},
"TableName":{
"shape":"NameString",
"documentation":"<p>The name of the table where the partition to be updated is located.</p>"
},
"PartitionValueList":{
"shape":"BoundedPartitionValueList",
"documentation":"<p>A list of the values defining the partition.</p>"
},
"PartitionInput":{
"shape":"PartitionInput",
"documentation":"<p>The new partition object to which to update the partition.</p>"
}
}
},
"UpdatePartitionResponse":{
"type":"structure",
"members":{
}
},
"UpdateTableRequest":{
"type":"structure",
"required":[
"DatabaseName",
"TableInput"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database in which the table resides.</p>"
},
"TableInput":{
"shape":"TableInput",
"documentation":"<p>An updated <code>TableInput</code> object to define the metadata table in the catalog.</p>"
}
}
},
"UpdateTableResponse":{
"type":"structure",
"members":{
}
},
"UpdateTriggerRequest":{
"type":"structure",
"required":[
"Name",
"TriggerUpdate"
],
"members":{
"Name":{
"shape":"NameString",
"documentation":"<p>The name of the trigger to update.</p>"
},
"TriggerUpdate":{
"shape":"TriggerUpdate",
"documentation":"<p>The new values with which to update the trigger.</p>"
}
}
},
"UpdateTriggerResponse":{
"type":"structure",
"members":{
"Trigger":{
"shape":"Trigger",
"documentation":"<p>The resulting trigger definition.</p>"
}
}
},
"UpdateUserDefinedFunctionRequest":{
"type":"structure",
"required":[
"DatabaseName",
"FunctionName",
"FunctionInput"
],
"members":{
"CatalogId":{
"shape":"CatalogIdString",
"documentation":"<p>The ID of the Data Catalog where the function to be updated is located. If none is supplied, the AWS account ID is used by default.</p>"
},
"DatabaseName":{
"shape":"NameString",
"documentation":"<p>The name of the catalog database where the function to be updated is located.</p>"
},
"FunctionName":{
"shape":"NameString",
"documentation":"<p>The name of the function.</p>"
},
"FunctionInput":{
"shape":"UserDefinedFunctionInput",
"documentation":"<p>A <code>FunctionInput</code> object that re-defines the function in the Data Catalog.</p>"
}
}
},
"UpdateUserDefinedFunctionResponse":{
"type":"structure",
"members":{
}
},
"UriString":{"type":"string"},
"UserDefinedFunction":{
"type":"structure",
"members":{
"FunctionName":{
"shape":"NameString",
"documentation":"<p>The name of the function.</p>"
},
"ClassName":{
"shape":"NameString",
"documentation":"<p>The Java class that contains the function code.</p>"
},
"OwnerName":{
"shape":"NameString",
"documentation":"<p>The owner of the function.</p>"
},
"OwnerType":{
"shape":"PrincipalType",
"documentation":"<p>The owner type.</p>"
},
"CreateTime":{
"shape":"Timestamp",
"documentation":"<p>The time at which the function was created.</p>"
},
"ResourceUris":{
"shape":"ResourceUriList",
"documentation":"<p>The resource URIs for the function.</p>"
}
},
"documentation":"<p>Represents the equivalent of a Hive user-defined function (<code>UDF</code>) definition.</p>"
},
"UserDefinedFunctionInput":{
"type":"structure",
"members":{
"FunctionName":{
"shape":"NameString",
"documentation":"<p>The name of the function.</p>"
},
"ClassName":{
"shape":"NameString",
"documentation":"<p>The Java class that contains the function code.</p>"
},
"OwnerName":{
"shape":"NameString",
"documentation":"<p>The owner of the function.</p>"
},
"OwnerType":{
"shape":"PrincipalType",
"documentation":"<p>The owner type.</p>"
},
"ResourceUris":{
"shape":"ResourceUriList",
"documentation":"<p>The resource URIs for the function.</p>"
}
},
"documentation":"<p>A structure used to create or updata a user-defined function.</p>"
},
"UserDefinedFunctionList":{
"type":"list",
"member":{"shape":"UserDefinedFunction"}
},
"ValidationException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>A value could not be validated.</p>",
"exception":true
},
"ValueString":{
"type":"string",
"max":1024
},
"ValueStringList":{
"type":"list",
"member":{"shape":"ValueString"}
},
"VersionId":{"type":"long"},
"VersionMismatchException":{
"type":"structure",
"members":{
"Message":{
"shape":"MessageString",
"documentation":"<p>A message describing the problem.</p>"
}
},
"documentation":"<p>There was a version conflict.</p>",
"exception":true
},
"VersionString":{
"type":"string",
"max":255,
"min":1,
"pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*"
},
"ViewTextString":{
"type":"string",
"max":2048
}
},
"documentation":"Defines service operations used by the GlueFrontendService"
}

View file

@ -1027,7 +1027,8 @@
"FAILED",
"ERROR",
"COMPLETED",
"COMPLETED_WITH_ERRORS"
"COMPLETED_WITH_ERRORS",
"CANCELED"
]
},
"AssessmentRunStateChange":{
@ -1330,7 +1331,7 @@
},
"userAttributesForFindings":{
"shape":"UserAttributeList",
"documentation":"<p>The user-defined attributes that are assigned to every finding that is generated by the assessment run that uses this assessment template.</p>"
"documentation":"<p>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 <a>Attribute</a> object). Within an assessment template, each key must be unique.</p>"
}
}
},
@ -2669,6 +2670,13 @@
}
}
},
"StopAction":{
"type":"string",
"enum":[
"START_EVALUATION",
"SKIP_EVALUATION"
]
},
"StopAssessmentRunRequest":{
"type":"structure",
"required":["assessmentRunArn"],
@ -2676,6 +2684,10 @@
"assessmentRunArn":{
"shape":"Arn",
"documentation":"<p>The ARN of the assessment run that you want to stop.</p>"
},
"stopAction":{
"shape":"StopAction",
"documentation":"<p>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.</p>"
}
}
},

View file

@ -13,7 +13,8 @@
"StreamDescription.RetentionPeriodHours",
"StreamDescription.EnhancedMonitoring",
"StreamDescription.EncryptionType",
"StreamDescription.KeyId"
"StreamDescription.KeyId",
"StreamDescription.StreamCreationTimestamp"
]
},
"ListStreams": {

View file

@ -27,7 +27,7 @@
{"shape":"InvalidArgumentException"},
{"shape":"ConcurrentModificationException"}
],
"documentation":"<p>Adds a CloudWatch log stream to monitor application configuration errors. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see <a href=\"http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-monitor-configuration.html\">Monitoring Configuration Errors</a>.</p>"
"documentation":"<p>Adds a CloudWatch log stream to monitor application configuration errors. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see <a href=\"http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html\">Working with Amazon CloudWatch Logs</a>.</p>"
},
"AddApplicationInput":{
"name":"AddApplicationInput",
@ -41,7 +41,8 @@
{"shape":"ResourceNotFoundException"},
{"shape":"ResourceInUseException"},
{"shape":"InvalidArgumentException"},
{"shape":"ConcurrentModificationException"}
{"shape":"ConcurrentModificationException"},
{"shape":"CodeValidationException"}
],
"documentation":"<p> Adds a streaming source to your Amazon Kinesis application. For conceptual information, see <a href=\"http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html\">Configuring Application Input</a>. </p> <p>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 <a>CreateApplication</a>.</p> <p>Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the <a>DescribeApplication</a> operation to find the current application version. </p> <p>This operation requires permissions to perform the <code>kinesisanalytics:AddApplicationInput</code> action.</p>"
},
@ -122,7 +123,7 @@
{"shape":"InvalidArgumentException"},
{"shape":"ConcurrentModificationException"}
],
"documentation":"<p>Deletes a CloudWatch log stream from an application. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see <a href=\"http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-monitor-configuration.html\">Monitoring Configuration Errors</a>.</p>"
"documentation":"<p>Deletes a CloudWatch log stream from an application. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see <a href=\"http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html\">Working with Amazon CloudWatch Logs</a>.</p>"
},
"DeleteApplicationOutput":{
"name":"DeleteApplicationOutput",
@ -180,7 +181,8 @@
"errors":[
{"shape":"InvalidArgumentException"},
{"shape":"UnableToDetectSchemaException"},
{"shape":"ResourceProvisionedThroughputExceededException"}
{"shape":"ResourceProvisionedThroughputExceededException"},
{"shape":"ServiceUnavailableException"}
],
"documentation":"<p>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.</p> <p> You can use the inferred schema when configuring a streaming source for your application. For conceptual information, see <a href=\"http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html\">Configuring Application Input</a>. 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. </p> <p> This operation requires permissions to perform the <code>kinesisanalytics:DiscoverInputSchema</code> action. </p>"
},
@ -253,15 +255,15 @@
"members":{
"ApplicationName":{
"shape":"ApplicationName",
"documentation":"<p>The Amazon Kinesis Analytics application name.</p>"
"documentation":"<p>The Kinesis Analytics application name.</p>"
},
"CurrentApplicationVersionId":{
"shape":"ApplicationVersionId",
"documentation":"<p>The version ID of the Amazon Kinesis Analytics application.</p>"
"documentation":"<p>The version ID of the Kinesis Analytics application.</p>"
},
"CloudWatchLoggingOption":{
"shape":"CloudWatchLoggingOption",
"documentation":"<p>Provide the CloudWatch log stream ARN and the IAM role ARN. Note: To write application messages to CloudWatch, the IAM role used must have the <code>PutLogEvents</code> policy action enabled. </p>"
"documentation":"<p>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 <code>PutLogEvents</code> policy action enabled.</p>"
}
}
},
@ -414,7 +416,7 @@
},
"CloudWatchLoggingOptionDescriptions":{
"shape":"CloudWatchLoggingOptionDescriptions",
"documentation":"<p>Describes the CloudWatch log streams configured to receive application messages. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see <a href=\"http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-monitor-configuration.html\">Monitoring Configuration Errors</a>. </p>"
"documentation":"<p>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 <a href=\"http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html\">Working with Amazon CloudWatch Logs</a>. </p>"
},
"ApplicationCode":{
"shape":"ApplicationCode",
@ -540,10 +542,10 @@
},
"RoleARN":{
"shape":"RoleARN",
"documentation":"<p>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 <code>PutLogEvents</code> policy action enabled.</p>"
"documentation":"<p>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 <code>PutLogEvents</code> policy action enabled.</p>"
}
},
"documentation":"<p>Provides a description of CloudWatch logging options, including the log stream ARN and the role ARN.</p>"
"documentation":"<p>Provides a description of CloudWatch logging options, including the log stream Amazon Resource Name (ARN) and the role ARN.</p>"
},
"CloudWatchLoggingOptionDescription":{
"type":"structure",
@ -642,7 +644,7 @@
},
"CloudWatchLoggingOptions":{
"shape":"CloudWatchLoggingOptions",
"documentation":"<p>Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see <a href=\"http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-monitor-configuration.html\">Monitoring Configuration Errors</a>.</p>"
"documentation":"<p>Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see <a href=\"http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html\">Working with Amazon CloudWatch Logs</a>.</p>"
},
"ApplicationCode":{
"shape":"ApplicationCode",
@ -672,11 +674,11 @@
"members":{
"ApplicationName":{
"shape":"ApplicationName",
"documentation":"<p>The Amazon Kinesis Analytics application name.</p>"
"documentation":"<p>The Kinesis Analytics application name.</p>"
},
"CurrentApplicationVersionId":{
"shape":"ApplicationVersionId",
"documentation":"<p>The version ID of the Amazon Kinesis Analytics application.</p>"
"documentation":"<p>The version ID of the Kinesis Analytics application.</p>"
},
"CloudWatchLoggingOptionId":{
"shape":"Id",
@ -879,11 +881,11 @@
},
"KinesisStreamsInput":{
"shape":"KinesisStreamsInput",
"documentation":"<p>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.</p>"
"documentation":"<p>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.</p> <p>Note: Either <code>KinesisStreamsInput</code> or <code>KinesisFirehoseInput</code> is required.</p>"
},
"KinesisFirehoseInput":{
"shape":"KinesisFirehoseInput",
"documentation":"<p>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.</p>"
"documentation":"<p>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.</p> <p>Note: Either <code>KinesisStreamsInput</code> or <code>KinesisFirehoseInput</code> is required.</p>"
},
"InputParallelism":{
"shape":"InputParallelism",
@ -969,7 +971,7 @@
},
"InputParallelismCount":{
"type":"integer",
"max":10,
"max":64,
"min":1
},
"InputParallelismUpdate":{
@ -1085,7 +1087,7 @@
"members":{
"RecordRowPath":{
"shape":"RecordRowPath",
"documentation":"<p>Path to the top-level parent that contains the records.</p> <p>For example, consider the following JSON record:</p> <p>In the <code>RecordRowPath</code>, <code>\"$\"</code> refers to the root and path <code>\"$.vehicle.Model\"</code> refers to the specific <code>\"Model\"</code> key in the JSON.</p>"
"documentation":"<p>Path to the top-level parent that contains the records.</p>"
}
},
"documentation":"<p>Provides additional mapping information when JSON is the record format on the streaming source.</p>"
@ -1470,7 +1472,7 @@
"RecordColumnMapping":{"type":"string"},
"RecordColumnName":{
"type":"string",
"pattern":"[a-zA-Z][a-zA-Z0-9_]+"
"pattern":"[a-zA-Z_][a-zA-Z0-9_]*"
},
"RecordColumnSqlType":{"type":"string"},
"RecordColumns":{
@ -1681,6 +1683,14 @@
},
"documentation":"<p>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.</p>"
},
"ServiceUnavailableException":{
"type":"structure",
"members":{
"message":{"shape":"ErrorMessage"}
},
"documentation":"<p>The service is unavailable, back off and retry the operation. </p>",
"exception":true
},
"SourceSchema":{
"type":"structure",
"required":[

View file

@ -438,7 +438,7 @@
"CodeSha256": "",
"CodeSize": 123,
"Description": "",
"FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction",
"FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:1",
"FunctionName": "myFunction",
"Handler": "index.handler",
"LastModified": "2016-11-21T19:49:20.006+0000",

View file

@ -0,0 +1,3 @@
{
"pagination": {}
}

View file

@ -0,0 +1,1123 @@
{
"version":"2.0",
"metadata":{
"apiVersion":"2017-05-31",
"endpointPrefix":"mgh",
"jsonVersion":"1.1",
"protocol":"json",
"serviceFullName":"AWS 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":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"DryRunOperation"},
{"shape":"UnauthorizedOperation"},
{"shape":"InvalidInputException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>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:</p> <ul> <li> <p>Migration tools can call the <code>AssociateCreatedArtifact</code> operation to indicate which AWS artifact is associated with a migration task.</p> </li> <li> <p>The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: <code>arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b</code>.</p> </li> <li> <p>Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or DMS endpoint, etc.</p> </li> </ul>"
},
"AssociateDiscoveredResource":{
"name":"AssociateDiscoveredResource",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"AssociateDiscoveredResourceRequest"},
"output":{"shape":"AssociateDiscoveredResourceResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"DryRunOperation"},
{"shape":"UnauthorizedOperation"},
{"shape":"InvalidInputException"},
{"shape":"PolicyErrorException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Associates a discovered resource ID from Application Discovery Service (ADS) with a migration task.</p>"
},
"CreateProgressUpdateStream":{
"name":"CreateProgressUpdateStream",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateProgressUpdateStreamRequest"},
"output":{"shape":"CreateProgressUpdateStreamResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"DryRunOperation"},
{"shape":"UnauthorizedOperation"},
{"shape":"InvalidInputException"}
],
"documentation":"<p>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.</p>"
},
"DeleteProgressUpdateStream":{
"name":"DeleteProgressUpdateStream",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteProgressUpdateStreamRequest"},
"output":{"shape":"DeleteProgressUpdateStreamResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"DryRunOperation"},
{"shape":"UnauthorizedOperation"},
{"shape":"InvalidInputException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>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:</p> <ul> <li> <p>The only parameter needed for <code>DeleteProgressUpdateStream</code> is the stream name (same as a <code>CreateProgressUpdateStream</code> call).</p> </li> <li> <p>The call will return, and a background process will asynchronously be doing the actual delete of the stream and all of its resources (tasks, associated resources, resource attributes, created artifacts).</p> </li> <li> <p>If the stream takes time to be deleted, it might still show up on a <code>ListProgressUpdateStreams</code> call.</p> </li> <li> <p> <code>CreateProgressUpdateStream</code>, <code>ImportMigrationTask</code>, <code>NotifyMigrationTaskState</code>, and all Associate[*] APIs realted to the tasks belonging to the stream will throw \"InvalidInputException\" if the stream of the same name is in the process of being deleted.</p> </li> <li> <p>Once the stream and all of its resources are deleted, <code>CreateProgressUpdateStream</code> 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).</p> </li> </ul>"
},
"DescribeApplicationState":{
"name":"DescribeApplicationState",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeApplicationStateRequest"},
"output":{"shape":"DescribeApplicationStateResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"InvalidInputException"},
{"shape":"PolicyErrorException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Gets the migration status of an application.</p>"
},
"DescribeMigrationTask":{
"name":"DescribeMigrationTask",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeMigrationTaskRequest"},
"output":{"shape":"DescribeMigrationTaskResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"InvalidInputException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Retrieves a list of all attributes associated with a specific migration task.</p>"
},
"DisassociateCreatedArtifact":{
"name":"DisassociateCreatedArtifact",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DisassociateCreatedArtifactRequest"},
"output":{"shape":"DisassociateCreatedArtifactResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"DryRunOperation"},
{"shape":"UnauthorizedOperation"},
{"shape":"InvalidInputException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>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:</p> <ul> <li> <p>A migration user can call the <code>DisassociateCreatedArtifacts</code> operation to disassociate a created AWS Artifact from a migration task.</p> </li> <li> <p>The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: <code>arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b</code>.</p> </li> <li> <p>Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or RDS instance, etc.</p> </li> </ul>"
},
"DisassociateDiscoveredResource":{
"name":"DisassociateDiscoveredResource",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DisassociateDiscoveredResourceRequest"},
"output":{"shape":"DisassociateDiscoveredResourceResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"DryRunOperation"},
{"shape":"UnauthorizedOperation"},
{"shape":"InvalidInputException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Disassociate an Application Discovery Service (ADS) discovered resource from a migration task.</p>"
},
"ImportMigrationTask":{
"name":"ImportMigrationTask",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ImportMigrationTaskRequest"},
"output":{"shape":"ImportMigrationTaskResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"DryRunOperation"},
{"shape":"UnauthorizedOperation"},
{"shape":"InvalidInputException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Registers a new migration task which represents a server, database, etc., being migrated to AWS by a migration tool.</p> <p>This API is a prerequisite to calling the <code>NotifyMigrationTaskState</code> API as the migration tool must first register the migration task with Migration Hub.</p>"
},
"ListCreatedArtifacts":{
"name":"ListCreatedArtifacts",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListCreatedArtifactsRequest"},
"output":{"shape":"ListCreatedArtifactsResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"InvalidInputException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Lists the created artifacts attached to a given migration task in an update stream. This API has the following traits:</p> <ul> <li> <p>Gets the list of the created artifacts while migration is taking place.</p> </li> <li> <p>Shows the artifacts created by the migration tool that was associated by the <code>AssociateCreatedArtifact</code> API. </p> </li> <li> <p>Lists created artifacts in a paginated interface. </p> </li> </ul>"
},
"ListDiscoveredResources":{
"name":"ListDiscoveredResources",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListDiscoveredResourcesRequest"},
"output":{"shape":"ListDiscoveredResourcesResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"InvalidInputException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Lists discovered resources associated with the given <code>MigrationTask</code>.</p>"
},
"ListMigrationTasks":{
"name":"ListMigrationTasks",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListMigrationTasksRequest"},
"output":{"shape":"ListMigrationTasksResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"InvalidInputException"},
{"shape":"PolicyErrorException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Lists all, or filtered by resource name, migration tasks associated with the user account making this call. This API has the following traits:</p> <ul> <li> <p>Can show a summary list of the most recent migration tasks.</p> </li> <li> <p>Can show a summary list of migration tasks associated with a given discovered resource.</p> </li> <li> <p>Lists migration tasks in a paginated interface.</p> </li> </ul>"
},
"ListProgressUpdateStreams":{
"name":"ListProgressUpdateStreams",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListProgressUpdateStreamsRequest"},
"output":{"shape":"ListProgressUpdateStreamsResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"InvalidInputException"}
],
"documentation":"<p>Lists progress update streams associated with the user account making this call.</p>"
},
"NotifyApplicationState":{
"name":"NotifyApplicationState",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"NotifyApplicationStateRequest"},
"output":{"shape":"NotifyApplicationStateResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"DryRunOperation"},
{"shape":"UnauthorizedOperation"},
{"shape":"InvalidInputException"},
{"shape":"PolicyErrorException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Sets the migration state of an application. For a given application identified by the value passed to <code>ApplicationId</code>, its status is set or updated by passing one of three values to <code>Status</code>: <code>NOT_STARTED | IN_PROGRESS | COMPLETED</code>.</p>"
},
"NotifyMigrationTaskState":{
"name":"NotifyMigrationTaskState",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"NotifyMigrationTaskStateRequest"},
"output":{"shape":"NotifyMigrationTaskStateResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"DryRunOperation"},
{"shape":"UnauthorizedOperation"},
{"shape":"InvalidInputException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Notifies Migration Hub of the current status, progress, or other detail regarding a migration task. This API has the following traits:</p> <ul> <li> <p>Migration tools will call the <code>NotifyMigrationTaskState</code> API to share the latest progress and status.</p> </li> <li> <p> <code>MigrationTaskName</code> is used for addressing updates to the correct target.</p> </li> <li> <p> <code>ProgressUpdateStream</code> is used for access control and to provide a namespace for each migration tool.</p> </li> </ul>"
},
"PutResourceAttributes":{
"name":"PutResourceAttributes",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"PutResourceAttributesRequest"},
"output":{"shape":"PutResourceAttributesResult"},
"errors":[
{"shape":"AccessDeniedException"},
{"shape":"InternalServerError"},
{"shape":"ServiceUnavailableException"},
{"shape":"DryRunOperation"},
{"shape":"UnauthorizedOperation"},
{"shape":"InvalidInputException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Provides identifying details of the resource being migrated so that it can be associated in the Application Discovery Service (ADS)'s repository. This association occurs asynchronously after <code>PutResourceAttributes</code> returns.</p> <important> <p>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 <i>add</i> an IP address, it will then be required to call it with <i>both</i> the IP and MAC addresses to prevent overiding the MAC address.</p> </important> <note> <p>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 <code>ListAssociatedResource</code>.</p> </note>"
}
},
"shapes":{
"AccessDeniedException":{
"type":"structure",
"members":{
"Message":{"shape":"ErrorMessage"}
},
"documentation":"<p>Exception raised when the account making the call is not whitelisted or there are other authentication errors.</p>",
"exception":true
},
"ApplicationId":{
"type":"string",
"max":1600,
"min":1
},
"ApplicationStatus":{
"type":"string",
"enum":[
"NOT_STARTED",
"IN_PROGRESS",
"COMPLETED"
]
},
"AssociateCreatedArtifactRequest":{
"type":"structure",
"required":[
"ProgressUpdateStream",
"MigrationTaskName",
"CreatedArtifact"
],
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream. </p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>Unique identifier that references the migration task.</p>"
},
"CreatedArtifact":{
"shape":"CreatedArtifact",
"documentation":"<p>An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.) </p>"
},
"DryRun":{
"shape":"DryRun",
"documentation":"<p>Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.</p>"
}
}
},
"AssociateCreatedArtifactResult":{
"type":"structure",
"members":{
}
},
"AssociateDiscoveredResourceRequest":{
"type":"structure",
"required":[
"ProgressUpdateStream",
"MigrationTaskName",
"DiscoveredResource"
],
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream.</p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>The identifier given to the MigrationTask.</p>"
},
"DiscoveredResource":{
"shape":"DiscoveredResource",
"documentation":"<p>Object representing a Resource.</p>"
},
"DryRun":{
"shape":"DryRun",
"documentation":"<p>Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.</p>"
}
}
},
"AssociateDiscoveredResourceResult":{
"type":"structure",
"members":{
}
},
"ConfigurationId":{
"type":"string",
"min":1
},
"CreateProgressUpdateStreamRequest":{
"type":"structure",
"required":["ProgressUpdateStreamName"],
"members":{
"ProgressUpdateStreamName":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream. </p>"
},
"DryRun":{
"shape":"DryRun",
"documentation":"<p>Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.</p>"
}
}
},
"CreateProgressUpdateStreamResult":{
"type":"structure",
"members":{
}
},
"CreatedArtifact":{
"type":"structure",
"required":["Name"],
"members":{
"Name":{
"shape":"CreatedArtifactName",
"documentation":"<p>An ARN that uniquely identifies the result of a migration task.</p>"
},
"Description":{
"shape":"CreatedArtifactDescription",
"documentation":"<p>A description that can be free-form text to record additional detail about the artifact for clarity or for later reference.</p>"
}
},
"documentation":"<p>An ARN of the AWS cloud resource target receiving the migration (e.g., AMI, EC2 instance, RDS instance, etc.).</p>"
},
"CreatedArtifactDescription":{
"type":"string",
"max":500,
"min":0
},
"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":"<p>The name of the ProgressUpdateStream. </p>"
},
"DryRun":{
"shape":"DryRun",
"documentation":"<p>Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.</p>"
}
}
},
"DeleteProgressUpdateStreamResult":{
"type":"structure",
"members":{
}
},
"DescribeApplicationStateRequest":{
"type":"structure",
"required":["ApplicationId"],
"members":{
"ApplicationId":{
"shape":"ApplicationId",
"documentation":"<p>The configurationId in ADS that uniquely identifies the grouped application.</p>"
}
}
},
"DescribeApplicationStateResult":{
"type":"structure",
"members":{
"ApplicationStatus":{
"shape":"ApplicationStatus",
"documentation":"<p>Status of the application - Not Started, In-Progress, Complete.</p>"
},
"LastUpdatedTime":{
"shape":"UpdateDateTime",
"documentation":"<p>The timestamp when the application status was last updated.</p>"
}
}
},
"DescribeMigrationTaskRequest":{
"type":"structure",
"required":[
"ProgressUpdateStream",
"MigrationTaskName"
],
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream. </p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>The identifier given to the MigrationTask.</p>"
}
}
},
"DescribeMigrationTaskResult":{
"type":"structure",
"members":{
"MigrationTask":{
"shape":"MigrationTask",
"documentation":"<p>Object encapsulating information about the migration task.</p>"
}
}
},
"DisassociateCreatedArtifactRequest":{
"type":"structure",
"required":[
"ProgressUpdateStream",
"MigrationTaskName",
"CreatedArtifactName"
],
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream. </p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>Unique identifier that references the migration task to be disassociated with the artifact.</p>"
},
"CreatedArtifactName":{
"shape":"CreatedArtifactName",
"documentation":"<p>An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)</p>"
},
"DryRun":{
"shape":"DryRun",
"documentation":"<p>Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.</p>"
}
}
},
"DisassociateCreatedArtifactResult":{
"type":"structure",
"members":{
}
},
"DisassociateDiscoveredResourceRequest":{
"type":"structure",
"required":[
"ProgressUpdateStream",
"MigrationTaskName",
"ConfigurationId"
],
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream.</p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>The identifier given to the MigrationTask.</p>"
},
"ConfigurationId":{
"shape":"ConfigurationId",
"documentation":"<p>ConfigurationId of the ADS resource to be disassociated.</p>"
},
"DryRun":{
"shape":"DryRun",
"documentation":"<p>Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.</p>"
}
}
},
"DisassociateDiscoveredResourceResult":{
"type":"structure",
"members":{
}
},
"DiscoveredResource":{
"type":"structure",
"required":["ConfigurationId"],
"members":{
"ConfigurationId":{
"shape":"ConfigurationId",
"documentation":"<p>The configurationId in ADS that uniquely identifies the on-premise resource.</p>"
},
"Description":{
"shape":"DiscoveredResourceDescription",
"documentation":"<p>A description that can be free-form text to record additional detail about the discovered resource for clarity or later reference.</p>"
}
},
"documentation":"<p>Object representing the on-premises resource being migrated.</p>"
},
"DiscoveredResourceDescription":{
"type":"string",
"max":500,
"min":0
},
"DiscoveredResourceList":{
"type":"list",
"member":{"shape":"DiscoveredResource"}
},
"DryRun":{"type":"boolean"},
"DryRunOperation":{
"type":"structure",
"members":{
"Message":{"shape":"ErrorMessage"}
},
"documentation":"<p>Exception raised to indicate a successfully authorized action when the <code>DryRun</code> flag is set to \"true\".</p>",
"exception":true
},
"ErrorMessage":{"type":"string"},
"ImportMigrationTaskRequest":{
"type":"structure",
"required":[
"ProgressUpdateStream",
"MigrationTaskName"
],
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream. </p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>Unique identifier that references the migration task.</p>"
},
"DryRun":{
"shape":"DryRun",
"documentation":"<p>Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.</p>"
}
}
},
"ImportMigrationTaskResult":{
"type":"structure",
"members":{
}
},
"InternalServerError":{
"type":"structure",
"members":{
"Message":{"shape":"ErrorMessage"}
},
"documentation":"<p>Exception raised when there is an internal, configuration, or dependency error encountered.</p>",
"exception":true,
"fault":true
},
"InvalidInputException":{
"type":"structure",
"members":{
"Message":{"shape":"ErrorMessage"}
},
"documentation":"<p>Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.</p>",
"exception":true
},
"LatestResourceAttributeList":{
"type":"list",
"member":{"shape":"ResourceAttribute"},
"max":100,
"min":0
},
"ListCreatedArtifactsRequest":{
"type":"structure",
"required":[
"ProgressUpdateStream",
"MigrationTaskName"
],
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream. </p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>Unique identifier that references the migration task.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>If a <code>NextToken</code> 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 <code>NextToken</code>.</p>"
},
"MaxResults":{
"shape":"MaxResultsCreatedArtifacts",
"documentation":"<p>Maximum number of results to be returned per page.</p>"
}
}
},
"ListCreatedArtifactsResult":{
"type":"structure",
"members":{
"NextToken":{
"shape":"Token",
"documentation":"<p>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.</p>"
},
"CreatedArtifactList":{
"shape":"CreatedArtifactList",
"documentation":"<p>List of created artifacts up to the maximum number of results specified in the request.</p>"
}
}
},
"ListDiscoveredResourcesRequest":{
"type":"structure",
"required":[
"ProgressUpdateStream",
"MigrationTaskName"
],
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream.</p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>The name of the MigrationTask.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>If a <code>NextToken</code> 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 <code>NextToken</code>.</p>"
},
"MaxResults":{
"shape":"MaxResultsResources",
"documentation":"<p>The maximum number of results returned per page.</p>"
}
}
},
"ListDiscoveredResourcesResult":{
"type":"structure",
"members":{
"NextToken":{
"shape":"Token",
"documentation":"<p>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.</p>"
},
"DiscoveredResourceList":{
"shape":"DiscoveredResourceList",
"documentation":"<p>Returned list of discovered resources associated with the given MigrationTask.</p>"
}
}
},
"ListMigrationTasksRequest":{
"type":"structure",
"members":{
"NextToken":{
"shape":"Token",
"documentation":"<p>If a <code>NextToken</code> 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 <code>NextToken</code>.</p>"
},
"MaxResults":{
"shape":"MaxResults",
"documentation":"<p>Value to specify how many results are returned per page.</p>"
},
"ResourceName":{
"shape":"ResourceName",
"documentation":"<p>Filter migration tasks by discovered resource name.</p>"
}
}
},
"ListMigrationTasksResult":{
"type":"structure",
"members":{
"NextToken":{
"shape":"Token",
"documentation":"<p>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.</p>"
},
"MigrationTaskSummaryList":{
"shape":"MigrationTaskSummaryList",
"documentation":"<p>Lists the migration task's summary which includes: <code>MigrationTaskName</code>, <code>ProgressPercent</code>, <code>ProgressUpdateStream</code>, <code>Status</code>, and the <code>UpdateDateTime</code> for each task.</p>"
}
}
},
"ListProgressUpdateStreamsRequest":{
"type":"structure",
"members":{
"NextToken":{
"shape":"Token",
"documentation":"<p>If a <code>NextToken</code> 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 <code>NextToken</code>.</p>"
},
"MaxResults":{
"shape":"MaxResults",
"documentation":"<p>Filter to limit the maximum number of results to list per page.</p>"
}
}
},
"ListProgressUpdateStreamsResult":{
"type":"structure",
"members":{
"ProgressUpdateStreamSummaryList":{
"shape":"ProgressUpdateStreamSummaryList",
"documentation":"<p>List of progress update streams up to the max number of results passed in the input.</p>"
},
"NextToken":{
"shape":"Token",
"documentation":"<p>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.</p>"
}
}
},
"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":"<p>A name that identifies the vendor of the migration tool being used.</p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>Unique identifier that references the migration task.</p>"
},
"Task":{
"shape":"Task",
"documentation":"<p>Task object encapsulating task information.</p>"
},
"UpdateDateTime":{
"shape":"UpdateDateTime",
"documentation":"<p>The timestamp when the task was gathered.</p>"
},
"ResourceAttributeList":{
"shape":"LatestResourceAttributeList",
"documentation":"<p/>"
}
},
"documentation":"<p>Represents a migration task in a migration tool.</p>"
},
"MigrationTaskName":{
"type":"string",
"max":256,
"min":1,
"pattern":"[^:|]+"
},
"MigrationTaskSummary":{
"type":"structure",
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>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.</p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>Unique identifier that references the migration task.</p>"
},
"Status":{
"shape":"Status",
"documentation":"<p>Status of the task.</p>"
},
"ProgressPercent":{
"shape":"ProgressPercent",
"documentation":"<p/>"
},
"StatusDetail":{
"shape":"StatusDetail",
"documentation":"<p>Detail information of what is being done within the overall status state.</p>"
},
"UpdateDateTime":{
"shape":"UpdateDateTime",
"documentation":"<p>The timestamp when the task was gathered.</p>"
}
},
"documentation":"<p>MigrationTaskSummary includes <code>MigrationTaskName</code>, <code>ProgressPercent</code>, <code>ProgressUpdateStream</code>, <code>Status</code>, and <code>UpdateDateTime</code> for each task.</p>"
},
"MigrationTaskSummaryList":{
"type":"list",
"member":{"shape":"MigrationTaskSummary"}
},
"NextUpdateSeconds":{
"type":"integer",
"min":0
},
"NotifyApplicationStateRequest":{
"type":"structure",
"required":[
"ApplicationId",
"Status"
],
"members":{
"ApplicationId":{
"shape":"ApplicationId",
"documentation":"<p>The configurationId in ADS that uniquely identifies the grouped application.</p>"
},
"Status":{
"shape":"ApplicationStatus",
"documentation":"<p>Status of the application - Not Started, In-Progress, Complete.</p>"
},
"DryRun":{
"shape":"DryRun",
"documentation":"<p>Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.</p>"
}
}
},
"NotifyApplicationStateResult":{
"type":"structure",
"members":{
}
},
"NotifyMigrationTaskStateRequest":{
"type":"structure",
"required":[
"ProgressUpdateStream",
"MigrationTaskName",
"Task",
"UpdateDateTime",
"NextUpdateSeconds"
],
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream. </p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>Unique identifier that references the migration task.</p>"
},
"Task":{
"shape":"Task",
"documentation":"<p>Information about the task's progress and status.</p>"
},
"UpdateDateTime":{
"shape":"UpdateDateTime",
"documentation":"<p>The timestamp when the task was gathered.</p>"
},
"NextUpdateSeconds":{
"shape":"NextUpdateSeconds",
"documentation":"<p>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.</p>"
},
"DryRun":{
"shape":"DryRun",
"documentation":"<p>Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.</p>"
}
}
},
"NotifyMigrationTaskStateResult":{
"type":"structure",
"members":{
}
},
"PolicyErrorException":{
"type":"structure",
"members":{
"Message":{"shape":"ErrorMessage"}
},
"documentation":"<p>Exception raised when there are problems accessing ADS (Application Discovery Service); most likely due to a misconfigured policy or the <code>ADSCaller</code> role is missing or not configured correctly.</p>",
"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":"<p>The name of the ProgressUpdateStream. </p>"
}
},
"documentation":"<p>Summary of the AWS resource used for access control that is implicitly linked to your AWS account.</p>"
},
"ProgressUpdateStreamSummaryList":{
"type":"list",
"member":{"shape":"ProgressUpdateStreamSummary"}
},
"PutResourceAttributesRequest":{
"type":"structure",
"required":[
"ProgressUpdateStream",
"MigrationTaskName",
"ResourceAttributeList"
],
"members":{
"ProgressUpdateStream":{
"shape":"ProgressUpdateStream",
"documentation":"<p>The name of the ProgressUpdateStream. </p>"
},
"MigrationTaskName":{
"shape":"MigrationTaskName",
"documentation":"<p>Unique identifier that references the migration task.</p>"
},
"ResourceAttributeList":{
"shape":"ResourceAttributeList",
"documentation":"<p>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 (ADS)'s repository.</p>"
},
"DryRun":{
"shape":"DryRun",
"documentation":"<p>Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.</p>"
}
}
},
"PutResourceAttributesResult":{
"type":"structure",
"members":{
}
},
"ResourceAttribute":{
"type":"structure",
"required":[
"Type",
"Value"
],
"members":{
"Type":{
"shape":"ResourceAttributeType",
"documentation":"<p>Type of resource.</p>"
},
"Value":{
"shape":"ResourceAttributeValue",
"documentation":"<p>Value of the resource type.</p>"
}
},
"documentation":"<p>Attribute associated with a resource.</p>"
},
"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",
"LABEL"
]
},
"ResourceAttributeValue":{
"type":"string",
"max":256,
"min":1
},
"ResourceName":{
"type":"string",
"max":1600,
"min":1
},
"ResourceNotFoundException":{
"type":"structure",
"members":{
"Message":{"shape":"ErrorMessage"}
},
"documentation":"<p>Exception raised when the request references a resource (ADS configuration, update stream, migration task, etc.) that does not exist in ADS (Application Discovery Service) or in Migration Hub's repository.</p>",
"exception":true
},
"ServiceUnavailableException":{
"type":"structure",
"members":{
"Message":{"shape":"ErrorMessage"}
},
"documentation":"<p>Exception raised when the service encounters throttled communication with upstream dependencies or is overloaded with requests.</p>",
"exception":true,
"fault":true
},
"Status":{
"type":"string",
"enum":[
"NOT_STARTED",
"IN_PROGRESS",
"FAILED",
"COMPLETED"
]
},
"StatusDetail":{
"type":"string",
"max":500,
"min":0
},
"Task":{
"type":"structure",
"required":["Status"],
"members":{
"Status":{
"shape":"Status",
"documentation":"<p>Status of the task - Not Started, In-Progress, Complete.</p>"
},
"StatusDetail":{
"shape":"StatusDetail",
"documentation":"<p>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.</p>"
},
"ProgressPercent":{
"shape":"ProgressPercent",
"documentation":"<p>Indication of the percentage completion of the task.</p>"
}
},
"documentation":"<p>Task object encapsulating task information.</p>"
},
"Token":{"type":"string"},
"UnauthorizedOperation":{
"type":"structure",
"members":{
"Message":{"shape":"ErrorMessage"}
},
"documentation":"<p>Exception raised to indicate a request was not authorized when the <code>DryRun</code> flag is set to \"true\".</p>",
"exception":true
},
"UpdateDateTime":{"type":"timestamp"}
},
"documentation":"<p/>"
}

View file

@ -9,6 +9,34 @@
"jsonVersion" : "1.1"
},
"operations" : {
"CreateApp" : {
"name" : "CreateApp",
"http" : {
"method" : "POST",
"requestUri" : "/v1/apps",
"responseCode" : 201
},
"input" : {
"shape" : "CreateAppRequest"
},
"output" : {
"shape" : "CreateAppResponse"
},
"errors" : [ {
"shape" : "BadRequestException"
}, {
"shape" : "InternalServerErrorException"
}, {
"shape" : "ForbiddenException"
}, {
"shape" : "NotFoundException"
}, {
"shape" : "MethodNotAllowedException"
}, {
"shape" : "TooManyRequestsException"
} ],
"documentation" : "Used to create an app."
},
"CreateCampaign" : {
"name" : "CreateCampaign",
"http" : {
@ -149,6 +177,34 @@
} ],
"documentation" : "Delete an APNS sandbox channel"
},
"DeleteApp" : {
"name" : "DeleteApp",
"http" : {
"method" : "DELETE",
"requestUri" : "/v1/apps/{application-id}",
"responseCode" : 200
},
"input" : {
"shape" : "DeleteAppRequest"
},
"output" : {
"shape" : "DeleteAppResponse"
},
"errors" : [ {
"shape" : "BadRequestException"
}, {
"shape" : "InternalServerErrorException"
}, {
"shape" : "ForbiddenException"
}, {
"shape" : "NotFoundException"
}, {
"shape" : "MethodNotAllowedException"
}, {
"shape" : "TooManyRequestsException"
} ],
"documentation" : "Deletes an app."
},
"DeleteCampaign" : {
"name" : "DeleteCampaign",
"http" : {
@ -373,6 +429,34 @@
} ],
"documentation" : "Get an APNS sandbox channel"
},
"GetApp" : {
"name" : "GetApp",
"http" : {
"method" : "GET",
"requestUri" : "/v1/apps/{application-id}",
"responseCode" : 200
},
"input" : {
"shape" : "GetAppRequest"
},
"output" : {
"shape" : "GetAppResponse"
},
"errors" : [ {
"shape" : "BadRequestException"
}, {
"shape" : "InternalServerErrorException"
}, {
"shape" : "ForbiddenException"
}, {
"shape" : "NotFoundException"
}, {
"shape" : "MethodNotAllowedException"
}, {
"shape" : "TooManyRequestsException"
} ],
"documentation" : "Returns information about an app."
},
"GetApplicationSettings" : {
"name" : "GetApplicationSettings",
"http" : {
@ -401,6 +485,34 @@
} ],
"documentation" : "Used to request the settings for an app."
},
"GetApps" : {
"name" : "GetApps",
"http" : {
"method" : "GET",
"requestUri" : "/v1/apps",
"responseCode" : 200
},
"input" : {
"shape" : "GetAppsRequest"
},
"output" : {
"shape" : "GetAppsResponse"
},
"errors" : [ {
"shape" : "BadRequestException"
}, {
"shape" : "InternalServerErrorException"
}, {
"shape" : "ForbiddenException"
}, {
"shape" : "NotFoundException"
}, {
"shape" : "MethodNotAllowedException"
}, {
"shape" : "TooManyRequestsException"
} ],
"documentation" : "Returns information about your apps."
},
"GetCampaign" : {
"name" : "GetCampaign",
"http" : {
@ -1250,7 +1362,7 @@
},
"Id" : {
"shape" : "__string",
"documentation" : "Channel ID. Not used, only for backwards compatibility."
"documentation" : "Channel ID. Not used. Present only for backwards compatibility."
},
"IsArchived" : {
"shape" : "__boolean",
@ -1384,7 +1496,7 @@
},
"Platform" : {
"shape" : "__string",
"documentation" : "The platform type. Will be APNS."
"documentation" : "The platform type. Will be APNS_SANDBOX."
},
"Version" : {
"shape" : "__integer",
@ -1474,7 +1586,7 @@
},
"ChannelType" : {
"shape" : "ChannelType",
"documentation" : "Type of channel of this address"
"documentation" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL"
},
"Context" : {
"shape" : "MapOf__string",
@ -1495,6 +1607,20 @@
},
"documentation" : "Address configuration."
},
"ApplicationResponse" : {
"type" : "structure",
"members" : {
"Id" : {
"shape" : "__string",
"documentation" : "The unique application ID."
},
"Name" : {
"shape" : "__string",
"documentation" : "The display name of the application."
}
},
"documentation" : "Application Response."
},
"ApplicationSettingsResource" : {
"type" : "structure",
"members" : {
@ -1517,6 +1643,20 @@
},
"documentation" : "Application settings."
},
"ApplicationsResponse" : {
"type" : "structure",
"members" : {
"Item" : {
"shape" : "ListOfApplicationResponse",
"documentation" : "List of applications returned in this page."
},
"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" : "Get Applications Result."
},
"AttributeDimension" : {
"type" : "structure",
"members" : {
@ -1560,6 +1700,10 @@
"shape" : "__string",
"documentation" : "The email text body."
},
"FromAddress" : {
"shape" : "__string",
"documentation" : "The email address used to send the email from. Defaults to use FromAddress specified in the Email Channel."
},
"HtmlBody" : {
"shape" : "__string",
"documentation" : "The email html body."
@ -1717,6 +1861,36 @@
"type" : "string",
"enum" : [ "GCM", "APNS", "APNS_SANDBOX", "ADM", "SMS", "EMAIL" ]
},
"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. Used in the Amazon Pinpoint console."
}
},
"documentation" : "Application Request."
},
"CreateCampaignRequest" : {
"type" : "structure",
"members" : {
@ -1882,6 +2056,27 @@
"required" : [ "APNSSandboxChannelResponse" ],
"payload" : "APNSSandboxChannelResponse"
},
"DeleteAppRequest" : {
"type" : "structure",
"members" : {
"ApplicationId" : {
"shape" : "__string",
"location" : "uri",
"locationName" : "application-id"
}
},
"required" : [ "ApplicationId" ]
},
"DeleteAppResponse" : {
"type" : "structure",
"members" : {
"ApplicationResponse" : {
"shape" : "ApplicationResponse"
}
},
"required" : [ "ApplicationResponse" ],
"payload" : "ApplicationResponse"
},
"DeleteCampaignRequest" : {
"type" : "structure",
"members" : {
@ -2086,7 +2281,7 @@
"members" : {
"ApplicationId" : {
"shape" : "__string",
"documentation" : "Application id"
"documentation" : "The unique ID of the application to which the email channel belongs."
},
"CreationDate" : {
"shape" : "__string",
@ -2148,7 +2343,7 @@
},
"ChannelType" : {
"shape" : "ChannelType",
"documentation" : "The channel type.\n\nValid values: APNS, GCM"
"documentation" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL"
},
"Demographic" : {
"shape" : "EndpointDemographic",
@ -2176,7 +2371,7 @@
},
"OptOut" : {
"shape" : "__string",
"documentation" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL User receives all messages.\nNONE User receives no messages."
"documentation" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL - User has opted out of all messages.\n\nNONE - Users has not opted out and receives all messages."
},
"RequestId" : {
"shape" : "__string",
@ -2280,7 +2475,7 @@
},
"ChannelType" : {
"shape" : "ChannelType",
"documentation" : "The channel type.\n\nValid values: APNS, GCM"
"documentation" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL"
},
"Demographic" : {
"shape" : "EndpointDemographic",
@ -2304,7 +2499,7 @@
},
"OptOut" : {
"shape" : "__string",
"documentation" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL User receives all messages.\nNONE User receives no messages."
"documentation" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL - User has opted out of all messages.\n\nNONE - Users has not opted out and receives all messages."
},
"RequestId" : {
"shape" : "__string",
@ -2334,7 +2529,7 @@
},
"ChannelType" : {
"shape" : "ChannelType",
"documentation" : "The channel type.\n\nValid values: APNS, GCM"
"documentation" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL"
},
"CohortId" : {
"shape" : "__string",
@ -2370,7 +2565,7 @@
},
"OptOut" : {
"shape" : "__string",
"documentation" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL User receives all messages.\nNONE User receives no messages."
"documentation" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL - User has opted out of all messages.\n\nNONE - Users has not opted out and receives all messages."
},
"RequestId" : {
"shape" : "__string",
@ -2492,7 +2687,7 @@
},
"Id" : {
"shape" : "__string",
"documentation" : "Channel ID. Not used, only for backwards compatibility."
"documentation" : "Channel ID. Not used. Present only for backwards compatibility."
},
"IsArchived" : {
"shape" : "__boolean",
@ -2625,6 +2820,27 @@
"required" : [ "APNSSandboxChannelResponse" ],
"payload" : "APNSSandboxChannelResponse"
},
"GetAppRequest" : {
"type" : "structure",
"members" : {
"ApplicationId" : {
"shape" : "__string",
"location" : "uri",
"locationName" : "application-id"
}
},
"required" : [ "ApplicationId" ]
},
"GetAppResponse" : {
"type" : "structure",
"members" : {
"ApplicationResponse" : {
"shape" : "ApplicationResponse"
}
},
"required" : [ "ApplicationResponse" ],
"payload" : "ApplicationResponse"
},
"GetApplicationSettingsRequest" : {
"type" : "structure",
"members" : {
@ -2646,6 +2862,31 @@
"required" : [ "ApplicationSettingsResource" ],
"payload" : "ApplicationSettingsResource"
},
"GetAppsRequest" : {
"type" : "structure",
"members" : {
"PageSize" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "page-size"
},
"Token" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "token"
}
}
},
"GetAppsResponse" : {
"type" : "structure",
"members" : {
"ApplicationsResponse" : {
"shape" : "ApplicationsResponse"
}
},
"required" : [ "ApplicationsResponse" ],
"payload" : "ApplicationsResponse"
},
"GetCampaignActivitiesRequest" : {
"type" : "structure",
"members" : {
@ -2662,12 +2903,14 @@
"PageSize" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "page-size"
"locationName" : "page-size",
"documentation" : "The number of entries you want on each page in the response."
},
"Token" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "token"
"locationName" : "token",
"documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response."
}
},
"required" : [ "ApplicationId", "CampaignId" ]
@ -2755,12 +2998,14 @@
"PageSize" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "page-size"
"locationName" : "page-size",
"documentation" : "The number of entries you want on each page in the response."
},
"Token" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "token"
"locationName" : "token",
"documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response."
}
},
"required" : [ "ApplicationId", "CampaignId" ]
@ -2786,12 +3031,14 @@
"PageSize" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "page-size"
"locationName" : "page-size",
"documentation" : "The number of entries you want on each page in the response."
},
"Token" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "token"
"locationName" : "token",
"documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response."
}
},
"required" : [ "ApplicationId" ]
@ -2935,12 +3182,14 @@
"PageSize" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "page-size"
"locationName" : "page-size",
"documentation" : "The number of entries you want on each page in the response."
},
"Token" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "token"
"locationName" : "token",
"documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response."
}
},
"required" : [ "ApplicationId" ]
@ -2966,7 +3215,8 @@
"PageSize" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "page-size"
"locationName" : "page-size",
"documentation" : "The number of entries you want on each page in the response."
},
"SegmentId" : {
"shape" : "__string",
@ -2976,7 +3226,8 @@
"Token" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "token"
"locationName" : "token",
"documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response."
}
},
"required" : [ "SegmentId", "ApplicationId" ]
@ -3059,7 +3310,8 @@
"PageSize" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "page-size"
"locationName" : "page-size",
"documentation" : "The number of entries you want on each page in the response."
},
"SegmentId" : {
"shape" : "__string",
@ -3069,7 +3321,8 @@
"Token" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "token"
"locationName" : "token",
"documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response."
}
},
"required" : [ "SegmentId", "ApplicationId" ]
@ -3095,12 +3348,14 @@
"PageSize" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "page-size"
"locationName" : "page-size",
"documentation" : "The number of entries you want on each page in the response."
},
"Token" : {
"shape" : "__string",
"location" : "querystring",
"locationName" : "token"
"locationName" : "token",
"documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response."
}
},
"required" : [ "ApplicationId" ]
@ -3309,6 +3564,12 @@
"shape" : "ActivityResponse"
}
},
"ListOfApplicationResponse" : {
"type" : "list",
"member" : {
"shape" : "ApplicationResponse"
}
},
"ListOfCampaignResponse" : {
"type" : "list",
"member" : {
@ -3445,6 +3706,10 @@
"shape" : "__string",
"documentation" : "The URL that points to the media resource, for example a .mp4 or .gif file."
},
"RawContent" : {
"shape" : "__string",
"documentation" : "The Raw JSON formatted string to be used as the payload. This value overrides the message."
},
"SilentPush" : {
"shape" : "__boolean",
"documentation" : "Indicates if the message should display on the users device.\n\nSilent pushes can be used for Remote Configuration and Phone Home use cases. "
@ -3623,8 +3888,7 @@
}
},
"required" : [ "EventStream" ],
"payload" : "EventStream",
"documentation": "PutEventStream Response"
"payload" : "EventStream"
},
"QuietTime" : {
"type" : "structure",
@ -3677,7 +3941,7 @@
"members" : {
"ApplicationId" : {
"shape" : "__string",
"documentation" : "Application id"
"documentation" : "The unique ID of the application to which the SMS channel belongs."
},
"CreationDate" : {
"shape" : "__string",

File diff suppressed because one or more lines are too long

View file

@ -2328,6 +2328,7 @@
}
},
"documentation":"<p>This error code is not in use.</p>",
"deprecated":true,
"error":{"httpStatusCode":400},
"exception":true
},
@ -2889,7 +2890,7 @@
},
"StartRecordType":{
"shape":"RRType",
"documentation":"<p>The type of resource record set to begin the record listing from.</p> <p>Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | <code>SPF</code> | <code>SRV</code> | <code>TXT</code> </p> <p>Values for weighted, latency, geo, and failover resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | <code>SRV</code> | <code>TXT</code> </p> <p>Values for alias resource record sets: </p> <ul> <li> <p> <b>CloudFront distribution</b>: A or AAAA</p> </li> <li> <p> <b>Elastic Beanstalk environment that has a regionalized subdomain</b>: A</p> </li> <li> <p> <b>ELB load balancer</b>: A | AAAA</p> </li> <li> <p> <b>Amazon S3 bucket</b>: A</p> </li> </ul> <p>Constraint: Specifying <code>type</code> without specifying <code>name</code> returns an <code>InvalidInput</code> error.</p>",
"documentation":"<p>The type of resource record set to begin the record listing from.</p> <p>Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | <code>SPF</code> | <code>SRV</code> | <code>TXT</code> </p> <p>Values for weighted, latency, geo, and failover resource record sets: <code>A</code> | <code>AAAA</code> | <code>CAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | <code>SRV</code> | <code>TXT</code> </p> <p>Values for alias resource record sets: </p> <ul> <li> <p> <b>CloudFront distribution</b>: A or AAAA</p> </li> <li> <p> <b>Elastic Beanstalk environment that has a regionalized subdomain</b>: A</p> </li> <li> <p> <b>ELB load balancer</b>: A | AAAA</p> </li> <li> <p> <b>Amazon S3 bucket</b>: A</p> </li> <li> <p> <b>Another resource record set in this hosted zone:</b> The type of the resource record set that the alias references.</p> </li> </ul> <p>Constraint: Specifying <code>type</code> without specifying <code>name</code> returns an <code>InvalidInput</code> error.</p>",
"location":"querystring",
"locationName":"type"
},
@ -3586,7 +3587,8 @@
"PTR",
"SRV",
"SPF",
"AAAA"
"AAAA",
"CAA"
]
},
"RecordData":{
@ -3643,7 +3645,7 @@
},
"Type":{
"shape":"RRType",
"documentation":"<p>The DNS record type. For information about different record types and how data is encoded for them, see <a href=\"http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html\">Supported DNS Resource Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>.</p> <p>Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | <code>SPF</code> | <code>SRV</code> | <code>TXT</code> </p> <p>Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | <code>AAAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | <code>SRV</code> | <code>TXT</code>. 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.</p> <p>Valid values for multivalue answer resource record sets: <code>A</code> | <code>AAAA</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | <code>SRV</code> | <code>TXT</code> </p> <note> <p>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 <code>Type</code> is <code>SPF</code>. RFC 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</i>, 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, <a href=\"http://tools.ietf.org/html/rfc7208#section-14.1\">The SPF DNS Record Type</a>.</p> </note> <p>Values for alias resource record sets:</p> <ul> <li> <p> <b>CloudFront distributions:</b> <code>A</code> </p> <p>If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of <code>A</code> and one with a value of <code>AAAA</code>. </p> </li> <li> <p> <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> </p> </li> <li> <p> <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> </p> </li> <li> <p> <b>Amazon S3 buckets:</b> <code>A</code> </p> </li> <li> <p> <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set that you're creating the alias for. All values are supported except <code>NS</code> and <code>SOA</code>.</p> </li> </ul>"
"documentation":"<p>The DNS record type. For information about different record types and how data is encoded for them, see <a href=\"http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html\">Supported DNS Resource Record Types</a> in the <i>Amazon Route 53 Developer Guide</i>.</p> <p>Valid values for basic resource record sets: <code>A</code> | <code>AAAA</code> | <code>CAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>NS</code> | <code>PTR</code> | <code>SOA</code> | <code>SPF</code> | <code>SRV</code> | <code>TXT</code> </p> <p>Values for weighted, latency, geolocation, and failover resource record sets: <code>A</code> | <code>AAAA</code> | <code>CAA</code> | <code>CNAME</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | <code>SRV</code> | <code>TXT</code>. 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.</p> <p>Valid values for multivalue answer resource record sets: <code>A</code> | <code>AAAA</code> | <code>MX</code> | <code>NAPTR</code> | <code>PTR</code> | <code>SPF</code> | <code>SRV</code> | <code>TXT</code> </p> <note> <p>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 <code>Type</code> is <code>SPF</code>. RFC 7208, <i>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</i>, 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, <a href=\"http://tools.ietf.org/html/rfc7208#section-14.1\">The SPF DNS Record Type</a>.</p> </note> <p>Values for alias resource record sets:</p> <ul> <li> <p> <b>CloudFront distributions:</b> <code>A</code> </p> <p>If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of <code>A</code> and one with a value of <code>AAAA</code>. </p> </li> <li> <p> <b>AWS Elastic Beanstalk environment that has a regionalized subdomain</b>: <code>A</code> </p> </li> <li> <p> <b>ELB load balancers:</b> <code>A</code> | <code>AAAA</code> </p> </li> <li> <p> <b>Amazon S3 buckets:</b> <code>A</code> </p> </li> <li> <p> <b>Another resource record set in this hosted zone:</b> Specify the type of the resource record set that you're creating the alias for. All values are supported except <code>NS</code> and <code>SOA</code>.</p> </li> </ul>"
},
"SetIdentifier":{
"shape":"ResourceRecordSetIdentifier",

View file

@ -1,7 +1,6 @@
{
"version":"2.0",
"metadata":{
"uid":"email-2010-12-01",
"apiVersion":"2010-12-01",
"endpointPrefix":"email",
"protocol":"query",
@ -9,6 +8,7 @@
"serviceFullName":"Amazon Simple Email Service",
"signatureVersion":"v4",
"signingName":"ses",
"uid":"email-2010-12-01",
"xmlNamespace":"http://ses.amazonaws.com/doc/2010-12-01/"
},
"operations":{
@ -64,9 +64,10 @@
{"shape":"EventDestinationAlreadyExistsException"},
{"shape":"InvalidCloudWatchDestinationException"},
{"shape":"InvalidFirehoseDestinationException"},
{"shape":"InvalidSNSDestinationException"},
{"shape":"LimitExceededException"}
],
"documentation":"<p>Creates a configuration set event destination.</p> <note> <p>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.</p> </note> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html\">Amazon SES Developer Guide</a>.</p> <p>This action is throttled at one request per second.</p>"
"documentation":"<p>Creates a configuration set event destination.</p> <note> <p>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).</p> </note> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html\">Amazon SES Developer Guide</a>.</p> <p>This action is throttled at one request per second.</p>"
},
"CreateReceiptFilter":{
"name":"CreateReceiptFilter",
@ -362,7 +363,7 @@
"shape":"GetIdentityVerificationAttributesResponse",
"resultWrapper":"GetIdentityVerificationAttributesResult"
},
"documentation":"<p>Given a list of identities (email addresses and/or domains), returns the verification status and (for domain identities) the verification token for each identity.</p> <p>This action is throttled at one request per second and can only get verification attributes for up to 100 identities at a time.</p>"
"documentation":"<p>Given a list of identities (email addresses and/or domains), returns the verification status and (for domain identities) the verification token for each identity.</p> <p>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.</p> <p>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.</p> <p>This action is throttled at one request per second and can only get verification attributes for up to 100 identities at a time.</p>"
},
"GetSendQuota":{
"name":"GetSendQuota",
@ -530,7 +531,7 @@
{"shape":"MailFromDomainNotVerifiedException"},
{"shape":"ConfigurationSetDoesNotExistException"}
],
"documentation":"<p>Composes an email message based on input data, and then immediately queues the message for sending.</p> <p>There are several important points to know about <code>SendEmail</code>:</p> <ul> <li> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html\">Amazon SES Developer Guide</a>.</p> </li> <li> <p>The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.</p> </li> <li> <p>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.</p> </li> <li> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html\">Amazon SES Developer Guide</a>.</p> </li> </ul>"
"documentation":"<p>Composes an email message based on input data, and then immediately queues the message for sending.</p> <p>There are several important points to know about <code>SendEmail</code>:</p> <ul> <li> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html\">Amazon SES Developer Guide</a>.</p> </li> <li> <p>The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.</p> </li> <li> <p>You must provide at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If any email address you provide is invalid, Amazon SES rejects the entire email.</p> </li> <li> <p>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.</p> </li> <li> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html\">Amazon SES Developer Guide</a>.</p> </li> </ul>"
},
"SendRawEmail":{
"name":"SendRawEmail",
@ -548,7 +549,7 @@
{"shape":"MailFromDomainNotVerifiedException"},
{"shape":"ConfigurationSetDoesNotExistException"}
],
"documentation":"<p>Sends an email message, with header and content specified by the client. The <code>SendRawEmail</code> 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. </p> <p>There are several important points to know about <code>SendRawEmail</code>:</p> <ul> <li> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html\">Amazon SES Developer Guide</a>.</p> </li> <li> <p>The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.</p> </li> <li> <p>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.</p> </li> <li> <p>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.</p> </li> <li> <p>Amazon SES overrides any Message-ID and Date headers you provide.</p> </li> <li> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html\">Amazon SES Developer Guide</a>.</p> </li> <li> <p>If you are using sending authorization to send on behalf of another user, <code>SendRawEmail</code> 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 <code>SourceArn</code>, <code>FromArn</code>, and/or <code>ReturnPathArn</code> to the API, or you can include the following X-headers in the header of your raw email:</p> <ul> <li> <p> <code>X-SES-SOURCE-ARN</code> </p> </li> <li> <p> <code>X-SES-FROM-ARN</code> </p> </li> <li> <p> <code>X-SES-RETURN-PATH-ARN</code> </p> </li> </ul> <important> <p>Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.</p> </important> <p>For the most common sending authorization use case, we recommend that you specify the <code>SourceIdentityArn</code> and do not specify either the <code>FromIdentityArn</code> or <code>ReturnPathIdentityArn</code>. (The same note applies to the corresponding X-headers.) If you only specify the <code>SourceIdentityArn</code>, Amazon SES will simply set the \"From\" address and the \"Return Path\" address to the identity specified in <code>SourceIdentityArn</code>. For more information about sending authorization, see the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html\">Amazon SES Developer Guide</a>.</p> </li> </ul>"
"documentation":"<p>Sends an email message, with header and content specified by the client. The <code>SendRawEmail</code> 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. </p> <p>There are several important points to know about <code>SendRawEmail</code>:</p> <ul> <li> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html\">Amazon SES Developer Guide</a>.</p> </li> <li> <p>The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.</p> </li> <li> <p>You must provide at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If any email address you provide is invalid, Amazon SES rejects the entire email.</p> </li> <li> <p>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.</p> </li> <li> <p>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.</p> </li> <li> <p>Amazon SES overrides any Message-ID and Date headers you provide.</p> </li> <li> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html\">Amazon SES Developer Guide</a>.</p> </li> <li> <p>If you are using sending authorization to send on behalf of another user, <code>SendRawEmail</code> 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 <code>SourceArn</code>, <code>FromArn</code>, and/or <code>ReturnPathArn</code> to the API, or you can include the following X-headers in the header of your raw email:</p> <ul> <li> <p> <code>X-SES-SOURCE-ARN</code> </p> </li> <li> <p> <code>X-SES-FROM-ARN</code> </p> </li> <li> <p> <code>X-SES-RETURN-PATH-ARN</code> </p> </li> </ul> <important> <p>Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.</p> </important> <p>For the most common sending authorization use case, we recommend that you specify the <code>SourceIdentityArn</code> and do not specify either the <code>FromIdentityArn</code> or <code>ReturnPathIdentityArn</code>. (The same note applies to the corresponding X-headers.) If you only specify the <code>SourceIdentityArn</code>, Amazon SES will simply set the \"From\" address and the \"Return Path\" address to the identity specified in <code>SourceIdentityArn</code>. For more information about sending authorization, see the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html\">Amazon SES Developer Guide</a>.</p> </li> </ul>"
},
"SetActiveReceiptRuleSet":{
"name":"SetActiveReceiptRuleSet",
@ -663,9 +664,10 @@
{"shape":"ConfigurationSetDoesNotExistException"},
{"shape":"EventDestinationDoesNotExistException"},
{"shape":"InvalidCloudWatchDestinationException"},
{"shape":"InvalidFirehoseDestinationException"}
{"shape":"InvalidFirehoseDestinationException"},
{"shape":"InvalidSNSDestinationException"}
],
"documentation":"<p>Updates the event destination of a configuration set.</p> <note> <p>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.</p> </note> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html\">Amazon SES Developer Guide</a>.</p> <p>This action is throttled at one request per second.</p>"
"documentation":"<p>Updates the event destination of a configuration set.</p> <note> <p>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).</p> </note> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html\">Amazon SES Developer Guide</a>.</p> <p>This action is throttled at one request per second.</p>"
},
"UpdateReceiptRule":{
"name":"UpdateReceiptRule",
@ -1402,7 +1404,8 @@
"type":"string",
"enum":[
"messageTag",
"emailHeader"
"emailHeader",
"linkTag"
]
},
"DkimAttributes":{
@ -1449,9 +1452,13 @@
"CloudWatchDestination":{
"shape":"CloudWatchDestination",
"documentation":"<p>An object that contains the names, default values, and sources of the dimensions associated with an Amazon CloudWatch event destination.</p>"
},
"SNSDestination":{
"shape":"SNSDestination",
"documentation":"<p>An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.</p>"
}
},
"documentation":"<p>Contains information about the event destination to which the specified email sending events are published.</p> <note> <p>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.</p> </note> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html\">Amazon SES Developer Guide</a>.</p>"
"documentation":"<p>Contains information about the event destination to which the specified email sending events are published.</p> <note> <p>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).</p> </note> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html\">Amazon SES Developer Guide</a>.</p>"
},
"EventDestinationAlreadyExistsException":{
"type":"structure",
@ -1493,7 +1500,9 @@
"reject",
"bounce",
"complaint",
"delivery"
"delivery",
"open",
"click"
]
},
"EventTypes":{
@ -1862,6 +1871,26 @@
},
"exception":true
},
"InvalidSNSDestinationException":{
"type":"structure",
"members":{
"ConfigurationSetName":{
"shape":"ConfigurationSetName",
"documentation":"<p>Indicates that the configuration set does not exist.</p>"
},
"EventDestinationName":{
"shape":"EventDestinationName",
"documentation":"<p>Indicates that the event destination does not exist.</p>"
}
},
"documentation":"<p>Indicates that the Amazon Simple Notification Service (Amazon SNS) destination is invalid. See the error message for details.</p>",
"error":{
"code":"InvalidSNSDestination",
"httpStatusCode":400,
"senderFault":true
},
"exception":true
},
"InvalidSnsTopicException":{
"type":"structure",
"members":{
@ -2229,7 +2258,7 @@
"members":{
"Data":{
"shape":"RawMessageData",
"documentation":"<p>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.</p> <p>The To:, CC:, and BCC: headers in the raw message can contain a group list.</p> <p>If you are using <code>SendRawEmail</code> 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 <code>SendRawEmail</code>. </p> <important> <p>Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.</p> </important> <p>For more information, go to the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html\">Amazon SES Developer Guide</a>. </p>"
"documentation":"<p>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.</p> <p>The To:, CC:, and BCC: headers in the raw message can contain a group list.</p> <p>If you are using <code>SendRawEmail</code> 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 <code>SendRawEmail</code>. </p> <important> <p>Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.</p> </important> <p>For more information, go to the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html\">Amazon SES Developer Guide</a>. </p>"
}
},
"documentation":"<p>Represents the raw data of the message.</p>"
@ -2523,6 +2552,17 @@
"Base64"
]
},
"SNSDestination":{
"type":"structure",
"required":["TopicARN"],
"members":{
"TopicARN":{
"shape":"AmazonResourceName",
"documentation":"<p>The ARN of the Amazon SNS topic to which you want to publish email sending events. 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 <a href=\"http://docs.aws.amazon.com/http:/alpha-docs-aws.amazon.com/sns/latest/dg/CreateTopic.html\"> <i>Amazon SNS Developer Guide</i> </a>.</p>"
}
},
"documentation":"<p>Contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.</p> <p>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 <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html\">Amazon SES Developer Guide</a>.</p>"
},
"SendBounceRequest":{
"type":"structure",
"required":[
@ -2670,7 +2710,7 @@
},
"RawMessage":{
"shape":"RawMessage",
"documentation":"<p>The raw text of the message. The client is responsible for ensuring the following:</p> <ul> <li> <p>Message must contain a header and a body, separated by a blank line.</p> </li> <li> <p>All required header fields must be present.</p> </li> <li> <p>Each part of a multipart MIME message must be formatted properly.</p> </li> <li> <p>MIME content types must be among those supported by Amazon SES. For more information, go to the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html\">Amazon SES Developer Guide</a>.</p> </li> <li> <p>Must be base64-encoded.</p> </li> </ul>"
"documentation":"<p>The raw text of the message. The client is responsible for ensuring the following:</p> <ul> <li> <p>Message must contain a header and a body, separated by a blank line.</p> </li> <li> <p>All required header fields must be present.</p> </li> <li> <p>Each part of a multipart MIME message must be formatted properly.</p> </li> <li> <p>MIME content types must be among those supported by Amazon SES. For more information, go to the <a href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html\">Amazon SES Developer Guide</a>.</p> </li> <li> <p>Must be base64-encoded.</p> </li> <li> <p>Per <a href=\"https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6\">RFC 5321</a>, the maximum length of each line of text, including the &lt;CRLF&gt;, must not exceed 1,000 characters.</p> </li> </ul>"
},
"FromArn":{
"shape":"AmazonResourceName",
@ -3015,7 +3055,7 @@
"members":{
"VerificationToken":{
"shape":"VerificationToken",
"documentation":"<p>A TXT record that must be placed in the DNS settings for the domain, in order to complete domain verification.</p>"
"documentation":"<p>A TXT record that you must place in the DNS settings of the domain to complete domain verification with Amazon SES.</p> <p>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.</p>"
}
},
"documentation":"<p>Returns a TXT record that you must publish to the DNS server of your domain to complete domain verification with Amazon SES.</p>"

View file

@ -253,7 +253,7 @@
"errors":[
{"shape":"InternalServerError"}
],
"documentation":"<p>Delete a list of parameters.</p>"
"documentation":"<p>Delete a list of parameters. This API is used to delete parameters by using the Amazon EC2 console.</p>"
},
"DeletePatchBaseline":{
"name":"DeletePatchBaseline",
@ -321,7 +321,8 @@
"output":{"shape":"DeregisterTargetFromMaintenanceWindowResult"},
"errors":[
{"shape":"DoesNotExistException"},
{"shape":"InternalServerError"}
{"shape":"InternalServerError"},
{"shape":"TargetInUseException"}
],
"documentation":"<p>Removes a target from a Maintenance Window.</p>"
},
@ -364,6 +365,7 @@
"output":{"shape":"DescribeAssociationResult"},
"errors":[
{"shape":"AssociationDoesNotExist"},
{"shape":"InvalidAssociationVersion"},
{"shape":"InternalServerError"},
{"shape":"InvalidDocument"},
{"shape":"InvalidInstanceId"}
@ -574,7 +576,7 @@
"errors":[
{"shape":"InternalServerError"}
],
"documentation":"<p>Lists the executions of a Maintenance Window (meaning, information about when the Maintenance Window was scheduled to be active and information about tasks registered and run with the Maintenance Window).</p>"
"documentation":"<p>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.</p>"
},
"DescribeMaintenanceWindowTargets":{
"name":"DescribeMaintenanceWindowTargets",
@ -632,7 +634,7 @@
{"shape":"InvalidFilterValue"},
{"shape":"InvalidNextToken"}
],
"documentation":"<p>Get information about a parameter.</p>"
"documentation":"<p>Get information about a parameter.</p> <p>Request results are returned on a best-effort basis. If you specify <code>MaxResults</code> 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 <code>MaxResults</code>. 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 <code>NextToken</code>. You can specify the <code>NextToken</code> in a subsequent call to get the next set of results.</p>"
},
"DescribePatchBaselines":{
"name":"DescribePatchBaselines",
@ -821,6 +823,34 @@
],
"documentation":"<p>Retrieves the details about a specific task executed as part of a Maintenance Window execution.</p>"
},
"GetMaintenanceWindowExecutionTaskInvocation":{
"name":"GetMaintenanceWindowExecutionTaskInvocation",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetMaintenanceWindowExecutionTaskInvocationRequest"},
"output":{"shape":"GetMaintenanceWindowExecutionTaskInvocationResult"},
"errors":[
{"shape":"DoesNotExistException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>Retrieves a task invocation. A task invocation is a specific task executing on a specific target. Maintenance Windows report status for all invocations. </p>"
},
"GetMaintenanceWindowTask":{
"name":"GetMaintenanceWindowTask",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"GetMaintenanceWindowTaskRequest"},
"output":{"shape":"GetMaintenanceWindowTaskResult"},
"errors":[
{"shape":"DoesNotExistException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>Lists the tasks in a Maintenance Window.</p>"
},
"GetParameter":{
"name":"GetParameter",
"http":{
@ -882,7 +912,7 @@
{"shape":"InvalidKeyId"},
{"shape":"InvalidNextToken"}
],
"documentation":"<p>Retrieve parameters in a specific hierarchy. For more information, see <a href=\"http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html\">Working with Systems Manager Parameters</a>. </p>"
"documentation":"<p>Retrieve parameters in a specific hierarchy. For more information, see <a href=\"http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html\">Working with Systems Manager Parameters</a>. </p> <p>Request results are returned on a best-effort basis. If you specify <code>MaxResults</code> 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 <code>MaxResults</code>. 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 <code>NextToken</code>. You can specify the <code>NextToken</code> in a subsequent call to get the next set of results.</p>"
},
"GetPatchBaseline":{
"name":"GetPatchBaseline",
@ -912,6 +942,21 @@
],
"documentation":"<p>Retrieves the patch baseline that should be used for the specified patch group.</p>"
},
"ListAssociationVersions":{
"name":"ListAssociationVersions",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListAssociationVersionsRequest"},
"output":{"shape":"ListAssociationVersionsResult"},
"errors":[
{"shape":"InternalServerError"},
{"shape":"InvalidNextToken"},
{"shape":"AssociationDoesNotExist"}
],
"documentation":"<p>Retrieves all versions of an association for a specific association ID.</p>"
},
"ListAssociations":{
"name":"ListAssociations",
"http":{
@ -960,6 +1005,38 @@
],
"documentation":"<p>Lists the commands requested by users of the AWS account.</p>"
},
"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":"<p>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. </p>"
},
"ListComplianceSummaries":{
"name":"ListComplianceSummaries",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListComplianceSummariesRequest"},
"output":{"shape":"ListComplianceSummariesResult"},
"errors":[
{"shape":"InvalidFilter"},
{"shape":"InvalidNextToken"},
{"shape":"InternalServerError"}
],
"documentation":"<p>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. </p>"
},
"ListDocumentVersions":{
"name":"ListDocumentVersions",
"http":{
@ -1007,6 +1084,21 @@
],
"documentation":"<p>A list of inventory items returned by the request.</p>"
},
"ListResourceComplianceSummaries":{
"name":"ListResourceComplianceSummaries",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListResourceComplianceSummariesRequest"},
"output":{"shape":"ListResourceComplianceSummariesResult"},
"errors":[
{"shape":"InvalidFilter"},
{"shape":"InvalidNextToken"},
{"shape":"InternalServerError"}
],
"documentation":"<p>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.</p>"
},
"ListResourceDataSync":{
"name":"ListResourceDataSync",
"http":{
@ -1053,6 +1145,25 @@
],
"documentation":"<p>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 <i>All</i> as the account ID.</p>"
},
"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":"<p>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.</p>"
},
"PutInventory":{
"name":"PutInventory",
"http":{
@ -1070,7 +1181,10 @@
{"shape":"ItemSizeLimitExceededException"},
{"shape":"ItemContentMismatchException"},
{"shape":"CustomSchemaCountLimitExceededException"},
{"shape":"UnsupportedInventorySchemaVersionException"}
{"shape":"UnsupportedInventorySchemaVersionException"},
{"shape":"UnsupportedInventoryItemContextException"},
{"shape":"InvalidInventoryItemContextException"},
{"shape":"SubTypeCountLimitExceededException"}
],
"documentation":"<p>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.</p>"
},
@ -1156,6 +1270,7 @@
{"shape":"IdempotentParameterMismatch"},
{"shape":"DoesNotExistException"},
{"shape":"ResourceLimitExceededException"},
{"shape":"FeatureNotAvailableException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>Adds a new task to a Maintenance Window.</p>"
@ -1175,6 +1290,21 @@
],
"documentation":"<p>Removes all tags from the specified resource.</p>"
},
"SendAutomationSignal":{
"name":"SendAutomationSignal",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"SendAutomationSignalRequest"},
"output":{"shape":"SendAutomationSignalResult"},
"errors":[
{"shape":"AutomationExecutionNotFoundException"},
{"shape":"InvalidAutomationSignalException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>Sends a signal to an Automation execution to change the current behavior or status of the execution. </p>"
},
"SendCommand":{
"name":"SendCommand",
"http":{
@ -1246,9 +1376,11 @@
{"shape":"InvalidUpdate"},
{"shape":"TooManyUpdates"},
{"shape":"InvalidDocument"},
{"shape":"InvalidTarget"}
{"shape":"InvalidTarget"},
{"shape":"InvalidAssociationVersion"},
{"shape":"AssociationVersionLimitExceeded"}
],
"documentation":"<p>Updates an association. You can only update the document version, schedule, parameters, and Amazon S3 output of an association.</p>"
"documentation":"<p>Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon S3 output.</p>"
},
"UpdateAssociationStatus":{
"name":"UpdateAssociationStatus",
@ -1318,6 +1450,34 @@
],
"documentation":"<p>Updates an existing Maintenance Window. Only specified parameters are modified.</p>"
},
"UpdateMaintenanceWindowTarget":{
"name":"UpdateMaintenanceWindowTarget",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateMaintenanceWindowTargetRequest"},
"output":{"shape":"UpdateMaintenanceWindowTargetResult"},
"errors":[
{"shape":"DoesNotExistException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>Modifies the target of an existing Maintenance Window. You can't change the target type, but you can change the following:</p> <p>The target from being an ID target to a Tag target, or a Tag target to an ID target.</p> <p>IDs for an ID target.</p> <p>Tags for a Tag target.</p> <p>Owner.</p> <p>Name.</p> <p>Description.</p> <p>If a parameter is null, then the corresponding field is not modified.</p>"
},
"UpdateMaintenanceWindowTask":{
"name":"UpdateMaintenanceWindowTask",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateMaintenanceWindowTaskRequest"},
"output":{"shape":"UpdateMaintenanceWindowTaskResult"},
"errors":[
{"shape":"DoesNotExistException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>Modifies a task assigned to a Maintenance Window. You can't change the task type, but you can change the following values:</p> <p>Task ARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript.</p> <p>Service role ARN.</p> <p>Task parameters.</p> <p>Task priority.</p> <p>Task MaxConcurrency and MaxErrors.</p> <p>Log location.</p> <p>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.</p>"
},
"UpdateManagedInstanceRole":{
"name":"UpdateManagedInstanceRole",
"http":{
@ -1491,6 +1651,10 @@
"shape":"AssociationId",
"documentation":"<p>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.</p>"
},
"AssociationVersion":{
"shape":"AssociationVersion",
"documentation":"<p>The association version.</p>"
},
"DocumentVersion":{
"shape":"DocumentVersion",
"documentation":"<p>The version of the document used in the association.</p>"
@ -1510,6 +1674,10 @@
"ScheduleExpression":{
"shape":"ScheduleExpression",
"documentation":"<p>A cron expression that specifies a schedule when the association runs.</p>"
},
"AssociationName":{
"shape":"AssociationName",
"documentation":"<p>The association name.</p>"
}
},
"documentation":"<p>Describes an association of a Systems Manager document and an instance.</p>"
@ -1532,6 +1700,10 @@
"shape":"InstanceId",
"documentation":"<p>The ID of the instance.</p>"
},
"AssociationVersion":{
"shape":"AssociationVersion",
"documentation":"<p>The association version.</p>"
},
"Date":{
"shape":"DateTime",
"documentation":"<p>The date when the association was made.</p>"
@ -1579,6 +1751,10 @@
"LastSuccessfulExecutionDate":{
"shape":"DateTime",
"documentation":"<p>The last date on which the association was successfully run.</p>"
},
"AssociationName":{
"shape":"AssociationName",
"documentation":"<p>The association name.</p>"
}
},
"documentation":"<p>Describes the parameters for a document.</p>"
@ -1624,7 +1800,8 @@
"AssociationId",
"AssociationStatusName",
"LastExecutedBefore",
"LastExecutedAfter"
"LastExecutedAfter",
"AssociationName"
]
},
"AssociationFilterList":{
@ -1657,6 +1834,10 @@
"locationName":"Association"
}
},
"AssociationName":{
"type":"string",
"pattern":"^[a-zA-Z0-9_\\-.]{3,128}$"
},
"AssociationOverview":{
"type":"structure",
"members":{
@ -1715,6 +1896,69 @@
"Failed"
]
},
"AssociationVersion":{
"type":"string",
"pattern":"([$]LATEST)|([1-9][0-9]*)"
},
"AssociationVersionInfo":{
"type":"structure",
"members":{
"AssociationId":{
"shape":"AssociationId",
"documentation":"<p>The ID created by the system when the association was created.</p>"
},
"AssociationVersion":{
"shape":"AssociationVersion",
"documentation":"<p>The association version.</p>"
},
"CreatedDate":{
"shape":"DateTime",
"documentation":"<p>The date the association version was created.</p>"
},
"Name":{
"shape":"DocumentName",
"documentation":"<p>The name specified when the association was created.</p>"
},
"DocumentVersion":{
"shape":"DocumentVersion",
"documentation":"<p>The version of an SSM document used when the association version was created.</p>"
},
"Parameters":{
"shape":"Parameters",
"documentation":"<p>Parameters specified when the association version was created.</p>"
},
"Targets":{
"shape":"Targets",
"documentation":"<p>The targets specified for the association when the association version was created. </p>"
},
"ScheduleExpression":{
"shape":"ScheduleExpression",
"documentation":"<p>The cron or rate schedule specified for the association when the association version was created.</p>"
},
"OutputLocation":{
"shape":"InstanceAssociationOutputLocation",
"documentation":"<p>The location in Amazon S3 specified for the association when the association version was created.</p>"
},
"AssociationName":{
"shape":"AssociationName",
"documentation":"<p>The name specified for the association version when the association version was created.</p>"
}
},
"documentation":"<p>Information about the association version.</p>"
},
"AssociationVersionLimitExceeded":{
"type":"structure",
"members":{
"Message":{"shape":"String"}
},
"documentation":"<p>You have reached the maximum number versions allowed for an association. Each association has a limit of 1,000 versions. </p>",
"exception":true
},
"AssociationVersionList":{
"type":"list",
"member":{"shape":"AssociationVersionInfo"},
"min":1
},
"AttributeName":{
"type":"string",
"max":64,
@ -1722,7 +1966,7 @@
},
"AttributeValue":{
"type":"string",
"max":1024,
"max":4096,
"min":0
},
"AutomationActionName":{
@ -1907,6 +2151,7 @@
"enum":[
"Pending",
"InProgress",
"Waiting",
"Success",
"TimedOut",
"Cancelled",
@ -2287,6 +2532,278 @@
"max":100
},
"CompletedCount":{"type":"integer"},
"ComplianceExecutionId":{
"type":"string",
"max":100
},
"ComplianceExecutionSummary":{
"type":"structure",
"required":["ExecutionTime"],
"members":{
"ExecutionTime":{
"shape":"DateTime",
"documentation":"<p>The time the execution ran as a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.</p>"
},
"ExecutionId":{
"shape":"ComplianceExecutionId",
"documentation":"<p>An ID created by the system when <code>PutComplianceItems</code> was called. For example, <code>CommandID</code> is a valid execution ID. You can use this ID in subsequent calls.</p>"
},
"ExecutionType":{
"shape":"ComplianceExecutionType",
"documentation":"<p>The type of execution. For example, <code>Command</code> is a valid execution type.</p>"
}
},
"documentation":"<p>A summary of the call execution that includes an execution ID, the type of execution (for example, <code>Command</code>), 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'.</p>"
},
"ComplianceExecutionType":{
"type":"string",
"max":50
},
"ComplianceFilterValue":{"type":"string"},
"ComplianceItem":{
"type":"structure",
"members":{
"ComplianceType":{
"shape":"ComplianceTypeName",
"documentation":"<p>The compliance type. For example, Association (for a State Manager association), Patch, or Custom:<code>string</code> are all valid compliance types.</p>"
},
"ResourceType":{
"shape":"ComplianceResourceType",
"documentation":"<p>The type of resource. <code>ManagedInstance</code> is currently the only supported resource type.</p>"
},
"ResourceId":{
"shape":"ComplianceResourceId",
"documentation":"<p>An ID for the resource. For a managed instance, this is the instance ID.</p>"
},
"Id":{
"shape":"ComplianceItemId",
"documentation":"<p>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. Here's an example: KB4010320.</p>"
},
"Title":{
"shape":"ComplianceItemTitle",
"documentation":"<p>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. Here's an example: Security Update for Active Directory Federation Services.</p>"
},
"Status":{
"shape":"ComplianceStatus",
"documentation":"<p>The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.</p>"
},
"Severity":{
"shape":"ComplianceSeverity",
"documentation":"<p>The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.</p>"
},
"ExecutionSummary":{
"shape":"ComplianceExecutionSummary",
"documentation":"<p>A summary for the compliance item. The summary includes an execution ID, the execution type (for example, command), and the execution time.</p>"
},
"Details":{
"shape":"ComplianceItemDetails",
"documentation":"<p>A \"Key\": \"Value\" tag combination for the compliance item.</p>"
}
},
"documentation":"<p>Information about the compliance as defined by the resource type. For example, for a patch resource type, <code>Items</code> includes information about the PatchSeverity, Classification, etc.</p>"
},
"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":"<p>The compliance item ID. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article.</p>"
},
"Title":{
"shape":"ComplianceItemTitle",
"documentation":"<p>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. Here's an example: Security Update for Active Directory Federation Services. </p>"
},
"Severity":{
"shape":"ComplianceSeverity",
"documentation":"<p>The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.</p>"
},
"Status":{
"shape":"ComplianceStatus",
"documentation":"<p>The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.</p>"
},
"Details":{
"shape":"ComplianceItemDetails",
"documentation":"<p>A \"Key\": \"Value\" tag combination for the compliance item.</p>"
}
},
"documentation":"<p>Information about a compliance item.</p>"
},
"ComplianceItemEntryList":{
"type":"list",
"member":{"shape":"ComplianceItemEntry"},
"max":10000,
"min":0
},
"ComplianceItemId":{
"type":"string",
"max":100,
"min":1
},
"ComplianceItemList":{
"type":"list",
"member":{
"shape":"ComplianceItem",
"locationName":"Item"
}
},
"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":"<p>The name of the filter.</p>"
},
"Values":{
"shape":"ComplianceStringFilterValueList",
"documentation":"<p>The value for which to search.</p>"
},
"Type":{
"shape":"ComplianceQueryOperatorType",
"documentation":"<p>The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan.</p>"
}
},
"documentation":"<p>One or more filters. Use a filter to return a more specific list of results.</p>"
},
"ComplianceStringFilterKey":{
"type":"string",
"max":200,
"min":1
},
"ComplianceStringFilterList":{
"type":"list",
"member":{
"shape":"ComplianceStringFilter",
"locationName":"ComplianceFilter"
}
},
"ComplianceStringFilterValueList":{
"type":"list",
"member":{
"shape":"ComplianceFilterValue",
"locationName":"FilterValue"
},
"max":20,
"min":1
},
"ComplianceSummaryCount":{"type":"integer"},
"ComplianceSummaryItem":{
"type":"structure",
"members":{
"ComplianceType":{
"shape":"ComplianceTypeName",
"documentation":"<p>The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string.</p>"
},
"CompliantSummary":{
"shape":"CompliantSummary",
"documentation":"<p>A list of COMPLIANT items for the specified compliance type.</p>"
},
"NonCompliantSummary":{
"shape":"NonCompliantSummary",
"documentation":"<p>A list of NON_COMPLIANT items for the specified compliance type.</p>"
}
},
"documentation":"<p>A summary of compliance information by compliance type.</p>"
},
"ComplianceSummaryItemList":{
"type":"list",
"member":{
"shape":"ComplianceSummaryItem",
"locationName":"Item"
}
},
"ComplianceTypeCountLimitExceededException":{
"type":"structure",
"members":{
"Message":{"shape":"String"}
},
"documentation":"<p>You specified too many custom compliance types. You can specify a maximum of 10 different types. </p>",
"exception":true
},
"ComplianceTypeName":{
"type":"string",
"max":100,
"min":1,
"pattern":"[A-Za-z0-9_\\-]\\w+|Custom:[a-zA-Z0-9_\\-]\\w+"
},
"CompliantSummary":{
"type":"structure",
"members":{
"CompliantCount":{
"shape":"ComplianceSummaryCount",
"documentation":"<p>The total number of resources that are compliant.</p>"
},
"SeveritySummary":{
"shape":"SeveritySummary",
"documentation":"<p>A summary of the compliance severity by compliance type.</p>"
}
},
"documentation":"<p>A summary of resources that are compliant. The summary is organized according to the resource count for each compliance type.</p>"
},
"ComputerName":{
"type":"string",
"max":255,
@ -2381,6 +2898,10 @@
"OutputLocation":{
"shape":"InstanceAssociationOutputLocation",
"documentation":"<p>An Amazon S3 bucket where you want to store the results of this request.</p>"
},
"AssociationName":{
"shape":"AssociationName",
"documentation":"<p>Specify a descriptive name for the association.</p>"
}
},
"documentation":"<p>Describes the association of a Systems Manager document and an instance.</p>"
@ -2429,6 +2950,10 @@
"OutputLocation":{
"shape":"InstanceAssociationOutputLocation",
"documentation":"<p>An Amazon S3 bucket where you want to store the output details of the request.</p>"
},
"AssociationName":{
"shape":"AssociationName",
"documentation":"<p>Specify a descriptive name for the association.</p>"
}
}
},
@ -2485,6 +3010,10 @@
"shape":"MaintenanceWindowName",
"documentation":"<p>The name of the Maintenance Window.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>An optional description for the Maintenance Window. We recommend specifying a description to help you organize your Maintenance Windows. </p>"
},
"Schedule":{
"shape":"MaintenanceWindowSchedule",
"documentation":"<p>The schedule of the Maintenance Window in the form of a cron or rate expression.</p>"
@ -2499,7 +3028,7 @@
},
"AllowUnassociatedTargets":{
"shape":"MaintenanceWindowAllowUnassociatedTargets",
"documentation":"<p>Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.</p>"
"documentation":"<p>Enables a Maintenance Window task to execute 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 </p> <p>If you don't enable this option, then you must specify previously-registered targets when you register a task with the Maintenance Window. </p>"
},
"ClientToken":{
"shape":"ClientToken",
@ -2810,6 +3339,11 @@
"WindowTargetId":{
"shape":"MaintenanceWindowTargetId",
"documentation":"<p>The ID of the target definition to remove.</p>"
},
"Safe":{
"shape":"Boolean",
"documentation":"<p>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.</p>",
"box":true
}
}
},
@ -2927,6 +3461,10 @@
"AssociationId":{
"shape":"AssociationId",
"documentation":"<p>The association ID for which you want information.</p>"
},
"AssociationVersion":{
"shape":"AssociationVersion",
"documentation":"<p>Specify the association version to retrieve. To view the latest version, either specify <code>$LATEST</code> for this parameter, or omit this parameter. To view a list of all associations for an instance, use ListInstanceAssociations. To get a list of versions for a specific association, use ListAssociationVersions. </p>"
}
}
},
@ -4051,6 +4589,14 @@
"Unknown"
]
},
"FeatureNotAvailableException":{
"type":"structure",
"members":{
"Message":{"shape":"String"}
},
"documentation":"<p>You attempted to register a LAMBDA or STEP_FUNCTION task in a region where the corresponding service is not available. </p>",
"exception":true
},
"GetAutomationExecutionRequest":{
"type":"structure",
"required":["AutomationExecutionId"],
@ -4306,6 +4852,11 @@
"shape":"GetInventorySchemaMaxResults",
"documentation":"<p>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.</p>",
"box":true
},
"SubType":{
"shape":"IsSubTypeSchema",
"documentation":"<p>Returns the sub-type schema for a specified inventory type.</p>",
"box":true
}
}
},
@ -4361,6 +4912,81 @@
}
}
},
"GetMaintenanceWindowExecutionTaskInvocationRequest":{
"type":"structure",
"required":[
"WindowExecutionId",
"TaskId",
"InvocationId"
],
"members":{
"WindowExecutionId":{
"shape":"MaintenanceWindowExecutionId",
"documentation":"<p>The ID of the Maintenance Window execution for which the task is a part.</p>"
},
"TaskId":{
"shape":"MaintenanceWindowExecutionTaskId",
"documentation":"<p>The ID of the specific task in the Maintenance Window task that should be retrieved. </p>"
},
"InvocationId":{
"shape":"MaintenanceWindowExecutionTaskInvocationId",
"documentation":"<p>The invocation ID to retrieve.</p>"
}
}
},
"GetMaintenanceWindowExecutionTaskInvocationResult":{
"type":"structure",
"members":{
"WindowExecutionId":{
"shape":"MaintenanceWindowExecutionId",
"documentation":"<p>The Maintenance Window execution ID.</p>"
},
"TaskExecutionId":{
"shape":"MaintenanceWindowExecutionTaskId",
"documentation":"<p>The task execution ID.</p>"
},
"InvocationId":{
"shape":"MaintenanceWindowExecutionTaskInvocationId",
"documentation":"<p>The invocation ID.</p>"
},
"ExecutionId":{
"shape":"MaintenanceWindowExecutionTaskExecutionId",
"documentation":"<p>The execution ID.</p>"
},
"TaskType":{
"shape":"MaintenanceWindowTaskType",
"documentation":"<p>Retrieves the task type for a Maintenance Window. Task types include the following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND.</p>"
},
"Parameters":{
"shape":"MaintenanceWindowExecutionTaskInvocationParameters",
"documentation":"<p>The parameters used at the time that the task executed.</p>"
},
"Status":{
"shape":"MaintenanceWindowExecutionStatus",
"documentation":"<p>The task status for an invocation.</p>"
},
"StatusDetails":{
"shape":"MaintenanceWindowExecutionStatusDetails",
"documentation":"<p>The details explaining the status. Details are only available for certain status values.</p>"
},
"StartTime":{
"shape":"DateTime",
"documentation":"<p>The time that the task started executing on the target.</p>"
},
"EndTime":{
"shape":"DateTime",
"documentation":"<p>The time that the task finished executing on the target.</p>"
},
"OwnerInformation":{
"shape":"OwnerInformation",
"documentation":"<p>User-provided value to be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window. </p>"
},
"WindowTargetId":{
"shape":"MaintenanceWindowTaskTargetId",
"documentation":"<p>The Maintenance Window target ID.</p>"
}
}
},
"GetMaintenanceWindowExecutionTaskRequest":{
"type":"structure",
"required":[
@ -4456,6 +5082,10 @@
"shape":"MaintenanceWindowName",
"documentation":"<p>The name of the Maintenance Window.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>The description of the Maintenance Window.</p>"
},
"Schedule":{
"shape":"MaintenanceWindowSchedule",
"documentation":"<p>The schedule of the Maintenance Window in the form of a cron or rate expression.</p>"
@ -4486,6 +5116,84 @@
}
}
},
"GetMaintenanceWindowTaskRequest":{
"type":"structure",
"required":[
"WindowId",
"WindowTaskId"
],
"members":{
"WindowId":{
"shape":"MaintenanceWindowId",
"documentation":"<p>The Maintenance Window ID that includes the task to retrieve.</p>"
},
"WindowTaskId":{
"shape":"MaintenanceWindowTaskId",
"documentation":"<p>The Maintenance Window task ID to retrieve.</p>"
}
}
},
"GetMaintenanceWindowTaskResult":{
"type":"structure",
"members":{
"WindowId":{
"shape":"MaintenanceWindowId",
"documentation":"<p>The retrieved Maintenance Window ID.</p>"
},
"WindowTaskId":{
"shape":"MaintenanceWindowTaskId",
"documentation":"<p>The retrieved Maintenance Window task ID.</p>"
},
"Targets":{
"shape":"Targets",
"documentation":"<p>The targets where the task should execute.</p>"
},
"TaskArn":{
"shape":"MaintenanceWindowTaskArn",
"documentation":"<p>The resource that the task used during execution. For RUN_COMMAND and AUTOMATION task types, the TaskArn is the SSM Document name/ARN. For LAMBDA tasks, the value is the function name/ARN. For STEP_FUNCTION tasks, the value is the state machine ARN.</p>"
},
"ServiceRoleArn":{
"shape":"ServiceRole",
"documentation":"<p>The IAM service role to assume during task execution.</p>"
},
"TaskType":{
"shape":"MaintenanceWindowTaskType",
"documentation":"<p>The type of task to execute.</p>"
},
"TaskParameters":{
"shape":"MaintenanceWindowTaskParameters",
"documentation":"<p>The parameters to pass to the task when it executes.</p>"
},
"TaskInvocationParameters":{
"shape":"MaintenanceWindowTaskInvocationParameters",
"documentation":"<p>The parameters to pass to the task when it executes.</p>"
},
"Priority":{
"shape":"MaintenanceWindowTaskPriority",
"documentation":"<p>The priority of the task when it executes. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.</p>"
},
"MaxConcurrency":{
"shape":"MaxConcurrency",
"documentation":"<p>The maximum number of targets allowed to run this task in parallel.</p>"
},
"MaxErrors":{
"shape":"MaxErrors",
"documentation":"<p>The maximum number of errors allowed before the task stops being scheduled.</p>"
},
"LoggingInfo":{
"shape":"LoggingInfo",
"documentation":"<p>The location in Amazon S3 where the task results are logged.</p>"
},
"Name":{
"shape":"MaintenanceWindowName",
"documentation":"<p>The retrieved task name.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>The retrieved task description.</p>"
}
}
},
"GetParameterHistoryRequest":{
"type":"structure",
"required":["Name"],
@ -4787,6 +5495,10 @@
"Content":{
"shape":"DocumentContent",
"documentation":"<p>The content of the association document for the instance(s).</p>"
},
"AssociationVersion":{
"shape":"AssociationVersion",
"documentation":"<p>Version information for the association on the instance.</p>"
}
},
"documentation":"<p>One or more association documents on the instance. </p>"
@ -4840,6 +5552,10 @@
"shape":"DocumentVersion",
"documentation":"<p>The association document verions.</p>"
},
"AssociationVersion":{
"shape":"AssociationVersion",
"documentation":"<p>The version of the association applied to the instance.</p>"
},
"InstanceId":{
"shape":"InstanceId",
"documentation":"<p>The instance ID where the association was created.</p>"
@ -4867,6 +5583,10 @@
"OutputUrl":{
"shape":"InstanceAssociationOutputUrl",
"documentation":"<p>A URL for an Amazon S3 bucket where you want to store the results of this request.</p>"
},
"AssociationName":{
"shape":"AssociationName",
"documentation":"<p>The name of the association applied to the instance.</p>"
}
},
"documentation":"<p>Status information about the instance association.</p>"
@ -5226,6 +5946,14 @@
"documentation":"<p>The request does not meet the regular expression requirement.</p>",
"exception":true
},
"InvalidAssociationVersion":{
"type":"structure",
"members":{
"Message":{"shape":"String"}
},
"documentation":"<p>The version you specified is not valid. Use ListAssociationVersions to view all versions of an association according to the association ID. Or, use the <code>$LATEST</code> parameter to view the latest version of the association.</p>",
"exception":true
},
"InvalidAutomationExecutionParametersException":{
"type":"structure",
"members":{
@ -5234,6 +5962,14 @@
"documentation":"<p>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.</p>",
"exception":true
},
"InvalidAutomationSignalException":{
"type":"structure",
"members":{
"Message":{"shape":"String"}
},
"documentation":"<p>The signal is not valid for the current Automation execution.</p>",
"exception":true
},
"InvalidCommandId":{
"type":"structure",
"members":{
@ -5336,6 +6072,14 @@
"documentation":"<p>The specified filter value is not valid.</p>",
"exception":true
},
"InvalidInventoryItemContextException":{
"type":"structure",
"members":{
"Message":{"shape":"String"}
},
"documentation":"<p>You specified invalid keys or values in the <code>Context</code> attribute for <code>InventoryItem</code>. Verify the keys and values, and try again.</p>",
"exception":true
},
"InvalidItemContentException":{
"type":"structure",
"members":{
@ -5548,6 +6292,10 @@
"Content":{
"shape":"InventoryItemEntryList",
"documentation":"<p>The inventory data of the inventory type.</p>"
},
"Context":{
"shape":"InventoryItemContentContext",
"documentation":"<p>A map of associated properties for a specified inventory type. For example, with this attribute, you can specify the <code>ExecutionId</code>, <code>ExecutionType</code>, <code>ComplianceType</code> properties of the <code>AWS:ComplianceItem</code> type.</p>"
}
},
"documentation":"<p>Information collected from managed instances based on your inventory policy document</p>"
@ -5584,6 +6332,13 @@
"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
@ -5731,6 +6486,7 @@
"type":"string",
"max":2500
},
"IsSubTypeSchema":{"type":"boolean"},
"ItemContentMismatchException":{
"type":"structure",
"members":{
@ -5763,6 +6519,38 @@
},
"LastResourceDataSyncTime":{"type":"timestamp"},
"LastSuccessfulResourceDataSyncTime":{"type":"timestamp"},
"ListAssociationVersionsRequest":{
"type":"structure",
"required":["AssociationId"],
"members":{
"AssociationId":{
"shape":"AssociationId",
"documentation":"<p>The association ID for which you want to view all versions.</p>"
},
"MaxResults":{
"shape":"MaxResults",
"documentation":"<p>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.</p>",
"box":true
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
}
}
},
"ListAssociationVersionsResult":{
"type":"structure",
"members":{
"AssociationVersions":{
"shape":"AssociationVersionList",
"documentation":"<p>Information about all versions of the association for the specified association ID.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
}
}
},
"ListAssociationsRequest":{
"type":"structure",
"members":{
@ -5876,6 +6664,76 @@
}
}
},
"ListComplianceItemsRequest":{
"type":"structure",
"members":{
"Filters":{
"shape":"ComplianceStringFilterList",
"documentation":"<p>One or more compliance filters. Use a filter to return a more specific list of results.</p>"
},
"ResourceIds":{
"shape":"ComplianceResourceIdList",
"documentation":"<p>The ID for the resources from which to get compliance information. Currently, you can only specify one resource ID.</p>"
},
"ResourceTypes":{
"shape":"ComplianceResourceTypeList",
"documentation":"<p>The type of resource from which to get compliance information. Currently, the only supported resource type is <code>ManagedInstance</code>.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
},
"MaxResults":{
"shape":"MaxResults",
"documentation":"<p>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.</p>",
"box":true
}
}
},
"ListComplianceItemsResult":{
"type":"structure",
"members":{
"ComplianceItems":{
"shape":"ComplianceItemList",
"documentation":"<p>A list of compliance information for the specified resource ID. </p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
}
}
},
"ListComplianceSummariesRequest":{
"type":"structure",
"members":{
"Filters":{
"shape":"ComplianceStringFilterList",
"documentation":"<p>One or more compliance or inventory filters. Use a filter to return a more specific list of results.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
},
"MaxResults":{
"shape":"MaxResults",
"documentation":"<p>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.</p>",
"box":true
}
}
},
"ListComplianceSummariesResult":{
"type":"structure",
"members":{
"ComplianceSummaryItems":{
"shape":"ComplianceSummaryItemList",
"documentation":"<p>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.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
}
}
},
"ListDocumentVersionsRequest":{
"type":"structure",
"required":["Name"],
@ -5998,6 +6856,37 @@
}
}
},
"ListResourceComplianceSummariesRequest":{
"type":"structure",
"members":{
"Filters":{
"shape":"ComplianceStringFilterList",
"documentation":"<p>One or more filters. Use a filter to return a more specific list of results.</p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>A token to start the list. Use this token to get the next set of results. </p>"
},
"MaxResults":{
"shape":"MaxResults",
"documentation":"<p>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.</p>",
"box":true
}
}
},
"ListResourceComplianceSummariesResult":{
"type":"structure",
"members":{
"ResourceComplianceSummaryItems":{
"shape":"ResourceComplianceSummaryItemList",
"documentation":"<p>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. </p>"
},
"NextToken":{
"shape":"NextToken",
"documentation":"<p>The token for the next set of items to return. Use this token to get the next set of results.</p>"
}
}
},
"ListResourceDataSyncRequest":{
"type":"structure",
"members":{
@ -6074,11 +6963,31 @@
"documentation":"<p>Information about an Amazon S3 bucket to write instance-level logs to.</p>"
},
"MaintenanceWindowAllowUnassociatedTargets":{"type":"boolean"},
"MaintenanceWindowAutomationParameters":{
"type":"structure",
"members":{
"DocumentVersion":{
"shape":"DocumentVersion",
"documentation":"<p>The version of an Automation document to use during task execution.</p>"
},
"Parameters":{
"shape":"AutomationParameterMap",
"documentation":"<p>The parameters for the AUTOMATION task.</p>"
}
},
"documentation":"<p>The parameters for an AUTOMATION task type.</p>"
},
"MaintenanceWindowCutoff":{
"type":"integer",
"max":23,
"min":0
},
"MaintenanceWindowDescription":{
"type":"string",
"max":128,
"min":1,
"sensitive":true
},
"MaintenanceWindowDurationHours":{
"type":"integer",
"max":24,
@ -6221,6 +7130,10 @@
"shape":"MaintenanceWindowExecutionTaskExecutionId",
"documentation":"<p>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.</p>"
},
"TaskType":{
"shape":"MaintenanceWindowTaskType",
"documentation":"<p>The task type.</p>"
},
"Parameters":{
"shape":"MaintenanceWindowExecutionTaskInvocationParameters",
"documentation":"<p>The parameters that were provided for the invocation when it was executed.</p>"
@ -6311,6 +7224,10 @@
"shape":"MaintenanceWindowName",
"documentation":"<p>The name of the Maintenance Window.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>A description of the Maintenance Window.</p>"
},
"Enabled":{
"shape":"MaintenanceWindowEnabled",
"documentation":"<p>Whether the Maintenance Window is enabled.</p>"
@ -6330,6 +7247,39 @@
"type":"list",
"member":{"shape":"MaintenanceWindowIdentity"}
},
"MaintenanceWindowLambdaClientContext":{
"type":"string",
"max":8000,
"min":1
},
"MaintenanceWindowLambdaParameters":{
"type":"structure",
"members":{
"ClientContext":{
"shape":"MaintenanceWindowLambdaClientContext",
"documentation":"<p>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.</p>"
},
"Qualifier":{
"shape":"MaintenanceWindowLambdaQualifier",
"documentation":"<p>(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.</p>"
},
"Payload":{
"shape":"MaintenanceWindowLambdaPayload",
"documentation":"<p>JSON to provide to your Lambda function as input.</p>"
}
},
"documentation":"<p>The parameters for a LAMBDA task type.</p>"
},
"MaintenanceWindowLambdaPayload":{
"type":"blob",
"max":4096,
"sensitive":true
},
"MaintenanceWindowLambdaQualifier":{
"type":"string",
"max":128,
"min":1
},
"MaintenanceWindowMaxResults":{
"type":"integer",
"max":100,
@ -6345,11 +7295,78 @@
"type":"string",
"enum":["INSTANCE"]
},
"MaintenanceWindowRunCommandParameters":{
"type":"structure",
"members":{
"Comment":{
"shape":"Comment",
"documentation":"<p>Information about the command(s) to execute.</p>"
},
"DocumentHash":{
"shape":"DocumentHash",
"documentation":"<p>The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.</p>"
},
"DocumentHashType":{
"shape":"DocumentHashType",
"documentation":"<p>SHA-256 or SHA-1. SHA-1 hashes have been deprecated.</p>"
},
"NotificationConfig":{
"shape":"NotificationConfig",
"documentation":"<p>Configurations for sending notifications about command status changes on a per-instance basis.</p>"
},
"OutputS3BucketName":{
"shape":"S3BucketName",
"documentation":"<p>The name of the Amazon S3 bucket.</p>"
},
"OutputS3KeyPrefix":{
"shape":"S3KeyPrefix",
"documentation":"<p>The Amazon S3 bucket subfolder.</p>"
},
"Parameters":{
"shape":"Parameters",
"documentation":"<p>The parameters for the RUN_COMMAND task execution.</p>"
},
"ServiceRoleArn":{
"shape":"ServiceRole",
"documentation":"<p>The IAM service role to assume during task execution.</p>"
},
"TimeoutSeconds":{
"shape":"TimeoutSeconds",
"documentation":"<p>If this time is reached and the command has not already started executing, it doesn not execute.</p>",
"box":true
}
},
"documentation":"<p>The parameters for a RUN_COMMAND task type.</p>"
},
"MaintenanceWindowSchedule":{
"type":"string",
"max":256,
"min":1
},
"MaintenanceWindowStepFunctionsInput":{
"type":"string",
"max":4096,
"sensitive":true
},
"MaintenanceWindowStepFunctionsName":{
"type":"string",
"max":80,
"min":1
},
"MaintenanceWindowStepFunctionsParameters":{
"type":"structure",
"members":{
"Input":{
"shape":"MaintenanceWindowStepFunctionsInput",
"documentation":"<p>The inputs for the STEP_FUNCTION task.</p>"
},
"Name":{
"shape":"MaintenanceWindowStepFunctionsName",
"documentation":"<p>The name of the STEP_FUNCTION task.</p>"
}
},
"documentation":"<p>The parameters for the STEP_FUNCTION execution.</p>"
},
"MaintenanceWindowTarget":{
"type":"structure",
"members":{
@ -6372,6 +7389,14 @@
"OwnerInformation":{
"shape":"OwnerInformation",
"documentation":"<p>User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.</p>"
},
"Name":{
"shape":"MaintenanceWindowName",
"documentation":"<p>The target name.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>A description of the target.</p>"
}
},
"documentation":"<p>The target registered with the Maintenance Window.</p>"
@ -6399,11 +7424,11 @@
},
"TaskArn":{
"shape":"MaintenanceWindowTaskArn",
"documentation":"<p>The ARN of the task to execute.</p>"
"documentation":"<p>The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION task types, <code>TaskArn</code> is the SSM document name or ARN. For LAMBDA tasks, it's the function name or ARN. For STEP_FUNCTION tasks, it's the state machine ARN.</p>"
},
"Type":{
"shape":"MaintenanceWindowTaskType",
"documentation":"<p>The type of task.</p>"
"documentation":"<p>The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION.</p>"
},
"Targets":{
"shape":"Targets",
@ -6415,7 +7440,7 @@
},
"Priority":{
"shape":"MaintenanceWindowTaskPriority",
"documentation":"<p>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.</p>"
"documentation":"<p>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.</p>"
},
"LoggingInfo":{
"shape":"LoggingInfo",
@ -6432,6 +7457,14 @@
"MaxErrors":{
"shape":"MaxErrors",
"documentation":"<p>The maximum number of errors allowed before this task stops being scheduled.</p>"
},
"Name":{
"shape":"MaintenanceWindowName",
"documentation":"<p>The task name.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>A description of the task.</p>"
}
},
"documentation":"<p>Information about a task defined for a Maintenance Window.</p>"
@ -6447,6 +7480,28 @@
"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":"<p>The parameters for a RUN_COMMAND task type.</p>"
},
"Automation":{
"shape":"MaintenanceWindowAutomationParameters",
"documentation":"<p>The parameters for a AUTOMATION task type.</p>"
},
"StepFunctions":{
"shape":"MaintenanceWindowStepFunctionsParameters",
"documentation":"<p>The parameters for a STEP_FUNCTION task type.</p>"
},
"Lambda":{
"shape":"MaintenanceWindowLambdaParameters",
"documentation":"<p>The parameters for a LAMBDA task type.</p>"
}
},
"documentation":"<p>The parameters for task execution.</p>"
},
"MaintenanceWindowTaskList":{
"type":"list",
"member":{"shape":"MaintenanceWindowTask"}
@ -6499,7 +7554,12 @@
},
"MaintenanceWindowTaskType":{
"type":"string",
"enum":["RUN_COMMAND"]
"enum":[
"RUN_COMMAND",
"AUTOMATION",
"STEP_FUNCTIONS",
"LAMBDA"
]
},
"ManagedInstanceId":{
"type":"string",
@ -6566,6 +7626,20 @@
}
},
"NextToken":{"type":"string"},
"NonCompliantSummary":{
"type":"structure",
"members":{
"NonCompliantCount":{
"shape":"ComplianceSummaryCount",
"documentation":"<p>The total number of compliance items that are not compliant.</p>"
},
"SeveritySummary":{
"shape":"SeveritySummary",
"documentation":"<p>A summary of the non-compliance severity by compliance type</p>"
}
},
"documentation":"<p>A summary of resources that are not compliant. The summary is organized according to resource type.</p>"
},
"NormalStringMap":{
"type":"map",
"key":{"shape":"String"},
@ -7306,6 +8380,47 @@
}
},
"Product":{"type":"string"},
"PutComplianceItemsRequest":{
"type":"structure",
"required":[
"ResourceId",
"ResourceType",
"ComplianceType",
"ExecutionSummary",
"Items"
],
"members":{
"ResourceId":{
"shape":"ComplianceResourceId",
"documentation":"<p>Specify an ID for this resource. For a managed instance, this is the instance ID.</p>"
},
"ResourceType":{
"shape":"ComplianceResourceType",
"documentation":"<p>Specify the type of resource. <code>ManagedInstance</code> is currently the only supported resource type.</p>"
},
"ComplianceType":{
"shape":"ComplianceTypeName",
"documentation":"<p>Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:<code>string</code>.</p>"
},
"ExecutionSummary":{
"shape":"ComplianceExecutionSummary",
"documentation":"<p>A summary of the call execution that includes an execution ID, the type of execution (for example, <code>Command</code>), 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'.</p>"
},
"Items":{
"shape":"ComplianceItemEntryList",
"documentation":"<p>Information about the compliance as defined by the resource type. For example, for a patch compliance type, <code>Items</code> includes information about the PatchSeverity, Classification, etc.</p>"
},
"ItemContentHash":{
"shape":"ComplianceItemContentHash",
"documentation":"<p>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.</p>"
}
}
},
"PutComplianceItemsResult":{
"type":"structure",
"members":{
}
},
"PutInventoryRequest":{
"type":"structure",
"required":[
@ -7445,6 +8560,14 @@
"shape":"OwnerInformation",
"documentation":"<p>User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.</p>"
},
"Name":{
"shape":"MaintenanceWindowName",
"documentation":"<p>An optional name for the target.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>An optional description for the target.</p>"
},
"ClientToken":{
"shape":"ClientToken",
"documentation":"<p>User-provided idempotency token.</p>",
@ -7497,6 +8620,10 @@
"shape":"MaintenanceWindowTaskParameters",
"documentation":"<p>The parameters that should be passed to the task when it is executed.</p>"
},
"TaskInvocationParameters":{
"shape":"MaintenanceWindowTaskInvocationParameters",
"documentation":"<p>The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty. </p>"
},
"Priority":{
"shape":"MaintenanceWindowTaskPriority",
"documentation":"<p>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.</p>",
@ -7514,6 +8641,14 @@
"shape":"LoggingInfo",
"documentation":"<p>A structure containing information about an Amazon S3 bucket to write instance-level logs to. </p>"
},
"Name":{
"shape":"MaintenanceWindowName",
"documentation":"<p>An optional name for the task.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>An optional description for the task.</p>"
},
"ClientToken":{
"shape":"ClientToken",
"documentation":"<p>User-provided idempotency token.</p>",
@ -7567,6 +8702,51 @@
"members":{
}
},
"ResourceComplianceSummaryItem":{
"type":"structure",
"members":{
"ComplianceType":{
"shape":"ComplianceTypeName",
"documentation":"<p>The compliance type.</p>"
},
"ResourceType":{
"shape":"ComplianceResourceType",
"documentation":"<p>The resource type.</p>"
},
"ResourceId":{
"shape":"ComplianceResourceId",
"documentation":"<p>The resource ID.</p>"
},
"Status":{
"shape":"ComplianceStatus",
"documentation":"<p>The compliance status for the resource.</p>"
},
"OverallSeverity":{
"shape":"ComplianceSeverity",
"documentation":"<p>The highest severity item found for the resource. The resource is compliant for this item.</p>"
},
"ExecutionSummary":{
"shape":"ComplianceExecutionSummary",
"documentation":"<p>Information about the execution.</p>"
},
"CompliantSummary":{
"shape":"CompliantSummary",
"documentation":"<p>A list of items that are compliant for the resource.</p>"
},
"NonCompliantSummary":{
"shape":"NonCompliantSummary",
"documentation":"<p>A list of items that aren't compliant for the resource.</p>"
}
},
"documentation":"<p>Compliance summary information for a specific resource. </p>"
},
"ResourceComplianceSummaryItemList":{
"type":"list",
"member":{
"shape":"ResourceComplianceSummaryItem",
"locationName":"Item"
}
},
"ResourceDataSyncAlreadyExistsException":{
"type":"structure",
"members":{
@ -7786,6 +8966,32 @@
"max":256,
"min":1
},
"SendAutomationSignalRequest":{
"type":"structure",
"required":[
"AutomationExecutionId",
"SignalType"
],
"members":{
"AutomationExecutionId":{
"shape":"AutomationExecutionId",
"documentation":"<p>The unique identifier for an existing Automation execution that you want to send the signal to.</p>"
},
"SignalType":{
"shape":"SignalType",
"documentation":"<p>The type of signal. Valid signal types include the following: Approve and Reject </p>"
},
"Payload":{
"shape":"AutomationParameterMap",
"documentation":"<p>The data sent with the signal. The data schema depends on the type of signal used in the request. </p>"
}
}
},
"SendAutomationSignalResult":{
"type":"structure",
"members":{
}
},
"SendCommandRequest":{
"type":"structure",
"required":["DocumentName"],
@ -7863,6 +9069,43 @@
}
},
"ServiceRole":{"type":"string"},
"SeveritySummary":{
"type":"structure",
"members":{
"CriticalCount":{
"shape":"ComplianceSummaryCount",
"documentation":"<p>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.</p>"
},
"HighCount":{
"shape":"ComplianceSummaryCount",
"documentation":"<p>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.</p>"
},
"MediumCount":{
"shape":"ComplianceSummaryCount",
"documentation":"<p>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.</p>"
},
"LowCount":{
"shape":"ComplianceSummaryCount",
"documentation":"<p>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.</p>"
},
"InformationalCount":{
"shape":"ComplianceSummaryCount",
"documentation":"<p>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.</p>"
},
"UnspecifiedCount":{
"shape":"ComplianceSummaryCount",
"documentation":"<p>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.</p>"
}
},
"documentation":"<p>The number of managed instances found for each patch severity level defined in the request filter.</p>"
},
"SignalType":{
"type":"string",
"enum":[
"Approve",
"Reject"
]
},
"SnapshotDownloadUrl":{"type":"string"},
"SnapshotId":{
"type":"string",
@ -8008,6 +9251,14 @@
"type":"list",
"member":{"shape":"String"}
},
"SubTypeCountLimitExceededException":{
"type":"structure",
"members":{
"Message":{"shape":"String"}
},
"documentation":"<p>The sub-type count exceeded the limit for the inventory type.</p>",
"exception":true
},
"Tag":{
"type":"structure",
"required":[
@ -8057,6 +9308,14 @@
"documentation":"<p>An array of search criteria that targets instances using a Key,Value combination that you specify. <code>Targets</code> is required if you don't provide one or more instance IDs in the call.</p> <p/>"
},
"TargetCount":{"type":"integer"},
"TargetInUseException":{
"type":"structure",
"members":{
"Message":{"shape":"String"}
},
"documentation":"<p>You specified the <code>Safe</code> option for the DeregisterTargetFromMaintenanceWindow operation, but the target is still referenced in a task.</p>",
"exception":true
},
"TargetKey":{
"type":"string",
"max":128,
@ -8104,6 +9363,15 @@
"documentation":"<p>The size of inventory data has exceeded the total size limit for the resource.</p>",
"exception":true
},
"UnsupportedInventoryItemContextException":{
"type":"structure",
"members":{
"TypeName":{"shape":"InventoryItemTypeName"},
"Message":{"shape":"String"}
},
"documentation":"<p>The <code>Context</code> attribute that you specified for the <code>InventoryItem</code> is not allowed for this inventory type. You can only use the <code>Context</code> attribute with inventory types like <code>AWS:ComplianceItem</code>.</p>",
"exception":true
},
"UnsupportedInventorySchemaVersionException":{
"type":"structure",
"members":{
@ -8167,6 +9435,14 @@
"Targets":{
"shape":"Targets",
"documentation":"<p>The targets of the association.</p>"
},
"AssociationName":{
"shape":"AssociationName",
"documentation":"<p>The name of the association that you want to update.</p>"
},
"AssociationVersion":{
"shape":"AssociationVersion",
"documentation":"<p>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 <code>$LATEST</code>, or omit this parameter.</p>"
}
}
},
@ -8278,6 +9554,10 @@
"shape":"MaintenanceWindowName",
"documentation":"<p>The name of the Maintenance Window.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>An optional description for the update request.</p>"
},
"Schedule":{
"shape":"MaintenanceWindowSchedule",
"documentation":"<p>The schedule of the Maintenance Window in the form of a cron or rate expression.</p>"
@ -8301,6 +9581,11 @@
"shape":"MaintenanceWindowEnabled",
"documentation":"<p>Whether the Maintenance Window is enabled.</p>",
"box":true
},
"Replace":{
"shape":"Boolean",
"documentation":"<p>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. </p>",
"box":true
}
}
},
@ -8315,6 +9600,10 @@
"shape":"MaintenanceWindowName",
"documentation":"<p>The name of the Maintenance Window.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>An optional description of the update.</p>"
},
"Schedule":{
"shape":"MaintenanceWindowSchedule",
"documentation":"<p>The schedule of the Maintenance Window in the form of a cron or rate expression.</p>"
@ -8337,6 +9626,197 @@
}
}
},
"UpdateMaintenanceWindowTargetRequest":{
"type":"structure",
"required":[
"WindowId",
"WindowTargetId"
],
"members":{
"WindowId":{
"shape":"MaintenanceWindowId",
"documentation":"<p>The Maintenance Window ID with which to modify the target.</p>"
},
"WindowTargetId":{
"shape":"MaintenanceWindowTargetId",
"documentation":"<p>The target ID to modify.</p>"
},
"Targets":{
"shape":"Targets",
"documentation":"<p>The targets to add or replace.</p>"
},
"OwnerInformation":{
"shape":"OwnerInformation",
"documentation":"<p>User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.</p>"
},
"Name":{
"shape":"MaintenanceWindowName",
"documentation":"<p>A name for the update.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>An optional description for the update.</p>"
},
"Replace":{
"shape":"Boolean",
"documentation":"<p>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.</p>",
"box":true
}
}
},
"UpdateMaintenanceWindowTargetResult":{
"type":"structure",
"members":{
"WindowId":{
"shape":"MaintenanceWindowId",
"documentation":"<p>The Maintenance Window ID specified in the update request.</p>"
},
"WindowTargetId":{
"shape":"MaintenanceWindowTargetId",
"documentation":"<p>The target ID specified in the update request.</p>"
},
"Targets":{
"shape":"Targets",
"documentation":"<p>The updated targets.</p>"
},
"OwnerInformation":{
"shape":"OwnerInformation",
"documentation":"<p>The updated owner.</p>"
},
"Name":{
"shape":"MaintenanceWindowName",
"documentation":"<p>The updated name.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>The updated description.</p>"
}
}
},
"UpdateMaintenanceWindowTaskRequest":{
"type":"structure",
"required":[
"WindowId",
"WindowTaskId"
],
"members":{
"WindowId":{
"shape":"MaintenanceWindowId",
"documentation":"<p>The Maintenance Window ID that contains the task to modify.</p>"
},
"WindowTaskId":{
"shape":"MaintenanceWindowTaskId",
"documentation":"<p>The task ID to modify.</p>"
},
"Targets":{
"shape":"Targets",
"documentation":"<p>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. </p>"
},
"TaskArn":{
"shape":"MaintenanceWindowTaskArn",
"documentation":"<p>The task ARN to modify.</p>"
},
"ServiceRoleArn":{
"shape":"ServiceRole",
"documentation":"<p>The IAM service role ARN to modify. The system assumes this role during task execution. </p>"
},
"TaskParameters":{
"shape":"MaintenanceWindowTaskParameters",
"documentation":"<p>The parameters to modify. The map has the following format:</p> <p>Key: string, between 1 and 255 characters</p> <p>Value: an array of strings, each string is between 1 and 255 characters</p>"
},
"TaskInvocationParameters":{
"shape":"MaintenanceWindowTaskInvocationParameters",
"documentation":"<p>The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.</p>"
},
"Priority":{
"shape":"MaintenanceWindowTaskPriority",
"documentation":"<p>The new task priority to specify. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.</p>",
"box":true
},
"MaxConcurrency":{
"shape":"MaxConcurrency",
"documentation":"<p>The new <code>MaxConcurrency</code> value you want to specify. <code>MaxConcurrency</code> is the number of targets that are allowed to run this task in parallel.</p>"
},
"MaxErrors":{
"shape":"MaxErrors",
"documentation":"<p>The new <code>MaxErrors</code> value to specify. <code>MaxErrors</code> is the maximum number of errors that are allowed before the task stops being scheduled.</p>"
},
"LoggingInfo":{
"shape":"LoggingInfo",
"documentation":"<p>The new logging location in Amazon S3 to specify.</p>"
},
"Name":{
"shape":"MaintenanceWindowName",
"documentation":"<p>The new task name to specify.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>The new task description to specify.</p>"
},
"Replace":{
"shape":"Boolean",
"documentation":"<p>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.</p>",
"box":true
}
}
},
"UpdateMaintenanceWindowTaskResult":{
"type":"structure",
"members":{
"WindowId":{
"shape":"MaintenanceWindowId",
"documentation":"<p>The ID of the Maintenance Window that was updated.</p>"
},
"WindowTaskId":{
"shape":"MaintenanceWindowTaskId",
"documentation":"<p>The task ID of the Maintenance Window that was updated.</p>"
},
"Targets":{
"shape":"Targets",
"documentation":"<p>The updated target values.</p>"
},
"TaskArn":{
"shape":"MaintenanceWindowTaskArn",
"documentation":"<p>The updated task ARN value.</p>"
},
"ServiceRoleArn":{
"shape":"ServiceRole",
"documentation":"<p>The updated service role ARN value.</p>"
},
"TaskParameters":{
"shape":"MaintenanceWindowTaskParameters",
"documentation":"<p>The updated parameter values.</p>"
},
"TaskInvocationParameters":{
"shape":"MaintenanceWindowTaskInvocationParameters",
"documentation":"<p>The updated parameter values.</p>"
},
"Priority":{
"shape":"MaintenanceWindowTaskPriority",
"documentation":"<p>The updated priority value.</p>"
},
"MaxConcurrency":{
"shape":"MaxConcurrency",
"documentation":"<p>The updated MaxConcurrency value.</p>"
},
"MaxErrors":{
"shape":"MaxErrors",
"documentation":"<p>The updated MaxErrors value.</p>"
},
"LoggingInfo":{
"shape":"LoggingInfo",
"documentation":"<p>The updated logging information in Amazon S3.</p>"
},
"Name":{
"shape":"MaintenanceWindowName",
"documentation":"<p>The updated task name.</p>"
},
"Description":{
"shape":"MaintenanceWindowDescription",
"documentation":"<p>The updated task description.</p>"
}
}
},
"UpdateManagedInstanceRoleRequest":{
"type":"structure",
"required":[

View file

@ -193,7 +193,7 @@
{"shape":"InvalidGatewayRequestException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape. This operation is only supported in the tape gateway architecture.</p> <note> <p>Cache storage must be allocated to the gateway before you can create a virtual tape. Use the <a>AddCache</a> operation to add cache storage to a gateway.</p> </note>"
"documentation":"<p>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 can not 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. architecture.</p> <note> <p>Cache storage must be allocated to the gateway before you can create a virtual tape. Use the <a>AddCache</a> operation to add cache storage to a gateway.</p> </note>"
},
"CreateTapes":{
"name":"CreateTapes",
@ -669,7 +669,7 @@
{"shape":"InvalidGatewayRequestException"},
{"shape":"InternalServerError"}
],
"documentation":"<p>Refreshes the cache for the specified file share. This operation finds objects in the Amazon S3 bucket that were added or removed since the gateway last listed the bucket's contents and cached the results.</p>"
"documentation":"<p>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.</p>"
},
"RemoveTagsFromResource":{
"name":"RemoveTagsFromResource",
@ -1057,7 +1057,7 @@
},
"VolumeSizeInBytes":{
"shape":"long",
"documentation":"<p>The size of the volume in bytes.</p>"
"documentation":"<p>The size, in bytes, of the volume capacity.</p>"
},
"VolumeProgress":{
"shape":"DoubleObject",
@ -1339,7 +1339,7 @@
},
"TargetName":{
"shape":"TargetName",
"documentation":"<p>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 <code>TargetName</code> as <i>myvolume</i> 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.</p>"
"documentation":"<p>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 <code>TargetName</code> as <i>myvolume</i> 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 of a gateway.</p>"
},
"NetworkInterfaceId":{
"shape":"NetworkInterfaceId",
@ -1384,7 +1384,7 @@
},
"TapeBarcode":{
"shape":"TapeBarcode",
"documentation":"<p>The barcode that you want to assign to the tape.</p>"
"documentation":"<p>The barcode that you want to assign to the tape.</p> <note> <p>Barcodes cannot be reused. This includes barcodes used for tapes that have been deleted.</p> </note>"
}
},
"documentation":"<p>CreateTapeWithBarcodeInput</p>"
@ -1509,6 +1509,10 @@
"FileShareARN":{
"shape":"FileShareARN",
"documentation":"<p>The Amazon Resource Name (ARN) of the file share to be deleted. </p>"
},
"ForceDelete":{
"shape":"boolean",
"documentation":"<p>If set to true, 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.</p>"
}
},
"documentation":"<p>DeleteFileShareInput</p>"
@ -3008,7 +3012,7 @@
},
"TapeUsedInBytes":{
"shape":"TapeUsage",
"documentation":"<p>The size, in bytes, of data written to the virtual tape.</p> <note> <p>This value is not available for tapes created prior to May,13 2015.</p> </note>"
"documentation":"<p>The size, in bytes, of data written to the virtual tape.</p> <note> <p>This value is not available for tapes created prior to May 13, 2015.</p> </note>"
}
},
"documentation":"<p>Describes a virtual tape object.</p>"
@ -3054,7 +3058,7 @@
},
"TapeUsedInBytes":{
"shape":"TapeUsage",
"documentation":"<p>The size, in bytes, of data written to the virtual tape.</p> <note> <p>This value is not available for tapes created prior to May,13 2015.</p> </note>"
"documentation":"<p>The size, in bytes, of data written to the virtual tape.</p> <note> <p>This value is not available for tapes created prior to May 13, 2015.</p> </note>"
}
},
"documentation":"<p>Represents a virtual tape that is archived in the virtual tape shelf (VTS).</p>"
@ -3317,7 +3321,7 @@
},
"ReadOnly":{
"shape":"Boolean",
"documentation":"<p>Sets the write status of a file share: \"true\" if the write status is read-only, and otherwise \"false\".</p>"
"documentation":"<p>Sets the write status of a file share: \"true\" if the write status is read-only, otherwise \"false\".</p>"
}
},
"documentation":"<p>UpdateNFSFileShareInput</p>"
@ -3448,7 +3452,7 @@
"members":{
"VolumeARN":{
"shape":"VolumeARN",
"documentation":"<p>The Amazon Resource Name (ARN) for the storage volume. For example, the following is a valid ARN:</p> <p> <code>arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB</code> </p> <p> Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).</p>"
"documentation":"<p>The Amazon Resource Name (ARN) for the storage volume. For example, the following is a valid ARN:</p> <p> <code>arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB</code> </p> <p> Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).</p>"
},
"VolumeId":{
"shape":"VolumeId",
@ -3531,5 +3535,5 @@
"long":{"type":"long"},
"string":{"type":"string"}
},
"documentation":"<fullname>AWS Storage Gateway Service</fullname> <p>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.</p> <p>Use the following links to get started using the <i>AWS Storage Gateway Service API Reference</i>:</p> <ul> <li> <p> <a href=\"http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewayHTTPRequestsHeaders\">AWS Storage Gateway Required Request Headers</a>: Describes the required headers that you must send with every POST request to AWS Storage Gateway.</p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewaySigningRequests\">Signing Requests</a>: AWS Storage Gateway requires that you authenticate every request you send; this topic describes how sign such a request.</p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#APIErrorResponses\">Error Responses</a>: Provides reference information about AWS Storage Gateway errors.</p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_Operations.html\">Operations in AWS Storage Gateway</a>: Contains detailed descriptions of all AWS Storage Gateway operations, their request parameters, response elements, possible errors, and examples of requests and responses.</p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/general/latest/general/latest/gr/rande.html#sg_region\">AWS Storage Gateway Regions and Endpoints</a>: Provides a list of each region and endpoints available for use with AWS Storage Gateway.</p> </li> </ul> <note> <p>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 <code>vol-AA22BB012345DAF670</code>. When you use this ID with the EC2 API, you must change it to <code>vol-aa22bb012345daf670</code>. Otherwise, the EC2 API might not behave as expected.</p> </note> <important> <p>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 <a href=\"https://aws.amazon.com/ec2/faqs/#longer-ids\">Longer EC2 and EBS Resource IDs</a>.</p> <p> For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following:</p> <p> <code>arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG</code>.</p> <p>A snapshot ID with the longer ID format looks like the following: <code>snap-78e226633445566ee</code>.</p> <p>For more information, see <a href=\"https://forums.aws.amazon.com/ann.jspa?annID=3557\">Announcement: Heads-up Longer AWS Storage Gateway volume and snapshot IDs coming in 2016</a>.</p> </important>"
"documentation":"<fullname>AWS Storage Gateway Service</fullname> <p>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.</p> <p>Use the following links to get started using the <i>AWS Storage Gateway Service API Reference</i>:</p> <ul> <li> <p> <a href=\"http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewayHTTPRequestsHeaders\">AWS Storage Gateway Required Request Headers</a>: Describes the required headers that you must send with every POST request to AWS Storage Gateway.</p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewaySigningRequests\">Signing Requests</a>: AWS Storage Gateway requires that you authenticate every request you send; this topic describes how sign such a request.</p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#APIErrorResponses\">Error Responses</a>: Provides reference information about AWS Storage Gateway errors.</p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_Operations.html\">Operations in AWS Storage Gateway</a>: Contains detailed descriptions of all AWS Storage Gateway operations, their request parameters, response elements, possible errors, and examples of requests and responses.</p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region\">AWS Storage Gateway Regions and Endpoints:</a> Provides a list of each region and endpoints available for use with AWS Storage Gateway. </p> </li> </ul> <note> <p>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 <code>vol-AA22BB012345DAF670</code>. When you use this ID with the EC2 API, you must change it to <code>vol-aa22bb012345daf670</code>. Otherwise, the EC2 API might not behave as expected.</p> </note> <important> <p>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 <a href=\"https://aws.amazon.com/ec2/faqs/#longer-ids\">Longer EC2 and EBS Resource IDs</a>.</p> <p> For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following:</p> <p> <code>arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG</code>.</p> <p>A snapshot ID with the longer ID format looks like the following: <code>snap-78e226633445566ee</code>.</p> <p>For more information, see <a href=\"https://forums.aws.amazon.com/ann.jspa?annID=3557\">Announcement: Heads-up Longer AWS Storage Gateway volume and snapshot IDs coming in 2016</a>.</p> </important>"
}

View file

@ -220,19 +220,18 @@ class ReSTStyle(BaseStyle):
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
# `<http://url>`_
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(' ')

View file

@ -13,6 +13,7 @@
import re
import numbers
from botocore.utils import parse_timestamp
from botocore.docs.utils import escape_controls
from botocore.compat import six
@ -165,7 +166,8 @@ class SharedExampleDocumenter(object):
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(u"'%s'," % six.text_type(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))

View file

@ -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 @@ class AppendParamDocumentation(object):
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)

View file

@ -350,9 +350,10 @@ class ClientError(Exception):
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,
)
@ -399,6 +400,21 @@ class InvalidS3AddressingStyleError(BotoCoreError):
)
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 zero.'
)
class StubResponseError(BotoCoreError):
fmt = 'Error getting response stub for operation {operation_name}: {reason}'

View file

@ -253,6 +253,14 @@ def _needs_s3_sse_customization(params, sse_member_prefix):
sse_member_prefix + 'KeyMD5' not in params)
# NOTE: Retries get registered in two separate places in the botocore
# code: once when creating the client and once when you load the service
# model from the session. While at first this handler seems unneeded, it
# would be a breaking change for the AWS CLI to have it removed. This is
# because it relies on the service model from the session to create commands
# and this handler respects operation granular retry logic while the client
# one does not. If this is ever to be removed the handler, the client
# will have to respect per-operation level retry configuration.
def register_retries_for_service(service_data, session,
service_name, **kwargs):
loader = session.get_component('data_loader')

View file

@ -545,7 +545,8 @@ class PageIterator(object):
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)
@ -623,11 +624,17 @@ class Paginator(object):
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),

View file

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

View file

@ -52,9 +52,9 @@ copyright = u'2013, Mitch Garnaat'
# built documents.
#
# The short X.Y version.
version = '1.5.'
version = '1.6'
# The full version, including alpha/beta/rc tags.
release = '1.5.84'
release = '1.6.6'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View file

@ -0,0 +1,103 @@
# 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 import BaseSessionTest, mock
from botocore.exceptions import ClientError
from botocore.config import Config
class TestRetry(BaseSessionTest):
def setUp(self):
super(TestRetry, self).setUp()
self.region = 'us-west-2'
self.sleep_patch = mock.patch('time.sleep')
self.sleep_patch.start()
def tearDown(self):
self.sleep_patch.stop()
def add_n_retryable_responses(self, mock_send, num_responses):
responses = []
for _ in range(num_responses):
http_response = mock.Mock()
http_response.status_code = 500
http_response.headers = {}
http_response.content = b'{}'
responses.append(http_response)
mock_send.side_effect = responses
def assert_will_retry_n_times(self, method, num_retries):
num_responses = num_retries + 1
with mock.patch('botocore.endpoint.Session.send') as mock_send:
self.add_n_retryable_responses(mock_send, num_responses)
with self.assertRaisesRegexp(
ClientError, 'reached max retries: %s' % num_retries):
method()
self.assertEqual(mock_send.call_count, num_responses)
def test_can_override_max_attempts(self):
client = self.session.create_client(
'dynamodb', self.region, config=Config(
retries={'max_attempts': 1}))
self.assert_will_retry_n_times(client.list_tables, 1)
def test_do_not_attempt_retries(self):
client = self.session.create_client(
'dynamodb', self.region, config=Config(
retries={'max_attempts': 0}))
self.assert_will_retry_n_times(client.list_tables, 0)
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.
self.assert_will_retry_n_times(client.list_repositories, 4)
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)
self.assert_will_retry_n_times(client.list_tables, 9)
# 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)
self.assert_will_retry_n_times(client.list_repositories, 4)
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)
self.assert_will_retry_n_times(client.list_repositories, 1)
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}))
self.assert_will_retry_n_times(client.list_repositories, 0)

View file

@ -0,0 +1,51 @@
# 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
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)

View file

@ -41,7 +41,7 @@ class TestReSTDocument(unittest.TestCase):
doc = ReSTDocument()
doc.include_doc_string('<p>this is a <code>test</code></p>')
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 @@ class TestReSTDocument(unittest.TestCase):
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):

View file

@ -146,6 +146,16 @@ class TestStyle(unittest.TestCase):
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 <http://example.org>`__ ')
)
def test_escape_href_link(self):
style = ReSTStyle(ReSTDocument())
style.start_a(attrs=[('href', 'http://example.org')])
@ -153,15 +163,14 @@ class TestStyle(unittest.TestCase):
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 <http://example.org>`__ '))
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('`<http://example.org>`_ '))
six.b('`<http://example.org>`__ '))
def test_sphinx_reference_label_html(self):
style = ReSTStyle(ReSTDocument())

View file

@ -299,3 +299,22 @@ class TestSharedExampleDocumenter(BaseDocsTest):
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',",
" }",
])

View file

@ -18,6 +18,7 @@ from botocore.docs.utils import get_official_service_name
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):
@ -217,3 +218,10 @@ class TestAppendParamDocumentation(BaseDocsTest):
'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')

View file

@ -203,3 +203,24 @@ class TestCreateClientArgs(unittest.TestCase):
service_model, 'us-west-2', True, 'http://other.com/', True, None,
{}, config, bridge)
self.assertEqual(client_args['client_config'].region_name, None)
def test_provide_retry_config(self):
self.args_create = args.ClientArgsCreator(
mock.Mock(), None, None, None, None)
service_model = mock.Mock()
service_model.endpoint_prefix = 'ec2'
service_model.metadata = {'protocol': 'query'}
config = botocore.config.Config(
retries={'max_attempts': 10}
)
bridge = mock.Mock()
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.args_create.get_client_args(
service_model, 'us-west-2', True, 'https://ec2/', True, None,
{}, config, bridge)
self.assertEqual(
client_args['client_config'].retries, {'max_attempts': 10})

View file

@ -25,6 +25,8 @@ from botocore.credentials import Credentials
from botocore.exceptions import ParamValidationError
from botocore.exceptions import InvalidS3AddressingStyleError
from botocore.exceptions import UnknownSignatureVersionError
from botocore.exceptions import InvalidRetryConfigurationError
from botocore.exceptions import InvalidMaxRetryAttemptsError
from botocore.errorfactory import ClientExceptionsFactory
from botocore.stub import Stubber
from botocore import exceptions
@ -819,6 +821,26 @@ class TestAutoGeneratedClient(unittest.TestCase):
for call in event_emitter.register.call_args_list:
self.assertNotIn('needs-retry', call[0][0])
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}))
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_try_to_paginate_non_paginated(self):
self.loader.load_service_model.side_effect = [
self.service_description,
@ -1602,6 +1624,20 @@ class TestConfig(unittest.TestCase):
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})
class TestClientEndpointBridge(unittest.TestCase):
def setUp(self):

View file

@ -62,3 +62,19 @@ def test_retry_info_not_added_if_retry_attempts_not_present():
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))

View file

@ -12,6 +12,7 @@
# 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
@ -95,12 +96,13 @@ class TestPaginatorModel(unittest.TestCase):
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(
@ -134,7 +136,7 @@ class TestPagination(unittest.TestCase):
"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"},
@ -173,7 +175,7 @@ class TestPagination(unittest.TestCase):
'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 = [
@ -203,7 +205,7 @@ class TestPagination(unittest.TestCase):
'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'},
@ -225,7 +227,7 @@ class TestPagination(unittest.TestCase):
'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'},
@ -244,7 +246,7 @@ class TestPagination(unittest.TestCase):
"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"},
@ -285,7 +287,7 @@ class TestPagination(unittest.TestCase):
"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"},
@ -303,7 +305,7 @@ class TestPagination(unittest.TestCase):
"result_key": "Users",
"limit_key": "MaxKeys",
}
self.paginator = Paginator(self.method, self.paginate_config)
self.paginator = Paginator(self.method, self.paginate_config, self.model)
max_items = 3
page_size = 2
@ -343,13 +345,14 @@ class TestPagination(unittest.TestCase):
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):
@ -374,14 +377,16 @@ class TestPaginatorPageSize(unittest.TestCase):
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': [
@ -389,7 +394,7 @@ class TestPaginatorWithPathExpressions(unittest.TestCase):
'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 = [
@ -422,12 +427,13 @@ class TestPaginatorWithPathExpressions(unittest.TestCase):
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.paginator = Paginator(self.method, self.paginate_config, self.model)
def test_build_full_result_with_bytes(self):
responses = [
@ -592,6 +598,7 @@ class TestBinaryTokens(unittest.TestCase):
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",
@ -599,7 +606,7 @@ class TestMultipleTokens(unittest.TestCase):
"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 = [
@ -633,6 +640,7 @@ class TestOptionalTokens(unittest.TestCase):
"""
def setUp(self):
self.method = mock.Mock()
self.model = mock.Mock()
# This is based on Route53 pagination.
self.paginate_config = {
"output_token": ["NextRecordName",
@ -643,7 +651,7 @@ class TestOptionalTokens(unittest.TestCase):
"StartRecordIdentifier"],
"result_key": 'Foo',
}
self.paginator = Paginator(self.method, self.paginate_config)
self.paginator = Paginator(self.method, self.paginate_config, self.model)
def test_clean_token(self):
responses = [
@ -673,13 +681,14 @@ class TestOptionalTokens(unittest.TestCase):
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 = [
@ -706,7 +715,7 @@ class TestKeyIterators(unittest.TestCase):
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"},
@ -722,7 +731,7 @@ class TestKeyIterators(unittest.TestCase):
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"},
@ -737,7 +746,7 @@ class TestKeyIterators(unittest.TestCase):
{'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"},
@ -754,7 +763,7 @@ class TestKeyIterators(unittest.TestCase):
# 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"},
@ -774,7 +783,7 @@ class TestKeyIterators(unittest.TestCase):
# 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"]},
@ -795,7 +804,7 @@ class TestKeyIterators(unittest.TestCase):
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"},
@ -823,13 +832,14 @@ class TestKeyIterators(unittest.TestCase):
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 = [
@ -944,6 +954,7 @@ class TestMultipleResultKeys(unittest.TestCase):
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 = {
@ -951,7 +962,7 @@ class TestMultipleInputKeys(unittest.TestCase):
"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 = [
@ -1022,6 +1033,7 @@ class TestMultipleInputKeys(unittest.TestCase):
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",
@ -1029,7 +1041,7 @@ class TestExpressionKeyIterators(unittest.TestCase):
"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"},
@ -1060,12 +1072,13 @@ class TestExpressionKeyIterators(unittest.TestCase):
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 = [
@ -1097,13 +1110,14 @@ class TestIncludeNonResultKeys(unittest.TestCase):
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 = [
@ -1122,7 +1136,7 @@ class TestIncludeNonResultKeys(unittest.TestCase):
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'},
@ -1145,7 +1159,7 @@ class TestIncludeNonResultKeys(unittest.TestCase):
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,
@ -1173,13 +1187,14 @@ class TestIncludeNonResultKeys(unittest.TestCase):
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'},
@ -1209,6 +1224,7 @@ class TestSearchOverResults(unittest.TestCase):
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:
@ -1223,7 +1239,7 @@ class TestDeprecatedStartingToken(unittest.TestCase):
'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):
@ -1333,5 +1349,72 @@ class TestDeprecatedStartingToken(unittest.TestCase):
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()

View file

@ -75,3 +75,43 @@ class TestBuildRetryConfig(unittest.TestCase):
# 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)