diff --git a/PKG-INFO b/PKG-INFO index 8a14a39d..0ecebfa8 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: botocore -Version: 1.5.7 +Version: 1.5.75 Summary: Low-level, data-driven core of boto 3. Home-page: https://github.com/boto/botocore Author: Amazon Web Services @@ -21,7 +21,24 @@ Description: botocore `AWS CLI `__ as well as `boto3 `__. - `Documentation `__ + + Documentation + ------------- + Documentation for ``botocore`` can be found on `Read the Docs `__. + + + Getting Help + ------------ + + We use GitHub issues for tracking bugs and feature requests and have limited + bandwidth to address them. Please use these community resources for getting + help. Please note many of the same resources available for ``boto3`` are + applicable for ``botocore``: + + * Ask a question on `Stack Overflow `__ and tag it with `boto3 `__ + * Come join the AWS Python community chat on `gitter `__ + * Open a support ticket with `AWS Support `__ + * If it turns out that you may have found a bug, please `open an issue `__ Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable diff --git a/README.rst b/README.rst index 3331faa5..ed9decbb 100644 --- a/README.rst +++ b/README.rst @@ -13,4 +13,21 @@ botocore package is the foundation for the `AWS CLI `__ as well as `boto3 `__. -`Documentation `__ + +Documentation +------------- +Documentation for ``botocore`` can be found on `Read the Docs `__. + + +Getting Help +------------ + +We use GitHub issues for tracking bugs and feature requests and have limited +bandwidth to address them. Please use these community resources for getting +help. Please note many of the same resources available for ``boto3`` are +applicable for ``botocore``: + +* Ask a question on `Stack Overflow `__ and tag it with `boto3 `__ +* Come join the AWS Python community chat on `gitter `__ +* Open a support ticket with `AWS Support `__ +* If it turns out that you may have found a bug, please `open an issue `__ diff --git a/botocore.egg-info/PKG-INFO b/botocore.egg-info/PKG-INFO index 8a14a39d..0ecebfa8 100644 --- a/botocore.egg-info/PKG-INFO +++ b/botocore.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: botocore -Version: 1.5.7 +Version: 1.5.75 Summary: Low-level, data-driven core of boto 3. Home-page: https://github.com/boto/botocore Author: Amazon Web Services @@ -21,7 +21,24 @@ Description: botocore `AWS CLI `__ as well as `boto3 `__. - `Documentation `__ + + Documentation + ------------- + Documentation for ``botocore`` can be found on `Read the Docs `__. + + + Getting Help + ------------ + + We use GitHub issues for tracking bugs and feature requests and have limited + bandwidth to address them. Please use these community resources for getting + help. Please note many of the same resources available for ``boto3`` are + applicable for ``botocore``: + + * Ask a question on `Stack Overflow `__ and tag it with `boto3 `__ + * Come join the AWS Python community chat on `gitter `__ + * Open a support ticket with `AWS Support `__ + * If it turns out that you may have found a bug, please `open an issue `__ Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable diff --git a/botocore.egg-info/SOURCES.txt b/botocore.egg-info/SOURCES.txt index 81b500d2..42a620d6 100644 --- a/botocore.egg-info/SOURCES.txt +++ b/botocore.egg-info/SOURCES.txt @@ -40,18 +40,32 @@ botocore.egg-info/requires.txt botocore.egg-info/top_level.txt botocore/data/_retry.json botocore/data/endpoints.json +botocore/data/acm/2015-12-08/examples-1.json botocore/data/acm/2015-12-08/paginators-1.json botocore/data/acm/2015-12-08/service-2.json +botocore/data/apigateway/2015-07-09/examples-1.json botocore/data/apigateway/2015-07-09/paginators-1.json botocore/data/apigateway/2015-07-09/service-2.json +botocore/data/application-autoscaling/2016-02-06/examples-1.json botocore/data/application-autoscaling/2016-02-06/paginators-1.json botocore/data/application-autoscaling/2016-02-06/service-2.json +botocore/data/appstream/2016-12-01/examples-1.json +botocore/data/appstream/2016-12-01/paginators-1.json botocore/data/appstream/2016-12-01/service-2.json +botocore/data/athena/2017-05-18/paginators-1.json +botocore/data/athena/2017-05-18/service-2.json +botocore/data/autoscaling/2011-01-01/examples-1.json botocore/data/autoscaling/2011-01-01/paginators-1.json botocore/data/autoscaling/2011-01-01/service-2.json +botocore/data/batch/2016-08-10/examples-1.json +botocore/data/batch/2016-08-10/paginators-1.json botocore/data/batch/2016-08-10/service-2.json +botocore/data/budgets/2016-10-20/examples-1.json +botocore/data/budgets/2016-10-20/paginators-1.json botocore/data/budgets/2016-10-20/service-2.json +botocore/data/clouddirectory/2016-05-10/paginators-1.json botocore/data/clouddirectory/2016-05-10/service-2.json +botocore/data/cloudformation/2010-05-15/examples-1.json botocore/data/cloudformation/2010-05-15/paginators-1.json botocore/data/cloudformation/2010-05-15/service-2.json botocore/data/cloudformation/2010-05-15/waiters-2.json @@ -91,39 +105,80 @@ botocore/data/cloudfront/2016-09-07/waiters-2.json botocore/data/cloudfront/2016-09-29/paginators-1.json botocore/data/cloudfront/2016-09-29/service-2.json botocore/data/cloudfront/2016-09-29/waiters-2.json +botocore/data/cloudfront/2016-11-25/examples-1.json botocore/data/cloudfront/2016-11-25/paginators-1.json botocore/data/cloudfront/2016-11-25/service-2.json botocore/data/cloudfront/2016-11-25/waiters-2.json +botocore/data/cloudfront/2017-03-25/examples-1.json +botocore/data/cloudfront/2017-03-25/paginators-1.json +botocore/data/cloudfront/2017-03-25/service-2.json +botocore/data/cloudfront/2017-03-25/waiters-2.json +botocore/data/cloudhsm/2014-05-30/examples-1.json botocore/data/cloudhsm/2014-05-30/service-2.json botocore/data/cloudsearch/2011-02-01/service-2.json +botocore/data/cloudsearch/2013-01-01/paginators-1.json botocore/data/cloudsearch/2013-01-01/service-2.json +botocore/data/cloudsearchdomain/2013-01-01/examples-1.json botocore/data/cloudsearchdomain/2013-01-01/service-2.json +botocore/data/cloudtrail/2013-11-01/examples-1.json +botocore/data/cloudtrail/2013-11-01/paginators-1.json botocore/data/cloudtrail/2013-11-01/service-2.json +botocore/data/cloudwatch/2010-08-01/examples-1.json botocore/data/cloudwatch/2010-08-01/paginators-1.json botocore/data/cloudwatch/2010-08-01/service-2.json +botocore/data/cloudwatch/2010-08-01/waiters-2.json +botocore/data/codebuild/2016-10-06/examples-1.json +botocore/data/codebuild/2016-10-06/paginators-1.json botocore/data/codebuild/2016-10-06/service-2.json +botocore/data/codecommit/2015-04-13/examples-1.json botocore/data/codecommit/2015-04-13/paginators-1.json botocore/data/codecommit/2015-04-13/service-2.json +botocore/data/codedeploy/2014-10-06/examples-1.json +botocore/data/codedeploy/2014-10-06/paginators-1.json botocore/data/codedeploy/2014-10-06/service-2.json botocore/data/codedeploy/2014-10-06/waiters-2.json +botocore/data/codepipeline/2015-07-09/examples-1.json +botocore/data/codepipeline/2015-07-09/paginators-1.json botocore/data/codepipeline/2015-07-09/service-2.json +botocore/data/codestar/2017-04-19/paginators-1.json +botocore/data/codestar/2017-04-19/service-2.json +botocore/data/cognito-identity/2014-06-30/examples-1.json +botocore/data/cognito-identity/2014-06-30/paginators-1.json botocore/data/cognito-identity/2014-06-30/service-2.json +botocore/data/cognito-idp/2016-04-18/examples-1.json +botocore/data/cognito-idp/2016-04-18/paginators-1.json botocore/data/cognito-idp/2016-04-18/service-2.json botocore/data/cognito-sync/2014-06-30/service-2.json +botocore/data/config/2014-11-12/examples-1.json botocore/data/config/2014-11-12/paginators-1.json botocore/data/config/2014-11-12/service-2.json +botocore/data/cur/2017-01-06/examples-1.json +botocore/data/cur/2017-01-06/paginators-1.json botocore/data/cur/2017-01-06/service-2.json botocore/data/datapipeline/2012-10-29/paginators-1.json botocore/data/datapipeline/2012-10-29/service-2.json +botocore/data/dax/2017-04-19/paginators-1.json +botocore/data/dax/2017-04-19/service-2.json +botocore/data/devicefarm/2015-06-23/examples-1.json botocore/data/devicefarm/2015-06-23/paginators-1.json botocore/data/devicefarm/2015-06-23/service-2.json +botocore/data/directconnect/2012-10-25/examples-1.json +botocore/data/directconnect/2012-10-25/paginators-1.json botocore/data/directconnect/2012-10-25/service-2.json +botocore/data/discovery/2015-11-01/examples-1.json +botocore/data/discovery/2015-11-01/paginators-1.json botocore/data/discovery/2015-11-01/service-2.json +botocore/data/dms/2016-01-01/examples-1.json +botocore/data/dms/2016-01-01/paginators-1.json botocore/data/dms/2016-01-01/service-2.json +botocore/data/ds/2015-04-16/examples-1.json botocore/data/ds/2015-04-16/service-2.json +botocore/data/dynamodb/2012-08-10/examples-1.json botocore/data/dynamodb/2012-08-10/paginators-1.json botocore/data/dynamodb/2012-08-10/service-2.json botocore/data/dynamodb/2012-08-10/waiters-2.json +botocore/data/dynamodbstreams/2012-08-10/examples-1.json +botocore/data/dynamodbstreams/2012-08-10/paginators-1.json botocore/data/dynamodbstreams/2012-08-10/service-2.json botocore/data/ec2/2014-09-01/paginators-1.json botocore/data/ec2/2014-09-01/service-2.json @@ -151,11 +206,15 @@ botocore/data/ec2/2016-11-15/examples-1.json botocore/data/ec2/2016-11-15/paginators-1.json botocore/data/ec2/2016-11-15/service-2.json botocore/data/ec2/2016-11-15/waiters-2.json +botocore/data/ecr/2015-09-21/examples-1.json botocore/data/ecr/2015-09-21/paginators-1.json botocore/data/ecr/2015-09-21/service-2.json +botocore/data/ecs/2014-11-13/examples-1.json botocore/data/ecs/2014-11-13/paginators-1.json botocore/data/ecs/2014-11-13/service-2.json botocore/data/ecs/2014-11-13/waiters-2.json +botocore/data/efs/2015-02-01/examples-1.json +botocore/data/efs/2015-02-01/paginators-1.json botocore/data/efs/2015-02-01/service-2.json botocore/data/elasticache/2014-09-30/paginators-1.json botocore/data/elasticache/2014-09-30/service-2.json @@ -166,104 +225,186 @@ botocore/data/elasticache/2015-02-02/waiters-2.json botocore/data/elasticbeanstalk/2010-12-01/examples-1.json botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json botocore/data/elasticbeanstalk/2010-12-01/service-2.json +botocore/data/elastictranscoder/2012-09-25/examples-1.json botocore/data/elastictranscoder/2012-09-25/paginators-1.json botocore/data/elastictranscoder/2012-09-25/service-2.json botocore/data/elastictranscoder/2012-09-25/waiters-2.json +botocore/data/elb/2012-06-01/examples-1.json botocore/data/elb/2012-06-01/paginators-1.json botocore/data/elb/2012-06-01/service-2.json +botocore/data/elb/2012-06-01/waiters-2.json +botocore/data/elbv2/2015-12-01/examples-1.json botocore/data/elbv2/2015-12-01/paginators-1.json botocore/data/elbv2/2015-12-01/service-2.json +botocore/data/emr/2009-03-31/examples-1.json botocore/data/emr/2009-03-31/paginators-1.json botocore/data/emr/2009-03-31/service-2.json botocore/data/emr/2009-03-31/waiters-2.json +botocore/data/es/2015-01-01/paginators-1.json botocore/data/es/2015-01-01/service-2.json botocore/data/events/2014-02-03/service-2.json +botocore/data/events/2015-10-07/examples-1.json +botocore/data/events/2015-10-07/paginators-1.json botocore/data/events/2015-10-07/service-2.json +botocore/data/firehose/2015-08-04/examples-1.json botocore/data/firehose/2015-08-04/service-2.json +botocore/data/gamelift/2015-10-01/examples-1.json +botocore/data/gamelift/2015-10-01/paginators-1.json botocore/data/gamelift/2015-10-01/service-2.json +botocore/data/glacier/2012-06-01/examples-1.json botocore/data/glacier/2012-06-01/paginators-1.json botocore/data/glacier/2012-06-01/service-2.json +botocore/data/glacier/2012-06-01/waiters-2.json +botocore/data/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 botocore/data/health/2016-08-04/service-2.json +botocore/data/iam/2010-05-08/examples-1.json botocore/data/iam/2010-05-08/paginators-1.json botocore/data/iam/2010-05-08/service-2.json botocore/data/iam/2010-05-08/waiters-2.json botocore/data/importexport/2010-06-01/paginators-1.json botocore/data/importexport/2010-06-01/service-2.json botocore/data/inspector/2015-08-18/service-2.json +botocore/data/inspector/2016-02-16/examples-1.json +botocore/data/inspector/2016-02-16/paginators-1.json botocore/data/inspector/2016-02-16/service-2.json botocore/data/iot-data/2015-05-28/service-2.json +botocore/data/iot/2015-05-28/examples-1.json +botocore/data/iot/2015-05-28/paginators-1.json botocore/data/iot/2015-05-28/service-2.json +botocore/data/kinesis/2013-12-02/examples-1.json botocore/data/kinesis/2013-12-02/paginators-1.json botocore/data/kinesis/2013-12-02/service-2.json botocore/data/kinesis/2013-12-02/waiters-2.json +botocore/data/kinesisanalytics/2015-08-14/examples-1.json +botocore/data/kinesisanalytics/2015-08-14/paginators-1.json botocore/data/kinesisanalytics/2015-08-14/service-2.json +botocore/data/kms/2014-11-01/examples-1.json botocore/data/kms/2014-11-01/paginators-1.json botocore/data/kms/2014-11-01/service-2.json botocore/data/lambda/2014-11-11/service-2.json +botocore/data/lambda/2015-03-31/examples-1.json botocore/data/lambda/2015-03-31/paginators-1.json botocore/data/lambda/2015-03-31/service-2.json +botocore/data/lex-models/2017-04-19/paginators-1.json +botocore/data/lex-models/2017-04-19/service-2.json +botocore/data/lex-runtime/2016-11-28/paginators-1.json +botocore/data/lex-runtime/2016-11-28/service-2.json +botocore/data/lightsail/2016-11-28/examples-1.json botocore/data/lightsail/2016-11-28/paginators-1.json botocore/data/lightsail/2016-11-28/service-2.json +botocore/data/logs/2014-03-28/examples-1.json botocore/data/logs/2014-03-28/paginators-1.json botocore/data/logs/2014-03-28/service-2.json +botocore/data/machinelearning/2014-12-12/examples-1.json botocore/data/machinelearning/2014-12-12/paginators-1.json botocore/data/machinelearning/2014-12-12/service-2.json botocore/data/machinelearning/2014-12-12/waiters-2.json +botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json +botocore/data/marketplace-entitlement/2017-01-11/service-2.json +botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json +botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json +botocore/data/meteringmarketplace/2016-01-14/examples-1.json botocore/data/meteringmarketplace/2016-01-14/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 +botocore/data/opsworks/2013-02-18/paginators-1.json botocore/data/opsworks/2013-02-18/service-2.json botocore/data/opsworks/2013-02-18/waiters-2.json +botocore/data/opsworkscm/2016-11-01/examples-1.json +botocore/data/opsworkscm/2016-11-01/paginators-1.json botocore/data/opsworkscm/2016-11-01/service-2.json botocore/data/opsworkscm/2016-11-01/waiters-2.json +botocore/data/organizations/2016-11-28/paginators-1.json +botocore/data/organizations/2016-11-28/service-2.json +botocore/data/pinpoint/2016-12-01/examples-1.json botocore/data/pinpoint/2016-12-01/service-2.json +botocore/data/polly/2016-06-10/examples-1.json +botocore/data/polly/2016-06-10/paginators-1.json botocore/data/polly/2016-06-10/service-2.json botocore/data/rds/2014-09-01/paginators-1.json botocore/data/rds/2014-09-01/service-2.json botocore/data/rds/2014-09-01/waiters-2.json +botocore/data/rds/2014-10-31/examples-1.json botocore/data/rds/2014-10-31/paginators-1.json botocore/data/rds/2014-10-31/service-2.json botocore/data/rds/2014-10-31/service-2.sdk-extras.json botocore/data/rds/2014-10-31/waiters-2.json +botocore/data/redshift/2012-12-01/examples-1.json botocore/data/redshift/2012-12-01/paginators-1.json botocore/data/redshift/2012-12-01/service-2.json botocore/data/redshift/2012-12-01/waiters-2.json +botocore/data/rekognition/2016-06-27/examples-1.json +botocore/data/rekognition/2016-06-27/paginators-1.json botocore/data/rekognition/2016-06-27/service-2.json +botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json +botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json +botocore/data/route53/2013-04-01/examples-1.json botocore/data/route53/2013-04-01/paginators-1.json botocore/data/route53/2013-04-01/service-2.json botocore/data/route53/2013-04-01/waiters-2.json botocore/data/route53domains/2014-05-15/paginators-1.json botocore/data/route53domains/2014-05-15/service-2.json +botocore/data/s3/2006-03-01/examples-1.json botocore/data/s3/2006-03-01/paginators-1.json botocore/data/s3/2006-03-01/service-2.json botocore/data/s3/2006-03-01/waiters-2.json botocore/data/sdb/2009-04-15/paginators-1.json botocore/data/sdb/2009-04-15/service-2.json +botocore/data/servicecatalog/2015-12-10/examples-1.json +botocore/data/servicecatalog/2015-12-10/paginators-1.json botocore/data/servicecatalog/2015-12-10/service-2.json +botocore/data/ses/2010-12-01/examples-1.json botocore/data/ses/2010-12-01/paginators-1.json botocore/data/ses/2010-12-01/service-2.json botocore/data/ses/2010-12-01/waiters-2.json +botocore/data/shield/2016-06-02/examples-1.json botocore/data/shield/2016-06-02/service-2.json +botocore/data/sms/2016-10-24/examples-1.json +botocore/data/sms/2016-10-24/paginators-1.json botocore/data/sms/2016-10-24/service-2.json +botocore/data/snowball/2016-06-30/examples-1.json +botocore/data/snowball/2016-06-30/paginators-1.json botocore/data/snowball/2016-06-30/service-2.json +botocore/data/sns/2010-03-31/examples-1.json botocore/data/sns/2010-03-31/paginators-1.json botocore/data/sns/2010-03-31/service-2.json botocore/data/sqs/2012-11-05/examples-1.json +botocore/data/sqs/2012-11-05/paginators-1.json botocore/data/sqs/2012-11-05/service-2.json +botocore/data/ssm/2014-11-06/examples-1.json botocore/data/ssm/2014-11-06/paginators-1.json botocore/data/ssm/2014-11-06/service-2.json +botocore/data/stepfunctions/2016-11-23/examples-1.json +botocore/data/stepfunctions/2016-11-23/paginators-1.json botocore/data/stepfunctions/2016-11-23/service-2.json +botocore/data/storagegateway/2013-06-30/examples-1.json botocore/data/storagegateway/2013-06-30/paginators-1.json botocore/data/storagegateway/2013-06-30/service-2.json +botocore/data/sts/2011-06-15/examples-1.json +botocore/data/sts/2011-06-15/paginators-1.json botocore/data/sts/2011-06-15/service-2.json +botocore/data/support/2013-04-15/examples-1.json botocore/data/support/2013-04-15/paginators-1.json botocore/data/support/2013-04-15/service-2.json botocore/data/swf/2012-01-25/paginators-1.json botocore/data/swf/2012-01-25/service-2.json +botocore/data/waf-regional/2016-11-28/examples-1.json +botocore/data/waf-regional/2016-11-28/paginators-1.json botocore/data/waf-regional/2016-11-28/service-2.json +botocore/data/waf/2015-08-24/examples-1.json botocore/data/waf/2015-08-24/paginators-1.json botocore/data/waf/2015-08-24/service-2.json +botocore/data/workdocs/2016-05-01/paginators-1.json +botocore/data/workdocs/2016-05-01/service-2.json +botocore/data/workspaces/2015-04-08/examples-1.json +botocore/data/workspaces/2015-04-08/paginators-1.json botocore/data/workspaces/2015-04-08/service-2.json +botocore/data/xray/2016-04-12/examples-1.json +botocore/data/xray/2016-04-12/paginators-1.json botocore/data/xray/2016-04-12/service-2.json botocore/docs/__init__.py botocore/docs/client.py @@ -445,13 +586,16 @@ tests/functional/test_client_class_names.py tests/functional/test_client_metadata.py tests/functional/test_cloudformation.py tests/functional/test_cloudsearchdomain.py +tests/functional/test_cognito_idp.py tests/functional/test_credentials.py tests/functional/test_ec2.py tests/functional/test_endpoints.py tests/functional/test_iot_data.py +tests/functional/test_lex.py tests/functional/test_loaders.py tests/functional/test_machinelearning.py tests/functional/test_model_completeness.py +tests/functional/test_mturk.py tests/functional/test_paginate.py tests/functional/test_paginator_config.py tests/functional/test_public_apis.py @@ -459,6 +603,7 @@ tests/functional/test_rds.py tests/functional/test_regions.py tests/functional/test_s3.py tests/functional/test_session.py +tests/functional/test_six_imports.py tests/functional/test_stub.py tests/functional/test_waiter_config.py tests/functional/docs/__init__.py @@ -466,7 +611,9 @@ tests/functional/docs/test_alias.py tests/functional/docs/test_autoscaling.py tests/functional/docs/test_ec2.py tests/functional/docs/test_glacier.py +tests/functional/docs/test_lex.py tests/functional/docs/test_s3.py +tests/functional/docs/test_shared_example_config.py tests/functional/docs/test_streaming_body.py tests/functional/leak/__init__.py tests/functional/leak/test_resource_leaks.py diff --git a/botocore/__init__.py b/botocore/__init__.py index 9cff5392..f54c557e 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re import logging -__version__ = '1.5.7' +__version__ = '1.5.75' class NullHandler(logging.Handler): @@ -45,6 +45,8 @@ _xform_cache = { ('DescribeStorediSCSIVolumes', '-'): 'describe-stored-iscsi-volumes', ('CreateStorediSCSIVolume', '_'): 'create_stored_iscsi_volume', ('CreateStorediSCSIVolume', '-'): 'create-stored-iscsi-volume', + ('ListHITsForQualificationType', '_'): 'list_hits_for_qualification_type', + ('ListHITsForQualificationType', '-'): 'list-hits-for-qualification-type', } # The items in this dict represent partial renames to apply globally to all # services which might have a matching argument or operation. This way a diff --git a/botocore/args.py b/botocore/args.py index 54f4290f..9e69a538 100644 --- a/botocore/args.py +++ b/botocore/args.py @@ -52,9 +52,16 @@ class ClientArgsCreator(object): s3_config = final_args['s3_config'] partition = endpoint_config['metadata'].get('partition', None) + signing_region = endpoint_config['signing_region'] + endpoint_region_name = endpoint_config['region_name'] + if signing_region is None and endpoint_region_name is None: + signing_region, endpoint_region_name = \ + self._get_default_s3_region(service_name, endpoint_bridge) + config_kwargs['region_name'] = endpoint_region_name + event_emitter = copy.copy(self._event_emitter) signer = RequestSigner( - service_name, endpoint_config['signing_region'], + service_name, signing_region, endpoint_config['signing_name'], endpoint_config['signature_version'], credentials, event_emitter) @@ -64,7 +71,7 @@ class ClientArgsCreator(object): endpoint_creator = EndpointCreator(event_emitter) endpoint = endpoint_creator.create_endpoint( - service_model, region_name=endpoint_config['region_name'], + service_model, region_name=endpoint_region_name, endpoint_url=endpoint_config['endpoint_url'], verify=verify, response_parser_factory=self._response_parser_factory, max_pool_connections=new_config.max_pool_connections, @@ -187,3 +194,12 @@ class ClientArgsCreator(object): else: config_copy[key] = False return config_copy + + def _get_default_s3_region(self, service_name, endpoint_bridge): + # If a user is providing a custom URL, the endpoint resolver will + # refuse to infer a signing region. If we want to default to s3v4, + # we have to account for this. + if service_name == 's3': + endpoint = endpoint_bridge.resolve('s3') + return endpoint['signing_region'], endpoint['region_name'] + return None, None diff --git a/botocore/auth.py b/botocore/auth.py index f3fd1174..74785804 100644 --- a/botocore/auth.py +++ b/botocore/auth.py @@ -33,6 +33,7 @@ from botocore.compat import encodebytes from botocore.compat import six from botocore.compat import json from botocore.compat import MD5_AVAILABLE +from botocore.compat import ensure_unicode logger = logging.getLogger(__name__) @@ -50,6 +51,7 @@ SIGNED_HEADERS_BLACKLIST = [ 'user-agent', 'x-amzn-trace-id', ] +UNSIGNED_PAYLOAD = 'UNSIGNED-PAYLOAD' class BaseSigner(object): @@ -227,17 +229,29 @@ class SigV4Auth(BaseSigner): headers = [] sorted_header_names = sorted(set(headers_to_sign)) for key in sorted_header_names: - value = ','.join(v.strip() for v in + value = ','.join(self._header_value(v) for v in sorted(headers_to_sign.get_all(key))) - headers.append('%s:%s' % (key, value)) + headers.append('%s:%s' % (key, ensure_unicode(value))) return '\n'.join(headers) + def _header_value(self, value): + # From the sigv4 docs: + # Lowercase(HeaderName) + ':' + Trimall(HeaderValue) + # + # The Trimall function removes excess white space before and after + # values, and converts sequential spaces to a single space. + return ' '.join(value.split()) + def signed_headers(self, headers_to_sign): l = ['%s' % n.lower().strip() for n in set(headers_to_sign)] l = sorted(l) return ';'.join(l) def payload(self, request): + if not self._should_sha256_sign_payload(request): + # When payload signing is disabled, we use this static string in + # place of the payload checksum. + return UNSIGNED_PAYLOAD if request.body and hasattr(request.body, 'seek'): position = request.body.tell() read_chunksize = functools.partial(request.body.read, @@ -255,6 +269,16 @@ class SigV4Auth(BaseSigner): else: return EMPTY_SHA256_HASH + def _should_sha256_sign_payload(self, request): + # Payloads will always be signed over insecure connections. + if not request.url.startswith('https'): + return True + + # Certain operations may have payload signing disabled by default. + # Since we don't have access to the operation model, we pass in this + # bit of metadata through the request context. + return request.context.get('payload_signing_enabled', True) + def canonical_request(self, request): cr = [request.method.upper()] path = self._normalize_url_path(urlsplit(request.url).path) @@ -346,6 +370,11 @@ class SigV4Auth(BaseSigner): del request.headers['X-Amz-Security-Token'] request.headers['X-Amz-Security-Token'] = self.credentials.token + if not request.context.get('payload_signing_enabled', True): + if 'X-Amz-Content-SHA256' in request.headers: + del request.headers['X-Amz-Content-SHA256'] + request.headers['X-Amz-Content-SHA256'] = UNSIGNED_PAYLOAD + def _set_necessary_date_headers(self, request): # The spec allows for either the Date _or_ the X-Amz-Date value to be # used so we check both. If there's a Date header, we use the date @@ -383,10 +412,7 @@ class S3SigV4Auth(SigV4Auth): if 'X-Amz-Content-SHA256' in request.headers: del request.headers['X-Amz-Content-SHA256'] - if self._should_sha256_sign_payload(request): - request.headers['X-Amz-Content-SHA256'] = self.payload(request) - else: - request.headers['X-Amz-Content-SHA256'] = 'UNSIGNED-PAYLOAD' + request.headers['X-Amz-Content-SHA256'] = self.payload(request) def _should_sha256_sign_payload(self, request): # S3 allows optional body signing, so to minimize the performance @@ -400,15 +426,27 @@ class S3SigV4Auth(SigV4Auth): if s3_config is None: s3_config = {} + # The explicit configuration takes precedence over any implicit + # configuration. sign_payload = s3_config.get('payload_signing_enabled', None) if sign_payload is not None: return sign_payload - if 'Content-MD5' in request.headers and 'https' in request.url and \ - request.context.get('has_streaming_input', False): + # We require that both content-md5 be present and https be enabled + # to implicitly disable body signing. The combination of TLS and + # content-md5 is sufficiently secure and durable for us to be + # confident in the request without body signing. + if not request.url.startswith('https') or \ + 'Content-MD5' not in request.headers: + return True + + # If the input is streaming we disable body signing by default. + if request.context.get('has_streaming_input', False): return False - return True + # If the S3-specific checks had no results, delegate to the generic + # checks. + return super(S3SigV4Auth, self)._should_sha256_sign_payload(request) def _normalize_url_path(self, path): # For S3, we do not normalize the path. @@ -514,7 +552,7 @@ class S3SigV4QueryAuth(SigV4QueryAuth): # "You don't include a payload hash in the Canonical Request, because # when you create a presigned URL, you don't know anything about the # payload. Instead, you use a constant string "UNSIGNED-PAYLOAD". - return "UNSIGNED-PAYLOAD" + return UNSIGNED_PAYLOAD class S3SigV4PostAuth(SigV4Auth): diff --git a/botocore/awsrequest.py b/botocore/awsrequest.py index acd50921..c26ebc07 100644 --- a/botocore/awsrequest.py +++ b/botocore/awsrequest.py @@ -19,7 +19,8 @@ import socket import inspect from botocore.compat import six -from botocore.compat import HTTPHeaders, HTTPResponse, urlunsplit, urlsplit +from botocore.compat import HTTPHeaders, HTTPResponse, urlunsplit, urlsplit,\ + urlparse from botocore.exceptions import UnseekableStreamError from botocore.utils import percent_encode_sequence from botocore.vendored.requests import models diff --git a/botocore/client.py b/botocore/client.py index 592ef177..e7a81c5b 100644 --- a/botocore/client.py +++ b/botocore/client.py @@ -33,6 +33,7 @@ from botocore.utils import switch_to_virtual_host_style from botocore.utils import S3_ACCELERATE_WHITELIST from botocore.args import ClientArgsCreator from botocore.compat import urlsplit +from botocore import UNSIGNED # Keep this imported. There's pre-existing code that uses # "from botocore.client import Config". from botocore.config import Config @@ -69,7 +70,9 @@ 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_s3_events(service_client, endpoint_bridge, endpoint_url) + self._register_s3_events( + service_client, endpoint_bridge, endpoint_url, client_config, + scoped_config) return service_client def create_client_class(self, service_name, api_version=None): @@ -116,7 +119,8 @@ class ClientCreator(object): self._event_emitter.register('needs-retry.%s' % endpoint_prefix, handler, unique_id=unique_id) - def _register_s3_events(self, client, endpoint_bridge, endpoint_url): + def _register_s3_events(self, client, endpoint_bridge, endpoint_url, + client_config, scoped_config): if client.meta.service_model.service_name != 's3': return S3RegionRedirector(endpoint_bridge, client).register() @@ -130,6 +134,9 @@ class ClientCreator(object): client.meta.events.register_first( 'request-created.s3', switch_host_s3_accelerate) + self._set_s3_presign_signature_version( + client.meta, client_config, scoped_config) + def _set_s3_addressing_style(self, endpoint_url, s3_config, event_emitter): if s3_config is None: s3_config = {} @@ -212,6 +219,56 @@ class ClientCreator(object): # Remaining parts must all be in the whitelist. return all(p in S3_ACCELERATE_WHITELIST for p in feature_parts) + def _set_s3_presign_signature_version(self, client_meta, + client_config, scoped_config): + # This will return the manually configured signature version, or None + # if none was manually set. If a customer manually sets the signature + # version, we always want to use what they set. + provided_signature_version = _get_configured_signature_version( + 's3', client_config, scoped_config) + if provided_signature_version is not None: + return + + # Check to see if the region is a region that we know about. If we + # don't know about a region, then we can safely assume it's a new + # region that is sigv4 only, since all new S3 regions only allow sigv4. + regions = self._endpoint_resolver.get_available_endpoints( + 's3', client_meta.partition) + if client_meta.region_name not in regions: + return + + # If it is a region we know about, we want to default to sigv2, so here + # we check to see if it is available. + endpoint = self._endpoint_resolver.construct_endpoint( + 's3', client_meta.region_name) + signature_versions = endpoint['signatureVersions'] + if 's3' not in signature_versions: + return + + # We now know that we're in a known region that supports sigv2 and + # the customer hasn't set a signature version so we default the + # signature version to sigv2. + client_meta.events.register( + 'choose-signer.s3', self._default_s3_presign_to_sigv2) + + def _default_s3_presign_to_sigv2(self, signature_version, **kwargs): + """ + Returns the 's3' (sigv2) signer if presigning an s3 request. This is + intended to be used to set the default signature version for the signer + to sigv2. + + :type signature_version: str + :param signature_version: The current client signature version. + + :type signing_name: str + :param signing_name: The signing name of the service. + + :return: 's3' if the request is an s3 presign request, None otherwise + """ + for suffix in ['-query', '-presign-post']: + if signature_version.endswith(suffix): + return 's3' + suffix + def _get_client_args(self, service_model, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, client_config, endpoint_bridge): @@ -433,31 +490,16 @@ class ClientEndpointBridge(object): return region_name, signing_region def _resolve_signature_version(self, service_name, resolved): - # Client config overrides everything. - client = self.client_config - if client and client.signature_version is not None: - return client.signature_version - # Scoped config overrides picking from the endpoint metadata. - scoped = self.scoped_config - if scoped is not None: - service_config = scoped.get(service_name) - if service_config is not None and isinstance(service_config, dict): - version = service_config.get('signature_version') - if version: - logger.debug( - "Switching signature version for service %s " - "to version %s based on config file override.", - service_name, version) - return version + configured_version = _get_configured_signature_version( + service_name, self.client_config, self.scoped_config) + if configured_version is not None: + return configured_version + # Pick a signature version from the endpoint metadata if present. if 'signatureVersions' in resolved: potential_versions = resolved['signatureVersions'] if service_name == 's3': - # We currently prefer s3 over s3v4. - if 's3' in potential_versions: - return 's3' - elif 's3v4' in potential_versions: - return 's3v4' + return 's3v4' if 'v4' in potential_versions: return 'v4' # Now just iterate over the signature versions in order until we @@ -496,6 +538,19 @@ class BaseClient(object): self._exceptions = None self._register_handlers() + def __getattr__(self, item): + event_name = 'getattr.%s.%s' % (self._service_model.service_name, item) + handler, event_response = self.meta.events.emit_until_response( + event_name, client=self) + + if event_response is not None: + return event_response + + raise AttributeError( + "'%s' object has no attribute '%s'" % ( + self.__class__.__name__, item) + ) + def _register_handlers(self): # Register the handler required to sign requests. self.meta.events.register('request-created.%s' % @@ -511,7 +566,8 @@ class BaseClient(object): request_context = { 'client_region': self.meta.region_name, 'client_config': self.meta.config, - 'has_streaming_input': operation_model.has_streaming_input + 'has_streaming_input': operation_model.has_streaming_input, + 'auth_type': operation_model.auth_type, } request_dict = self._convert_to_request_dict( api_params, operation_model, context=request_context) @@ -750,3 +806,31 @@ class ClientMeta(object): @property def partition(self): return self._partition + + +def _get_configured_signature_version(service_name, client_config, + scoped_config): + """ + Gets the manually configured signature version. + + :returns: the customer configured signature version, or None if no + signature version was configured. + """ + # Client config overrides everything. + if client_config and client_config.signature_version is not None: + return client_config.signature_version + + # Scoped config overrides picking from the endpoint metadata. + if scoped_config is not None: + # A given service may have service specific configuration in the + # config file, so we need to check there as well. + service_config = scoped_config.get(service_name) + if service_config is not None and isinstance(service_config, dict): + version = service_config.get('signature_version') + if version: + logger.debug( + "Switching signature version for service %s " + "to version %s based on config file override.", + service_name, version) + return version + return None diff --git a/botocore/compat.py b/botocore/compat.py index dbd51132..d1d45eeb 100644 --- a/botocore/compat.py +++ b/botocore/compat.py @@ -27,7 +27,7 @@ logger = logging.getLogger(__name__) if six.PY3: - from six.moves import http_client + from botocore.vendored.six.moves import http_client class HTTPHeaders(http_client.HTTPMessage): pass diff --git a/botocore/configloader.py b/botocore/configloader.py index 24d07b1c..b9a4d542 100644 --- a/botocore/configloader.py +++ b/botocore/configloader.py @@ -14,8 +14,9 @@ import os import shlex import copy +import sys -from six.moves import configparser +from botocore.compat import six import botocore.exceptions @@ -142,12 +143,13 @@ def raw_config_parse(config_filename, parse_subsections=True): path = os.path.expandvars(path) path = os.path.expanduser(path) if not os.path.isfile(path): - raise botocore.exceptions.ConfigNotFound(path=path) - cp = configparser.RawConfigParser() + raise botocore.exceptions.ConfigNotFound(path=_unicode_path(path)) + cp = six.moves.configparser.RawConfigParser() try: - cp.read(path) - except configparser.Error: - raise botocore.exceptions.ConfigParseError(path=path) + cp.read([path]) + except six.moves.configparser.Error: + raise botocore.exceptions.ConfigParseError( + path=_unicode_path(path)) else: for section in cp.sections(): config[section] = {} @@ -161,11 +163,17 @@ def raw_config_parse(config_filename, parse_subsections=True): config_value = _parse_nested(config_value) except ValueError: raise botocore.exceptions.ConfigParseError( - path=path) + path=_unicode_path(path)) config[section][option] = config_value return config +def _unicode_path(path): + if isinstance(path, six.text_type): + return path + return path.decode(sys.getfilesystemencoding(), 'replace') + + def _parse_nested(config_value): # Given a value like this: # \n diff --git a/botocore/credentials.py b/botocore/credentials.py index 1572e701..fb019877 100644 --- a/botocore/credentials.py +++ b/botocore/credentials.py @@ -508,6 +508,7 @@ class EnvProvider(CredentialProvider): # The token can come from either of these env var. # AWS_SESSION_TOKEN is what other AWS SDKs have standardized on. TOKENS = ['AWS_SECURITY_TOKEN', 'AWS_SESSION_TOKEN'] + EXPIRY_TIME = 'AWS_CREDENTIAL_EXPIRATION' def __init__(self, environ=None, mapping=None): """ @@ -533,6 +534,7 @@ class EnvProvider(CredentialProvider): var_mapping['access_key'] = self.ACCESS_KEY var_mapping['secret_key'] = self.SECRET_KEY var_mapping['token'] = self.TOKENS + var_mapping['expiry_time'] = self.EXPIRY_TIME else: var_mapping['access_key'] = mapping.get( 'access_key', self.ACCESS_KEY) @@ -542,6 +544,8 @@ class EnvProvider(CredentialProvider): 'token', self.TOKENS) if not isinstance(var_mapping['token'], list): var_mapping['token'] = [var_mapping['token']] + var_mapping['expiry_time'] = mapping.get( + 'expiry_time', self.EXPIRY_TIME) return var_mapping def load(self): @@ -550,19 +554,61 @@ class EnvProvider(CredentialProvider): """ if self._mapping['access_key'] in self.environ: logger.info('Found credentials in environment variables.') - access_key, secret_key = self._extract_creds_from_mapping( - self.environ, self._mapping['access_key'], - self._mapping['secret_key']) - token = self._get_session_token() - return Credentials(access_key, secret_key, token, - method=self.METHOD) + fetcher = self._create_credentials_fetcher() + credentials = fetcher(require_expiry=False) + + expiry_time = credentials['expiry_time'] + if expiry_time is not None: + expiry_time = parse(expiry_time) + return RefreshableCredentials( + credentials['access_key'], credentials['secret_key'], + credentials['token'], expiry_time, + refresh_using=fetcher, method=self.METHOD + ) + + return Credentials( + credentials['access_key'], credentials['secret_key'], + credentials['token'], method=self.METHOD + ) else: return None - def _get_session_token(self): - for token_envvar in self._mapping['token']: - if token_envvar in self.environ: - return self.environ[token_envvar] + def _create_credentials_fetcher(self): + mapping = self._mapping + method = self.METHOD + environ = self.environ + + def fetch_credentials(require_expiry=True): + credentials = {} + + access_key = environ.get(mapping['access_key']) + if access_key is None: + raise PartialCredentialsError( + provider=method, cred_var=mapping['access_key']) + credentials['access_key'] = access_key + + secret_key = environ.get(mapping['secret_key']) + if secret_key is None: + raise PartialCredentialsError( + provider=method, cred_var=mapping['secret_key']) + credentials['secret_key'] = secret_key + + token = None + for token_env_var in mapping['token']: + if token_env_var in environ: + token = environ[token_env_var] + break + credentials['token'] = token + + expiry_time = environ.get(mapping['expiry_time']) + if require_expiry and expiry_time is None: + raise PartialCredentialsError( + provider=method, cred_var=mapping['expiry_time']) + credentials['expiry_time'] = expiry_time + + return credentials + + return fetch_credentials class OriginalEC2Provider(CredentialProvider): @@ -834,7 +880,7 @@ class AssumeRoleProvider(CredentialProvider): return None def _is_expired(self, credentials): - end_time = parse(credentials['Credentials']['Expiration']) + end_time = _parse_if_needed(credentials['Credentials']['Expiration']) now = datetime.datetime.now(tzlocal()) seconds = total_seconds(end_time - now) return seconds < self.EXPIRY_WINDOW_SECONDS @@ -945,6 +991,8 @@ class ContainerProvider(CredentialProvider): METHOD = 'container-role' ENV_VAR = 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI' + ENV_VAR_FULL = 'AWS_CONTAINER_CREDENTIALS_FULL_URI' + ENV_VAR_AUTH_TOKEN = 'AWS_CONTAINER_AUTHORIZATION_TOKEN' def __init__(self, environ=None, fetcher=None): if environ is None: @@ -955,15 +1003,18 @@ class ContainerProvider(CredentialProvider): self._fetcher = fetcher def load(self): - if self.ENV_VAR not in self._environ: - # This cred provider is only triggered if the - # self.ENV_VAR is set, which only happens if you opt - # into this feature on ECS. - return None - return self._retrieve_or_fail(self._environ[self.ENV_VAR]) + # This cred provider is only triggered if the self.ENV_VAR is set, + # which only happens if you opt into this feature. + if self.ENV_VAR in self._environ or self.ENV_VAR_FULL in self._environ: + return self._retrieve_or_fail() - def _retrieve_or_fail(self, relative_uri): - fetcher = self._create_fetcher(relative_uri) + def _retrieve_or_fail(self): + if self._provided_relative_uri(): + full_uri = self._fetcher.full_url(self._environ[self.ENV_VAR]) + else: + full_uri = self._environ[self.ENV_VAR_FULL] + headers = self._build_headers() + fetcher = self._create_fetcher(full_uri, headers) creds = fetcher() return RefreshableCredentials( access_key=creds['access_key'], @@ -974,12 +1025,21 @@ class ContainerProvider(CredentialProvider): refresh_using=fetcher, ) - def _create_fetcher(self, relative_uri): + def _build_headers(self): + headers = {} + auth_token = self._environ.get(self.ENV_VAR_AUTH_TOKEN) + if auth_token is not None: + return { + 'Authorization': auth_token + } + + def _create_fetcher(self, full_uri, headers): def fetch_creds(): try: - response = self._fetcher.retrieve_uri(relative_uri) + response = self._fetcher.retrieve_full_uri( + full_uri, headers=headers) except MetadataRetrievalError as e: - logger.debug("Error retrieving ECS metadata: %s", e, + logger.debug("Error retrieving container metadata: %s", e, exc_info=True) raise CredentialRetrievalError(provider=self.METHOD, error_msg=str(e)) @@ -991,6 +1051,9 @@ class ContainerProvider(CredentialProvider): } return fetch_creds + def _provided_relative_uri(self): + return self.ENV_VAR in self._environ + class CredentialResolver(object): diff --git a/botocore/data/_retry.json b/botocore/data/_retry.json index 50ba5bd5..c04b9992 100644 --- a/botocore/data/_retry.json +++ b/botocore/data/_retry.json @@ -16,6 +16,14 @@ } } }, + "throttled_exception": { + "applies_when": { + "response": { + "service_error_code": "ThrottledException", + "http_status_code": 400 + } + } + }, "too_many_requests": { "applies_when": { "response": { @@ -80,6 +88,7 @@ "gateway_timeout": {"$ref": "gateway_timeout"}, "limit_exceeded": {"$ref": "limit_exceeded"}, "throttling_exception": {"$ref": "throttling_exception"}, + "throttled_exception": {"$ref": "throttled_exception"}, "throttling": {"$ref": "throttling"}, "too_many_requests": {"$ref": "too_many_requests"} } diff --git a/botocore/data/acm/2015-12-08/examples-1.json b/botocore/data/acm/2015-12-08/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/acm/2015-12-08/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/acm/2015-12-08/paginators-1.json b/botocore/data/acm/2015-12-08/paginators-1.json index 9fc55e3c..2e2e4f9a 100644 --- a/botocore/data/acm/2015-12-08/paginators-1.json +++ b/botocore/data/acm/2015-12-08/paginators-1.json @@ -8,4 +8,3 @@ } } } - diff --git a/botocore/data/acm/2015-12-08/service-2.json b/botocore/data/acm/2015-12-08/service-2.json index c10cbce9..871a16c0 100644 --- a/botocore/data/acm/2015-12-08/service-2.json +++ b/botocore/data/acm/2015-12-08/service-2.json @@ -149,7 +149,7 @@ {"shape":"InvalidArnException"}, {"shape":"InvalidDomainValidationOptionsException"} ], - "documentation":"

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

" + "documentation":"

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

" } }, "shapes":{ @@ -672,11 +672,11 @@ "members":{ "DomainName":{ "shape":"DomainNameString", - "documentation":"

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

" + "documentation":"

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

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

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

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

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

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

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

" + "documentation":"

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

" }, "IdempotencyToken":{ "shape":"IdempotencyToken", diff --git a/botocore/data/apigateway/2015-07-09/examples-1.json b/botocore/data/apigateway/2015-07-09/examples-1.json new file mode 100755 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/apigateway/2015-07-09/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/apigateway/2015-07-09/paginators-1.json b/botocore/data/apigateway/2015-07-09/paginators-1.json index 4a79cfbd..7a6965ba 100644 --- a/botocore/data/apigateway/2015-07-09/paginators-1.json +++ b/botocore/data/apigateway/2015-07-09/paginators-1.json @@ -47,6 +47,24 @@ "output_token": "position", "limit_key": "limit", "result_key": "items" + }, + "GetUsage": { + "input_token": "position", + "output_token": "position", + "limit_key": "limit", + "result_key": "items" + }, + "GetUsagePlans": { + "input_token": "position", + "output_token": "position", + "limit_key": "limit", + "result_key": "items" + }, + "GetUsagePlanKeys": { + "input_token": "position", + "output_token": "position", + "limit_key": "limit", + "result_key": "items" } } } diff --git a/botocore/data/apigateway/2015-07-09/service-2.json b/botocore/data/apigateway/2015-07-09/service-2.json old mode 100755 new mode 100644 index 43ce77ef..7f87fcef --- a/botocore/data/apigateway/2015-07-09/service-2.json +++ b/botocore/data/apigateway/2015-07-09/service-2.json @@ -156,6 +156,24 @@ ], "documentation":"

Adds a new Model resource to an existing RestApi resource.

" }, + "CreateRequestValidator":{ + "name":"CreateRequestValidator", + "http":{ + "method":"POST", + "requestUri":"/restapis/{restapi_id}/requestvalidators", + "responseCode":201 + }, + "input":{"shape":"CreateRequestValidatorRequest"}, + "output":{"shape":"RequestValidator"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates a ReqeustValidator of a given RestApi.

" + }, "CreateResource":{ "name":"CreateResource", "http":{ @@ -457,6 +475,23 @@ ], "documentation":"

Deletes a model.

" }, + "DeleteRequestValidator":{ + "name":"DeleteRequestValidator", + "http":{ + "method":"DELETE", + "requestUri":"/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}", + "responseCode":202 + }, + "input":{"shape":"DeleteRequestValidatorRequest"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Deletes a RequestValidator of a given RestApi.

" + }, "DeleteResource":{ "name":"DeleteResource", "http":{ @@ -968,6 +1003,37 @@ ], "documentation":"

Describes existing Models defined for a RestApi resource.

" }, + "GetRequestValidator":{ + "name":"GetRequestValidator", + "http":{ + "method":"GET", + "requestUri":"/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}" + }, + "input":{"shape":"GetRequestValidatorRequest"}, + "output":{"shape":"RequestValidator"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Gets a RequestValidator of a given RestApi.

" + }, + "GetRequestValidators":{ + "name":"GetRequestValidators", + "http":{ + "method":"GET", + "requestUri":"/restapis/{restapi_id}/requestvalidators" + }, + "input":{"shape":"GetRequestValidatorsRequest"}, + "output":{"shape":"RequestValidators"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Gets the RequestValidators collection of a given RestApi.

" + }, "GetResource":{ "name":"GetResource", "http":{ @@ -1599,6 +1665,22 @@ ], "documentation":"

Changes information about a model.

" }, + "UpdateRequestValidator":{ + "name":"UpdateRequestValidator", + "http":{ + "method":"PATCH", + "requestUri":"/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}" + }, + "input":{"shape":"UpdateRequestValidatorRequest"}, + "output":{"shape":"RequestValidator"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates a RequestValidator of a given RestApi.

" + }, "UpdateResource":{ "name":"UpdateResource", "http":{ @@ -1736,11 +1818,11 @@ }, "createdDate":{ "shape":"Timestamp", - "documentation":"

The date when the API Key was created, in ISO 8601 format.

" + "documentation":"

The timestamp when the API Key was created.

" }, "lastUpdatedDate":{ "shape":"Timestamp", - "documentation":"

When the API Key was last updated, in ISO 8601 format.

" + "documentation":"

The timestamp when the API Key was last updated.

" }, "stageKeys":{ "shape":"ListOfString", @@ -1945,11 +2027,11 @@ }, "createdDate":{ "shape":"Timestamp", - "documentation":"

The date when the client certificate was created, in ISO 8601 format.

" + "documentation":"

The timestamp when the client certificate was created.

" }, "expirationDate":{ "shape":"Timestamp", - "documentation":"

The date when the client certificate will expire, in ISO 8601 format.

" + "documentation":"

The timestamp when the client certificate will expire.

" } }, "documentation":"

Represents a client certificate used to configure client-side SSL authentication while sending requests to the integration endpoint.

Client certificates are used authenticate an API by the back-end server. To authenticate an API client (or user), use a custom Authorizer.
" @@ -2189,33 +2271,31 @@ }, "CreateDomainNameRequest":{ "type":"structure", - "required":[ - "domainName", - "certificateName", - "certificateBody", - "certificatePrivateKey", - "certificateChain" - ], + "required":["domainName"], "members":{ "domainName":{ "shape":"String", - "documentation":"

The name of the DomainName resource.

" + "documentation":"

(Required) The name of the DomainName resource.

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

The name of the certificate.

" + "documentation":"

The user-friendly name of the certificate.

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

The body of the server certificate provided by your certificate authority.

" + "documentation":"

[Deprecated] The body of the server certificate provided by your certificate authority.

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

Your certificate's private key.

" + "documentation":"

[Deprecated] Your certificate's private key.

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

The intermediate certificates and optionally the root certificate, one after the other without any blank lines. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.

" + "documentation":"

[Deprecated] The intermediate certificates and optionally the root certificate, one after the other without any blank lines. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.

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

The reference to an AWS-managed certificate. AWS Certificate Manager is the only supported source.

" } }, "documentation":"

A request to create a new domain name.

" @@ -2253,6 +2333,31 @@ }, "documentation":"

Request to add a new Model to an existing RestApi resource.

" }, + "CreateRequestValidatorRequest":{ + "type":"structure", + "required":["restApiId"], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the RestApi for which the RequestValidator is created.

", + "location":"uri", + "locationName":"restapi_id" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the to-be-created RequestValidator.

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

A Boolean flag to indicate whether to validate request body according to the configured model schema for the method (true) or not (false).

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

A Boolean flag to indicate whether to validate request parameters, true, or not false.

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

Creates a RequestValidator of a given RestApi.

" + }, "CreateResourceRequest":{ "type":"structure", "required":[ @@ -2705,6 +2810,28 @@ }, "documentation":"

Request to delete an existing model in an existing RestApi resource.

" }, + "DeleteRequestValidatorRequest":{ + "type":"structure", + "required":[ + "restApiId", + "requestValidatorId" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the RestApi from which the given RequestValidator is deleted.

", + "location":"uri", + "locationName":"restapi_id" + }, + "requestValidatorId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the RequestValidator to be deleted.

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

Deletes a specified RequestValidator of a given RestApi.

" + }, "DeleteResourceRequest":{ "type":"structure", "required":[ @@ -2869,7 +2996,7 @@ "members":{ "type":{ "shape":"DocumentationPartType", - "documentation":"

The type of API entity to which the documentation content applies. It is a valid and required field for API entity types of API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Content inheritance does not apply to any entity of the API, AUTHROZER, MODEL, or RESOURCE type.

" + "documentation":"

The type of API entity to which the documentation content applies. It is a valid and required field for API entity types of API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Content inheritance does not apply to any entity of the API, AUTHROZER, METHOD, MODEL, REQUEST_BODY, or RESOURCE type.

" }, "path":{ "shape":"String", @@ -2964,9 +3091,13 @@ "shape":"String", "documentation":"

The name of the certificate.

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

The reference to an AWS-managed certificate. AWS Certificate Manager is the only supported source.

" + }, "certificateUploadDate":{ "shape":"Timestamp", - "documentation":"

The date when the certificate was uploaded, in ISO 8601 format.

" + "documentation":"

The timestamp when the certificate was uploaded.

" }, "distributionDomainName":{ "shape":"String", @@ -3095,7 +3226,7 @@ "members":{ "position":{ "shape":"String", - "documentation":"

The position of the current ApiKeys resource to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, @@ -3160,13 +3291,13 @@ }, "position":{ "shape":"String", - "documentation":"

If not all Authorizer resources in the response were present, the position will specify where to start the next page of results.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

Limit the number of Authorizer resources in the response.

", + "documentation":"

The maximum number of returned results per page.

", "location":"querystring", "locationName":"limit" } @@ -3207,13 +3338,13 @@ }, "position":{ "shape":"String", - "documentation":"

The position of the current BasePathMapping resource in the collection to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of BasePathMapping resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500.

", "location":"querystring", "locationName":"limit" } @@ -3238,13 +3369,13 @@ "members":{ "position":{ "shape":"String", - "documentation":"

The position of the current ClientCertificate resource in the collection to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of ClientCertificate resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500.

", "location":"querystring", "locationName":"limit" } @@ -3269,6 +3400,12 @@ "documentation":"

The identifier of the Deployment resource to get information about.

", "location":"uri", "locationName":"deployment_id" + }, + "embed":{ + "shape":"ListOfString", + "documentation":"

A query parameter to retrieve the specified embedded resources of the returned Deployment resource in the response. In a REST API call, this embed parameter value is a list of comma-separated strings, as in GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=var1,var2. The SDK and other platform-dependent libraries might use a different format for the list. Currently, this request supports only retrieval of the embedded API summary this way. Hence, the parameter value must be a single-valued list containing only the \"apisummary\" string. For example, GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=apisummary.

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

Requests Amazon API Gateway to get information about a Deployment resource.

" @@ -3285,13 +3422,13 @@ }, "position":{ "shape":"String", - "documentation":"

The position of the current Deployment resource in the collection to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of Deployment resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500.

", "location":"querystring", "locationName":"limit" } @@ -3350,13 +3487,13 @@ }, "position":{ "shape":"String", - "documentation":"

The position of the to-be-retrieved documentation part in the DocumentationParts collection.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The size of the paged results.

", + "documentation":"

The maximum number of returned results per page.

", "location":"querystring", "locationName":"limit" } @@ -3397,13 +3534,13 @@ }, "position":{ "shape":"String", - "documentation":"

The position of the returned DocumentationVersion in the DocumentationVersions collection.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The page size of the returned documentation versions.

", + "documentation":"

The maximum number of returned results per page.

", "location":"querystring", "locationName":"limit" } @@ -3428,13 +3565,13 @@ "members":{ "position":{ "shape":"String", - "documentation":"

The position of the current domain names to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of DomainName resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500.

", "location":"querystring", "locationName":"limit" } @@ -3673,19 +3810,66 @@ }, "position":{ "shape":"String", - "documentation":"

The position of the next set of results in the Models resource to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of models in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500.

", "location":"querystring", "locationName":"limit" } }, "documentation":"

Request to list existing Models defined for a RestApi resource.

" }, + "GetRequestValidatorRequest":{ + "type":"structure", + "required":[ + "restApiId", + "requestValidatorId" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the RestApi to which the specified RequestValidator belongs.

", + "location":"uri", + "locationName":"restapi_id" + }, + "requestValidatorId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the RequestValidator to be retrieved.

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

Gets a RequestValidator of a given RestApi.

" + }, + "GetRequestValidatorsRequest":{ + "type":"structure", + "required":["restApiId"], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The identifier of a RestApi to which the RequestValidators collection belongs.

", + "location":"uri", + "locationName":"restapi_id" + }, + "position":{ + "shape":"String", + "documentation":"

The current pagination position in the paged result set.

", + "location":"querystring", + "locationName":"position" + }, + "limit":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of returned results per page.

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

Gets the RequestValidators collection of a given RestApi.

" + }, "GetResourceRequest":{ "type":"structure", "required":[ @@ -3704,6 +3888,12 @@ "documentation":"

The identifier for the Resource resource.

", "location":"uri", "locationName":"resource_id" + }, + "embed":{ + "shape":"ListOfString", + "documentation":"

A query parameter to retrieve the specified resources embedded in the returned Resource representation in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the \"methods\" string. For example, GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods.

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

Request to list information about a resource.

" @@ -3720,15 +3910,21 @@ }, "position":{ "shape":"String", - "documentation":"

The position of the next set of results in the current Resources resource to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of Resource resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500.

", "location":"querystring", "locationName":"limit" + }, + "embed":{ + "shape":"ListOfString", + "documentation":"

A query parameter used to retrieve the specified resources embedded in the returned Resources resource in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the \"methods\" string. For example, GET /restapis/{restapi_id}/resources?embed=methods.

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

Request to list information about a collection of resources.

" @@ -3751,13 +3947,13 @@ "members":{ "position":{ "shape":"String", - "documentation":"

The position of the current RestApis resource in the collection to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of RestApi resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500.

", "location":"querystring", "locationName":"limit" } @@ -3816,13 +4012,13 @@ "members":{ "position":{ "shape":"String", - "documentation":"

The position of the last fetched element in the SdkTypes collection.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of SdkType instances to be returned.

", + "documentation":"

The maximum number of returned results per page.

", "location":"querystring", "locationName":"limit" } @@ -3904,13 +4100,13 @@ }, "position":{ "shape":"String", - "documentation":"

A query parameter specifying the zero-based index specifying the position of a usage plan key.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

A query parameter specifying the maximum number usage plan keys returned by the GET request.

", + "documentation":"

The maximum number of returned results per page.

", "location":"querystring", "locationName":"limit" }, @@ -3941,7 +4137,7 @@ "members":{ "position":{ "shape":"String", - "documentation":"

The zero-based array index specifying the position of the to-be-retrieved UsagePlan resource.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, @@ -3953,7 +4149,7 @@ }, "limit":{ "shape":"NullableInteger", - "documentation":"

The number of UsagePlan resources to be returned as the result.

", + "documentation":"

The maximum number of returned results per page.

", "location":"querystring", "locationName":"limit" } @@ -3994,13 +4190,13 @@ }, "position":{ "shape":"String", - "documentation":"

Position

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of results to be returned.

", + "documentation":"

The maximum number of returned results per page.

", "location":"querystring", "locationName":"limit" } @@ -4244,6 +4440,10 @@ "member":{"shape":"PatchOperation"}, "documentation":"A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list." }, + "ListOfRequestValidator":{ + "type":"list", + "member":{"shape":"RequestValidator"} + }, "ListOfResource":{ "type":"list", "member":{"shape":"Resource"} @@ -4344,7 +4544,7 @@ }, "authorizationType":{ "shape":"String", - "documentation":"

The method's authorization type.

" + "documentation":"

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

" }, "authorizerId":{ "shape":"String", @@ -4354,6 +4554,10 @@ "shape":"NullableBoolean", "documentation":"

A boolean flag specifying whether a valid ApiKey is required to invoke this method.

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

The identifier of a RequestValidator for request validation.

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

A human-friendly operation identifier for the method. For example, you can assign the operationName of ListPets for the GET /pets method in PetStore example.

" @@ -4446,7 +4650,7 @@ "members":{ "authorizationType":{ "shape":"String", - "documentation":"

Specifies the type of authorization used for the method.

" + "documentation":"

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

" }, "apiKeyRequired":{ "shape":"Boolean", @@ -4527,7 +4731,7 @@ }, "value":{ "shape":"String", - "documentation":"

The new target value of the update operation.

" + "documentation":"

The new target value of the update operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{\"a\": ...}'. In a Windows shell, see Using JSON for Parameters.

" }, "from":{ "shape":"String", @@ -4694,7 +4898,7 @@ }, "authorizationType":{ "shape":"String", - "documentation":"

Specifies the type of authorization used for the method.

" + "documentation":"

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

" }, "authorizerId":{ "shape":"String", @@ -4715,6 +4919,10 @@ "requestModels":{ "shape":"MapOfStringToString", "documentation":"

Specifies the Model resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a Model name as the value.

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

The identifier of a RequestValidator for validating the method request.

" } }, "documentation":"

Request to add a method to an existing Resource resource.

" @@ -4834,6 +5042,40 @@ }, "documentation":"

Quotas configured for a usage plan.

" }, + "RequestValidator":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

The identifier of this RequestValidator.

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

The name of this RequestValidator

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

A Boolean flag to indicate whether to validate a request body according to the configured Model schema.

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

A Boolean flag to indicate whether to validate request parameters (true) or not (false).

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

A set of validation rules for incoming Method requests.

In Swagger, a RequestValidator of an API is defined by the x-amazon-apigateway-request-validators.requestValidator object. It the referenced using the x-amazon-apigateway-request-validator property.

" + }, + "RequestValidators":{ + "type":"structure", + "members":{ + "position":{"shape":"String"}, + "items":{ + "shape":"ListOfRequestValidator", + "documentation":"

The current page of RequestValidator resources in the RequestValidators collection.

", + "locationName":"item" + } + }, + "documentation":"

A collection of RequestValidator resources of a given RestApi.

In Swagger, the RequestValidators of an API is defined by the x-amazon-apigateway-request-validators extension.

" + }, "Resource":{ "type":"structure", "members":{ @@ -4855,7 +5097,7 @@ }, "resourceMethods":{ "shape":"MapOfMethod", - "documentation":"

Gets an API resource's method of a given HTTP verb.

The resource methods are a map of methods indexed by methods' HTTP verbs enabled on the resource. This method map is included in the 200 OK response of the GET /restapis/{restapi_id}/resources/{resource_id} or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods request.

Example: Get the GET method of an API resource

Request
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160608T031827Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160608/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
{ \"_links\": { \"curies\": [ { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html\", \"name\": \"integration\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html\", \"name\": \"method\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true } ], \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\", \"name\": \"GET\", \"title\": \"GET\" }, \"integration:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"method:integration\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"method:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"methodresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}\", \"templated\": true } }, \"apiKeyRequired\": false, \"authorizationType\": \"NONE\", \"httpMethod\": \"GET\", \"_embedded\": { \"method:integration\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integration:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integrationresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}\", \"templated\": true } }, \"cacheKeyParameters\": [], \"cacheNamespace\": \"3kzxbg5sa2\", \"credentials\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"httpMethod\": \"POST\", \"passthroughBehavior\": \"WHEN_NO_MATCH\", \"requestParameters\": { \"integration.request.header.Content-Type\": \"'application/x-amz-json-1.1'\" }, \"requestTemplates\": { \"application/json\": \"{\\n}\" }, \"type\": \"AWS\", \"uri\": \"arn:aws:apigateway:us-east-1:kinesis:action/ListStreams\", \"_embedded\": { \"integration:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.Content-Type\": \"'application/xml'\" }, \"responseTemplates\": { \"application/json\": \"$util.urlDecode(\\\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\\\")\\n\" }, \"statusCode\": \"200\" } } }, \"method:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.Content-Type\": false }, \"statusCode\": \"200\" } } }

If the OPTIONS is enabled on the resource, you can follow the example here to get that method. Just replace the GET of the last path segment in the request URL with OPTIONS.

" + "documentation":"

Gets an API resource's method of a given HTTP verb.

The resource methods are a map of methods indexed by methods' HTTP verbs enabled on the resource. This method map is included in the 200 OK response of the GET /restapis/{restapi_id}/resources/{resource_id} or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods request.

Example: Get the GET method of an API resource

Request
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20170223T031827Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
{ \"_links\": { \"curies\": [ { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html\", \"name\": \"integration\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html\", \"name\": \"method\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true } ], \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\", \"name\": \"GET\", \"title\": \"GET\" }, \"integration:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"method:integration\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"method:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"methodresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}\", \"templated\": true } }, \"apiKeyRequired\": false, \"authorizationType\": \"NONE\", \"httpMethod\": \"GET\", \"_embedded\": { \"method:integration\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integration:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integrationresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}\", \"templated\": true } }, \"cacheKeyParameters\": [], \"cacheNamespace\": \"3kzxbg5sa2\", \"credentials\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"httpMethod\": \"POST\", \"passthroughBehavior\": \"WHEN_NO_MATCH\", \"requestParameters\": { \"integration.request.header.Content-Type\": \"'application/x-amz-json-1.1'\" }, \"requestTemplates\": { \"application/json\": \"{\\n}\" }, \"type\": \"AWS\", \"uri\": \"arn:aws:apigateway:us-east-1:kinesis:action/ListStreams\", \"_embedded\": { \"integration:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.Content-Type\": \"'application/xml'\" }, \"responseTemplates\": { \"application/json\": \"$util.urlDecode(\\\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\\\")\\n\" }, \"statusCode\": \"200\" } } }, \"method:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.Content-Type\": false }, \"statusCode\": \"200\" } } }

If the OPTIONS is enabled on the resource, you can follow the example here to get that method. Just replace the GET of the last path segment in the request URL with OPTIONS.

" } }, "documentation":"

Represents an API resource.

" @@ -4889,7 +5131,7 @@ }, "createdDate":{ "shape":"Timestamp", - "documentation":"

The date when the API was created, in ISO 8601 format.

" + "documentation":"

The timestamp when the API was created.

" }, "version":{ "shape":"String", @@ -5060,11 +5302,11 @@ }, "createdDate":{ "shape":"Timestamp", - "documentation":"

The date and time that the stage was created, in ISO 8601 format.

" + "documentation":"

The timestamp when the stage was created.

" }, "lastUpdatedDate":{ "shape":"Timestamp", - "documentation":"

The date and time that information about the stage was last updated, in ISO 8601 format.

" + "documentation":"

The timestamp when the stage last updated.

" } }, "documentation":"

Represents a unique identifier for a version of a deployed RestApi that is callable by users.

" @@ -5664,6 +5906,32 @@ }, "documentation":"

Request to update an existing model in an existing RestApi resource.

" }, + "UpdateRequestValidatorRequest":{ + "type":"structure", + "required":[ + "restApiId", + "requestValidatorId" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the RestApi for which the given RequestValidator is updated.

", + "location":"uri", + "locationName":"restapi_id" + }, + "requestValidatorId":{ + "shape":"String", + "documentation":"

[Required] The identifier of RequestValidator to be updated.

", + "location":"uri", + "locationName":"requestvalidator_id" + }, + "patchOperations":{ + "shape":"ListOfPatchOperation", + "documentation":"

A list of update operations to be applied to the specified resource and in the order specified in this list.

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

Updates a RequestValidator of a given RestApi.

" + }, "UpdateResourceRequest":{ "type":"structure", "required":[ diff --git a/botocore/data/application-autoscaling/2016-02-06/examples-1.json b/botocore/data/application-autoscaling/2016-02-06/examples-1.json new file mode 100644 index 00000000..53415ece --- /dev/null +++ b/botocore/data/application-autoscaling/2016-02-06/examples-1.json @@ -0,0 +1,257 @@ +{ + "version": "1.0", + "examples": { + "DeleteScalingPolicy": [ + { + "input": { + "PolicyName": "web-app-cpu-lt-25", + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes a scaling policy for the Amazon ECS service called web-app, which is running in the default cluster.", + "id": "to-delete-a-scaling-policy-1470863892689", + "title": "To delete a scaling policy" + } + ], + "DeregisterScalableTarget": [ + { + "input": { + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deregisters a scalable target for an Amazon ECS service called web-app that is running in the default cluster.", + "id": "to-deregister-a-scalable-target-1470864164895", + "title": "To deregister a scalable target" + } + ], + "DescribeScalableTargets": [ + { + "input": { + "ServiceNamespace": "ecs" + }, + "output": { + "ScalableTargets": [ + { + "CreationTime": "2016-05-06T11:21:46.199Z", + "MaxCapacity": 10, + "MinCapacity": 1, + "ResourceId": "service/default/web-app", + "RoleARN": "arn:aws:iam::012345678910:role/ApplicationAutoscalingECSRole", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the scalable targets for the ecs service namespace.", + "id": "to-describe-scalable-targets-1470864286961", + "title": "To describe scalable targets" + } + ], + "DescribeScalingActivities": [ + { + "input": { + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + }, + "output": { + "ScalingActivities": [ + { + "ActivityId": "e6c5f7d1-dbbb-4a3f-89b2-51f33e766399", + "Cause": "monitor alarm web-app-cpu-lt-25 in state ALARM triggered policy web-app-cpu-lt-25", + "Description": "Setting desired count to 1.", + "EndTime": "2016-05-06T16:04:32.111Z", + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs", + "StartTime": "2016-05-06T16:03:58.171Z", + "StatusCode": "Successful", + "StatusMessage": "Successfully set desired count to 1. Change successfully fulfilled by ecs." + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the scaling activities for an Amazon ECS service called web-app that is running in the default cluster.", + "id": "to-describe-scaling-activities-for-a-scalable-target-1470864398629", + "title": "To describe scaling activities for a scalable target" + } + ], + "DescribeScalingPolicies": [ + { + "input": { + "ServiceNamespace": "ecs" + }, + "output": { + "NextToken": "", + "ScalingPolicies": [ + { + "Alarms": [ + { + "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:web-app-cpu-gt-75", + "AlarmName": "web-app-cpu-gt-75" + } + ], + "CreationTime": "2016-05-06T12:11:39.230Z", + "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/web-app-cpu-gt-75", + "PolicyName": "web-app-cpu-gt-75", + "PolicyType": "StepScaling", + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs", + "StepScalingPolicyConfiguration": { + "AdjustmentType": "PercentChangeInCapacity", + "Cooldown": 60, + "StepAdjustments": [ + { + "MetricIntervalLowerBound": 0, + "ScalingAdjustment": 200 + } + ] + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the scaling policies for the ecs service namespace.", + "id": "to-describe-scaling-policies-1470864609734", + "title": "To describe scaling policies" + } + ], + "PutScalingPolicy": [ + { + "input": { + "PolicyName": "web-app-cpu-gt-75", + "PolicyType": "StepScaling", + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs", + "StepScalingPolicyConfiguration": { + "AdjustmentType": "PercentChangeInCapacity", + "Cooldown": 60, + "StepAdjustments": [ + { + "MetricIntervalLowerBound": 0, + "ScalingAdjustment": 200 + } + ] + } + }, + "output": { + "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/web-app-cpu-gt-75" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example applies a scaling policy to an Amazon ECS service called web-app in the default cluster. The policy increases the desired count of the service by 200%, with a cool down period of 60 seconds.", + "id": "to-apply-a-scaling-policy-to-an-amazon-ecs-service-1470864779862", + "title": "To apply a scaling policy to an Amazon ECS service" + }, + { + "input": { + "PolicyName": "fleet-cpu-gt-75", + "PolicyType": "StepScaling", + "ResourceId": "spot-fleet-request/sfr-45e69d8a-be48-4539-bbf3-3464e99c50c3", + "ScalableDimension": "ec2:spot-fleet-request:TargetCapacity", + "ServiceNamespace": "ec2", + "StepScalingPolicyConfiguration": { + "AdjustmentType": "PercentChangeInCapacity", + "Cooldown": 180, + "StepAdjustments": [ + { + "MetricIntervalLowerBound": 0, + "ScalingAdjustment": 200 + } + ] + } + }, + "output": { + "PolicyARN": "arn:aws:autoscaling:us-east-1:012345678910:scalingPolicy:89406401-0cb7-4130-b770-d97cca0e446b:resource/ec2/spot-fleet-request/sfr-45e69d8a-be48-4539-bbf3-3464e99c50c3:policyName/fleet-cpu-gt-75" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example applies a scaling policy to an Amazon EC2 Spot fleet. The policy increases the target capacity of the spot fleet by 200%, with a cool down period of 180 seconds.\",\n ", + "id": "to-apply-a-scaling-policy-to-an-amazon-ec2-spot-fleet-1472073278469", + "title": "To apply a scaling policy to an Amazon EC2 Spot fleet" + } + ], + "RegisterScalableTarget": [ + { + "input": { + "MaxCapacity": 10, + "MinCapacity": 1, + "ResourceId": "service/default/web-app", + "RoleARN": "arn:aws:iam::012345678910:role/ApplicationAutoscalingECSRole", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers a scalable target from an Amazon ECS service called web-app that is running on the default cluster, with a minimum desired count of 1 task and a maximum desired count of 10 tasks.", + "id": "to-register-a-new-scalable-target-1470864910380", + "title": "To register an ECS service as a scalable target" + }, + { + "input": { + "MaxCapacity": 10, + "MinCapacity": 1, + "ResourceId": "spot-fleet-request/sfr-45e69d8a-be48-4539-bbf3-3464e99c50c3", + "RoleARN": "arn:aws:iam::012345678910:role/ApplicationAutoscalingSpotRole", + "ScalableDimension": "ec2:spot-fleet-request:TargetCapacity", + "ServiceNamespace": "ec2" + }, + "output": { + }, + "comments": { + }, + "description": "This example registers a scalable target from an Amazon EC2 Spot fleet with a minimum target capacity of 1 and a maximum of 10.", + "id": "to-register-an-ec2-spot-fleet-as-a-scalable-target-1472072899649", + "title": "To register an EC2 Spot fleet as a scalable target" + } + ] + } +} diff --git a/botocore/data/application-autoscaling/2016-02-06/service-2.json b/botocore/data/application-autoscaling/2016-02-06/service-2.json index 443e0d6d..679c1b1f 100644 --- a/botocore/data/application-autoscaling/2016-02-06/service-2.json +++ b/botocore/data/application-autoscaling/2016-02-06/service-2.json @@ -106,6 +106,7 @@ {"shape":"LimitExceededException"}, {"shape":"ObjectNotFoundException"}, {"shape":"ConcurrentUpdateException"}, + {"shape":"FailedResourceAccessException"}, {"shape":"InternalServiceException"} ], "documentation":"

Creates or updates a policy for an Application Auto Scaling scalable target.

Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scaling policy applies to the scalable target identified by those three attributes. You cannot create a scaling policy without first registering a scalable target using RegisterScalableTarget.

To update a policy, specify its policy name and the parameters that you want to change. Any parameters that you don't specify are not changed by this update request.

You can view the scaling policies for a service namespace using DescribeScalingPolicies. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy.

" @@ -167,6 +168,37 @@ "exception":true }, "Cooldown":{"type":"integer"}, + "CustomizedMetricSpecification":{ + "type":"structure", + "required":[ + "MetricName", + "Namespace", + "Statistic" + ], + "members":{ + "MetricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric.

" + }, + "Namespace":{ + "shape":"MetricNamespace", + "documentation":"

The namespace of the metric.

" + }, + "Dimensions":{ + "shape":"MetricDimensions", + "documentation":"

The dimensions of the metric.

" + }, + "Statistic":{ + "shape":"MetricStatistic", + "documentation":"

The statistic of the metric.

" + }, + "Unit":{ + "shape":"MetricUnit", + "documentation":"

The unit of the metric.

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

Configures a customized metric for a target tracking policy.

" + }, "DeleteScalingPolicyRequest":{ "type":"structure", "required":[ @@ -186,11 +218,11 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

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

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

" } } }, @@ -213,11 +245,11 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

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

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

" } } }, @@ -236,11 +268,11 @@ }, "ResourceIds":{ "shape":"ResourceIdsMaxLen1600", - "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

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

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

" }, "MaxResults":{ "shape":"MaxResults", @@ -275,11 +307,11 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

" + "documentation":"

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

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

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

" }, "MaxResults":{ "shape":"MaxResults", @@ -318,11 +350,11 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

" + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

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

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

" }, "MaxResults":{ "shape":"MaxResults", @@ -353,7 +385,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Failed access to resources caused an exception. This exception currently only applies to DescribeScalingPolicies. It is thrown when Application Auto Scaling is unable to retrieve the alarms associated with a scaling policy due to a client error, for example, if the role ARN specified for a scalable target does not have the proper permissions to call the CloudWatch DescribeAlarms API operation on behalf of your account.

", + "documentation":"

Failed access to resources caused an exception. This exception is thrown when Application Auto Scaling is unable to retrieve the alarms associated with a scaling policy due to a client error, for example, if the role ARN specified for a scalable target does not have permission to call the CloudWatch DescribeAlarms API operation on behalf of your account.

", "exception":true }, "InternalServiceException":{ @@ -389,7 +421,51 @@ "Maximum" ] }, + "MetricDimension":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"MetricDimensionName", + "documentation":"

The name of the dimension.

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

The value of the dimension.

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

Describes the dimension of a metric.

" + }, + "MetricDimensionName":{"type":"string"}, + "MetricDimensionValue":{"type":"string"}, + "MetricDimensions":{ + "type":"list", + "member":{"shape":"MetricDimension"} + }, + "MetricName":{"type":"string"}, + "MetricNamespace":{"type":"string"}, "MetricScale":{"type":"double"}, + "MetricStatistic":{ + "type":"string", + "enum":[ + "Average", + "Minimum", + "Maximum", + "SampleCount", + "Sum" + ] + }, + "MetricType":{ + "type":"string", + "enum":[ + "DynamoDBReadCapacityUtilization", + "DynamoDBWriteCapacityUtilization" + ] + }, + "MetricUnit":{"type":"string"}, "MinAdjustmentMagnitude":{"type":"integer"}, "ObjectNotFoundException":{ "type":"structure", @@ -407,7 +483,25 @@ }, "PolicyType":{ "type":"string", - "enum":["StepScaling"] + "enum":[ + "StepScaling", + "TargetTrackingScaling" + ] + }, + "PredefinedMetricSpecification":{ + "type":"structure", + "required":["PredefinedMetricType"], + "members":{ + "PredefinedMetricType":{ + "shape":"MetricType", + "documentation":"

The metric type.

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

Reserved for future use.

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

Configures a predefined metric for a target tracking policy.

" }, "PutScalingPolicyRequest":{ "type":"structure", @@ -428,19 +522,23 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

" + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

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

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

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

The policy type. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required.

" + "documentation":"

The policy type. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required.

For DynamoDB, only TargetTrackingScaling is supported. For any other service, only StepScaling is supported.

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

The configuration for the step scaling policy. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required. For more information, see StepScalingPolicyConfiguration and StepAdjustment.

" + "documentation":"

A step scaling policy.

This parameter is required if you are creating a policy and the policy type is StepScaling.

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

A target tracking policy.

This parameter is required if you are creating a new policy and the policy type is TargetTrackingScaling.

" } } }, @@ -451,6 +549,10 @@ "PolicyARN":{ "shape":"ResourceIdMaxLen1600", "documentation":"

The Amazon Resource Name (ARN) of the resulting scaling policy.

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

The CloudWatch alarms created for the target tracking policy.

" } } }, @@ -468,11 +570,11 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

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

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

" }, "MinCapacity":{ "shape":"ResourceCapacity", @@ -508,12 +610,22 @@ "type":"list", "member":{"shape":"ResourceIdMaxLen1600"} }, + "ResourceLabel":{ + "type":"string", + "max":1023, + "min":1 + }, "ScalableDimension":{ "type":"string", "enum":[ "ecs:service:DesiredCount", "ec2:spot-fleet-request:TargetCapacity", - "elasticmapreduce:instancegroup:InstanceCount" + "elasticmapreduce:instancegroup:InstanceCount", + "appstream:fleet:DesiredCapacity", + "dynamodb:table:ReadCapacityUnits", + "dynamodb:table:WriteCapacityUnits", + "dynamodb:index:ReadCapacityUnits", + "dynamodb:index:WriteCapacityUnits" ] }, "ScalableTarget":{ @@ -534,11 +646,11 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

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

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

" }, "MinCapacity":{ "shape":"ResourceCapacity", @@ -590,11 +702,11 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

" + "documentation":"

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

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

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

" }, "Description":{ "shape":"XmlString", @@ -669,11 +781,11 @@ }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

" + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

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

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

" }, "PolicyType":{ "shape":"PolicyType", @@ -681,7 +793,11 @@ }, "StepScalingPolicyConfiguration":{ "shape":"StepScalingPolicyConfiguration", - "documentation":"

The configuration for the step scaling policy.

" + "documentation":"

A step scaling policy.

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

A target tracking policy.

" }, "Alarms":{ "shape":"Alarms", @@ -699,7 +815,9 @@ "enum":[ "ecs", "elasticmapreduce", - "ec2" + "ec2", + "appstream", + "dynamodb" ] }, "StepAdjustment":{ @@ -742,7 +860,7 @@ }, "Cooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events.

For scale out policies, while Cooldown is in effect, the capacity that has been added by the previous scale out event that initiated the Cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out. For example, an alarm triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, the scaling activity completes successfully, and a Cooldown period of 5 minutes starts. During the Cooldown period, if the alarm triggers the same policy again but at a more aggressive step adjustment to scale out the service by 3 tasks, the 2 tasks that were added in the previous scale out event are considered part of that capacity and only 1 additional task is added to the desired count.

For scale in policies, the Cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the Cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.

" + "documentation":"

The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events.

For scale out policies, while the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out. For example, an alarm triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, the scaling activity completes successfully, and a cooldown period of 5 minutes starts. During the Cooldown period, if the alarm triggers the same policy again but at a more aggressive step adjustment to scale out the service by 3 tasks, the 2 tasks that were added in the previous scale out event are considered part of that capacity and only 1 additional task is added to the desired count.

For scale in policies, the cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.

" }, "MetricAggregationType":{ "shape":"MetricAggregationType", @@ -751,6 +869,33 @@ }, "documentation":"

Represents a step scaling policy configuration.

" }, + "TargetTrackingScalingPolicyConfiguration":{ + "type":"structure", + "required":["TargetValue"], + "members":{ + "TargetValue":{ + "shape":"MetricScale", + "documentation":"

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

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

A predefined metric.

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

Reserved for future use.

" + }, + "ScaleOutCooldown":{ + "shape":"Cooldown", + "documentation":"

The amount of time, in seconds, after a scale out activity completes before another scale out activity can start.

While the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out.

" + }, + "ScaleInCooldown":{ + "shape":"Cooldown", + "documentation":"

The amount of time, in seconds, after a scale in activity completes before another scale in activity can start.

The cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.

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

Represents a target tracking scaling policy configuration.

" + }, "TimestampType":{"type":"timestamp"}, "ValidationException":{ "type":"structure", @@ -765,5 +910,5 @@ "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" } }, - "documentation":"

With Application Auto Scaling, you can automatically scale your AWS resources. The experience similar to that of Auto Scaling. You can use Application Auto Scaling to accomplish the following tasks:

  • Define scaling policies to automatically scale your AWS resources

  • Scale your resources in response to CloudWatch alarms

  • View the history of your scaling events

Application Auto Scaling can scale the following AWS resources:

For a list of supported regions, see AWS Regions and Endpoints: Application Auto Scaling in the AWS General Reference.

" + "documentation":"

With Application Auto Scaling, you can automatically scale your AWS resources. The experience similar to that of Auto Scaling. You can use Application Auto Scaling to accomplish the following tasks:

  • Define scaling policies to automatically scale your AWS resources

  • Scale your resources in response to CloudWatch alarms

  • View the history of your scaling events

Application Auto Scaling can scale the following AWS resources:

For a list of supported regions, see AWS Regions and Endpoints: Application Auto Scaling in the AWS General Reference.

" } diff --git a/botocore/data/appstream/2016-12-01/examples-1.json b/botocore/data/appstream/2016-12-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/appstream/2016-12-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/appstream/2016-12-01/paginators-1.json b/botocore/data/appstream/2016-12-01/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/appstream/2016-12-01/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/appstream/2016-12-01/service-2.json b/botocore/data/appstream/2016-12-01/service-2.json index f4a814e3..1f0ce616 100644 --- a/botocore/data/appstream/2016-12-01/service-2.json +++ b/botocore/data/appstream/2016-12-01/service-2.json @@ -22,7 +22,9 @@ "output":{"shape":"AssociateFleetResult"}, "errors":[ {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"IncompatibleImageException"} ], "documentation":"

Associate a fleet to a stack.

" }, @@ -39,7 +41,8 @@ {"shape":"ResourceNotAvailableException"}, {"shape":"ResourceNotFoundException"}, {"shape":"LimitExceededException"}, - {"shape":"InvalidRoleException"} + {"shape":"InvalidRoleException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Creates a new fleet.

" }, @@ -53,7 +56,11 @@ "output":{"shape":"CreateStackResult"}, "errors":[ {"shape":"LimitExceededException"}, - {"shape":"ResourceAlreadyExistsException"} + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRoleException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterCombinationException"} ], "documentation":"

Create a new stack.

" }, @@ -68,7 +75,8 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceNotAvailableException"}, - {"shape":"OperationNotPermittedException"} + {"shape":"OperationNotPermittedException"}, + {"shape":"InvalidParameterCombinationException"} ], "documentation":"

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.

" }, @@ -82,7 +90,8 @@ "output":{"shape":"DeleteFleetResult"}, "errors":[ {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Deletes a fleet.

" }, @@ -96,7 +105,8 @@ "output":{"shape":"DeleteStackResult"}, "errors":[ {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Deletes the stack. After this operation completes, the environment can no longer be activated, and any reservations made for the stack are released.

" }, @@ -134,7 +144,10 @@ }, "input":{"shape":"DescribeSessionsRequest"}, "output":{"shape":"DescribeSessionsResult"}, - "documentation":"

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 nextToken parameter in a subsequent call to this operation to retrieve the next set of items.

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

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

" }, "DescribeStacks":{ "name":"DescribeStacks", @@ -159,7 +172,8 @@ "output":{"shape":"DisassociateFleetResult"}, "errors":[ {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Disassociates a fleet from a stack.

" }, @@ -203,7 +217,9 @@ "output":{"shape":"StartFleetResult"}, "errors":[ {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"} + {"shape":"OperationNotPermittedException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Starts a fleet.

" }, @@ -216,7 +232,8 @@ "input":{"shape":"StopFleetRequest"}, "output":{"shape":"StopFleetResult"}, "errors":[ - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Stops a fleet.

" }, @@ -232,9 +249,13 @@ {"shape":"ResourceInUseException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidRoleException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotAvailableException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"IncompatibleImageException"} ], - "documentation":"

Updates an existing fleet. All the attributes except the fleet name can be updated in the STOPPED state. Only ComputeCapacity and ImageName can be updated in any other state.

" + "documentation":"

Updates an existing fleet. All the attributes except the fleet name can be updated in the STOPPED state. When a fleet is in the RUNNING state, only DisplayName and ComputeCapacity can be updated. A fleet cannot be updated in a status of STARTING or STOPPING.

" }, "UpdateStack":{ "name":"UpdateStack", @@ -246,7 +267,11 @@ "output":{"shape":"UpdateStackResult"}, "errors":[ {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"} + {"shape":"ResourceInUseException"}, + {"shape":"InvalidRoleException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"LimitExceededException"}, + {"shape":"IncompatibleImageException"} ], "documentation":"

Updates the specified fields in the stack with the specified name.

" } @@ -281,7 +306,7 @@ }, "Metadata":{ "shape":"Metadata", - "documentation":"

Additional attributes that describes the application.

" + "documentation":"

Additional attributes that describe the application.

" } }, "documentation":"

An entry for a single application in the application catalog.

" @@ -316,7 +341,16 @@ "members":{ } }, + "AuthenticationType":{ + "type":"string", + "enum":[ + "API", + "SAML", + "USERPOOL" + ] + }, "Boolean":{"type":"boolean"}, + "BooleanObject":{"type":"boolean"}, "ComputeCapacity":{ "type":"structure", "required":["DesiredInstances"], @@ -351,6 +385,14 @@ }, "documentation":"

The capacity information for the fleet.

" }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An API error occurred. Wait a few minutes and try again.

", + "exception":true + }, "CreateFleetRequest":{ "type":"structure", "required":[ @@ -382,11 +424,11 @@ }, "MaxUserDurationInSeconds":{ "shape":"Integer", - "documentation":"

The maximum time up to which a streaming session can run.

" + "documentation":"

The maximum time for which a streaming session can run. The input can be any numeric value in seconds between 600 and 57600.

" }, "DisconnectTimeoutInSeconds":{ "shape":"Integer", - "documentation":"

The time after disconnection when a session is considered to have ended. If a user who got disconnected reconnects within this timeout interval, the user is connected back to his/her previous session.

" + "documentation":"

The time after disconnection when a session is considered to have ended. If a user who got disconnected reconnects within this timeout interval, the user is connected back to their previous session. The input can be any numeric value in seconds between 60 and 57600.

" }, "Description":{ "shape":"Description", @@ -395,6 +437,10 @@ "DisplayName":{ "shape":"DisplayName", "documentation":"

The display name of the fleet.

" + }, + "EnableDefaultInternetAccess":{ + "shape":"BooleanObject", + "documentation":"

Enables or disables default Internet access for the fleet.

" } }, "documentation":"

Contains the parameters for the new fleet to create.

" @@ -423,6 +469,10 @@ "DisplayName":{ "shape":"DisplayName", "documentation":"

The name displayed to end users on the AppStream 2.0 portal.

" + }, + "StorageConnectors":{ + "shape":"StorageConnectorList", + "documentation":"

The storage connectors to be enabled for the stack.

" } } }, @@ -461,7 +511,7 @@ }, "Validity":{ "shape":"Long", - "documentation":"

The validity duration of the URL in seconds. After this duration, the URL returned by this operation becomes invalid.

" + "documentation":"

The duration up to which the URL returned by this action is valid. The input can be any numeric value in seconds between 1 and 604800 seconds.

" }, "SessionContext":{ "shape":"String", @@ -582,6 +632,10 @@ "Limit":{ "shape":"Integer", "documentation":"

The size of each page of results. The default value is 20 and the maximum supported value is 50.

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

The authentication method of the user. It can be API for a user authenticated using a streaming URL, or SAML for a SAML federated user. If an authentication type is not provided, the operation defaults to users authenticated using a streaming URL.

" } } }, @@ -654,7 +708,10 @@ "type":"string", "max":100 }, - "ErrorMessage":{"type":"string"}, + "ErrorMessage":{ + "type":"string", + "documentation":"

The error message in the exception.

" + }, "ExpireSessionRequest":{ "type":"structure", "required":["SessionId"], @@ -711,11 +768,11 @@ }, "MaxUserDurationInSeconds":{ "shape":"Integer", - "documentation":"

The maximum time during which a streaming session can run.

" + "documentation":"

The maximum time for which a streaming session can run. The value can be any numeric value in seconds between 600 and 57600.

" }, "DisconnectTimeoutInSeconds":{ "shape":"Integer", - "documentation":"

The time after disconnection when a session is considered to have ended. When a user reconnects after a disconnection, the user is connected to the same session and instance within this time interval.

" + "documentation":"

The time after disconnection when a session is considered to have ended. If a user who got disconnected reconnects within this timeout interval, the user is connected back to their previous session. The input can be any numeric value in seconds between 60 and 57600.

" }, "State":{ "shape":"FleetState", @@ -732,10 +789,27 @@ "FleetErrors":{ "shape":"FleetErrors", "documentation":"

The list of fleet errors is appended to this list.

" + }, + "EnableDefaultInternetAccess":{ + "shape":"BooleanObject", + "documentation":"

Whether default Internet access is enabled for the fleet.

" } }, "documentation":"

Contains the parameters for a fleet.

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

Fleet attribute.

", + "enum":[ + "VPC_CONFIGURATION", + "VPC_CONFIGURATION_SECURITY_GROUP_IDS" + ] + }, + "FleetAttributes":{ + "type":"list", + "member":{"shape":"FleetAttribute"}, + "documentation":"

A list of fleet attributes.

" + }, "FleetError":{ "type":"structure", "members":{ @@ -812,6 +886,10 @@ "shape":"VisibilityType", "documentation":"

The visibility of an image to the user; images can be public or private.

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

Whether an image builder can be launched from this image.

" + }, "Platform":{ "shape":"PlatformType", "documentation":"

The operating system platform of the image.

" @@ -831,6 +909,10 @@ "CreatedTime":{ "shape":"Timestamp", "documentation":"

The timestamp when the image was created.

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

The AWS release date of the public base image. For private images, this date is the release date of the base image from which the image was created.

" } }, "documentation":"

New streaming instances are booted from images. The image stores the application catalog and is connected to fleets.

" @@ -869,7 +951,23 @@ "IMAGE_BUILDER_NOT_AVAILABLE" ] }, + "IncompatibleImageException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The image does not support storage connectors.

", + "exception":true + }, "Integer":{"type":"integer"}, + "InvalidParameterCombinationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Indicates an incorrect combination of parameters, or a missing parameter.

", + "exception":true + }, "InvalidRoleException":{ "type":"structure", "members":{ @@ -972,6 +1070,11 @@ "documentation":"

The specified resource already exists.

", "exception":true }, + "ResourceIdentifier":{ + "type":"string", + "documentation":"

The ARN of the resource.

", + "min":1 + }, "ResourceInUseException":{ "type":"structure", "members":{ @@ -996,6 +1099,12 @@ "documentation":"

The specified resource was not found.

", "exception":true }, + "SecurityGroupIdList":{ + "type":"list", + "member":{"shape":"String"}, + "documentation":"

A list of security groups.

", + "max":5 + }, "Session":{ "type":"structure", "required":[ @@ -1025,6 +1134,10 @@ "State":{ "shape":"SessionState", "documentation":"

The current state of the streaming session.

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

The authentication method of the user for whom the session was created. It can be API for a user authenticated using a streaming URL or SAML for a SAML federated user.

" } }, "documentation":"

Contains the parameters for a streaming session.

" @@ -1066,10 +1179,44 @@ "CreatedTime":{ "shape":"Timestamp", "documentation":"

The timestamp when the stack was created.

" + }, + "StorageConnectors":{ + "shape":"StorageConnectorList", + "documentation":"

The storage connectors to be enabled for the stack.

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

The list of errors associated with the stack.

" } }, "documentation":"

Details about a stack.

" }, + "StackError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"StackErrorCode", + "documentation":"

The error code of a stack error.

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

The error message of a stack error.

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

Contains the parameters for a stack error.

" + }, + "StackErrorCode":{ + "type":"string", + "enum":[ + "STORAGE_CONNECTOR_ERROR", + "INTERNAL_SERVICE_ERROR" + ] + }, + "StackErrors":{ + "type":"list", + "member":{"shape":"StackError"}, + "documentation":"

A list of stack errors.

" + }, "StackList":{ "type":"list", "member":{"shape":"Stack"}, @@ -1105,6 +1252,31 @@ "members":{ } }, + "StorageConnector":{ + "type":"structure", + "required":["ConnectorType"], + "members":{ + "ConnectorType":{ + "shape":"StorageConnectorType", + "documentation":"

The type of storage connector. The possible values include: HOMEFOLDERS.

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

The ARN associated with the storage connector.

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

Contains the parameters for a storage connector.

" + }, + "StorageConnectorList":{ + "type":"list", + "member":{"shape":"StorageConnector"}, + "documentation":"

A list of storage connectors.

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

The type of storage connector. The possible values include: HOMEFOLDERS.

", + "enum":["HOMEFOLDERS"] + }, "String":{ "type":"string", "min":1 @@ -1116,8 +1288,7 @@ "SubnetIdList":{ "type":"list", "member":{"shape":"String"}, - "documentation":"

A list of subnet IDs.

", - "min":1 + "documentation":"

A list of subnet IDs.

" }, "Timestamp":{"type":"timestamp"}, "UpdateFleetRequest":{ @@ -1146,15 +1317,16 @@ }, "MaxUserDurationInSeconds":{ "shape":"Integer", - "documentation":"

The maximum time during which a streaming session can run.

" + "documentation":"

The maximum time for which a streaming session can run. The input can be any numeric value in seconds between 600 and 57600.

" }, "DisconnectTimeoutInSeconds":{ "shape":"Integer", - "documentation":"

The time after disconnection when a session is considered to have ended. When the user reconnects after a disconnection, the user is connected to the same instance within this time interval.

" + "documentation":"

The time after disconnection when a session is considered to have ended. If a user who got disconnected reconnects within this timeout interval, the user is connected back to their previous session. The input can be any numeric value in seconds between 60 and 57600.

" }, "DeleteVpcConfig":{ "shape":"Boolean", - "documentation":"

Delete the VPC association for the specified fleet.

" + "documentation":"

Delete the VPC association for the specified fleet.

", + "deprecated":true }, "Description":{ "shape":"Description", @@ -1163,6 +1335,14 @@ "DisplayName":{ "shape":"DisplayName", "documentation":"

The name displayed to end users on the AppStream 2.0 portal.

" + }, + "EnableDefaultInternetAccess":{ + "shape":"BooleanObject", + "documentation":"

Enables or disables default Internet access for the fleet.

" + }, + "AttributesToDelete":{ + "shape":"FleetAttributes", + "documentation":"

Fleet attributes to be deleted.

" } } }, @@ -1190,6 +1370,14 @@ "Name":{ "shape":"String", "documentation":"

The name of the stack to update.

" + }, + "StorageConnectors":{ + "shape":"StorageConnectorList", + "documentation":"

The storage connectors to be enabled for the stack.

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

Remove all the storage connectors currently enabled for the stack.

" } } }, @@ -1216,14 +1404,17 @@ }, "VpcConfig":{ "type":"structure", - "required":["SubnetIds"], "members":{ "SubnetIds":{ "shape":"SubnetIdList", "documentation":"

The list of subnets to which a network interface is established from the fleet instance.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdList", + "documentation":"

Security groups associated with the fleet.

" } }, - "documentation":"

The VPC in which the fleet is launched.

" + "documentation":"

VPC configuration information.

" } }, "documentation":"Amazon AppStream 2.0

API documentation for Amazon AppStream 2.0.

" diff --git a/botocore/data/athena/2017-05-18/paginators-1.json b/botocore/data/athena/2017-05-18/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/athena/2017-05-18/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/athena/2017-05-18/service-2.json b/botocore/data/athena/2017-05-18/service-2.json new file mode 100644 index 00000000..c2d47896 --- /dev/null +++ b/botocore/data/athena/2017-05-18/service-2.json @@ -0,0 +1,873 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-05-18", + "endpointPrefix":"athena", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Athena", + "signatureVersion":"v4", + "targetPrefix":"AmazonAthena", + "uid":"athena-2017-05-18" + }, + "operations":{ + "BatchGetNamedQuery":{ + "name":"BatchGetNamedQuery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetNamedQueryInput"}, + "output":{"shape":"BatchGetNamedQueryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns the details of a single named query or a list of up to 50 queries, which you provide as an array of query ID strings. Use ListNamedQueries to get the list of named query IDs. If information could not be retrieved for a submitted query ID, information about the query ID submitted is listed under UnprocessedNamedQueryId. Named queries are different from executed queries. Use BatchGetQueryExecution to get details about each unique query execution, and ListQueryExecutions to get a list of query execution IDs.

" + }, + "BatchGetQueryExecution":{ + "name":"BatchGetQueryExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetQueryExecutionInput"}, + "output":{"shape":"BatchGetQueryExecutionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns the details of a single query execution or a list of up to 50 query executions, which you provide as an array of query execution ID strings. To get a list of query execution IDs, use ListQueryExecutions. Query executions are different from named (saved) queries. Use BatchGetNamedQuery to get details about named queries.

" + }, + "CreateNamedQuery":{ + "name":"CreateNamedQuery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNamedQueryInput"}, + "output":{"shape":"CreateNamedQueryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Creates a named query.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "idempotent":true + }, + "DeleteNamedQuery":{ + "name":"DeleteNamedQuery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNamedQueryInput"}, + "output":{"shape":"DeleteNamedQueryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes a named query.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "idempotent":true + }, + "GetNamedQuery":{ + "name":"GetNamedQuery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNamedQueryInput"}, + "output":{"shape":"GetNamedQueryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns information about a single query.

" + }, + "GetQueryExecution":{ + "name":"GetQueryExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQueryExecutionInput"}, + "output":{"shape":"GetQueryExecutionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns information about a single execution of a query. Each time a query executes, information about the query execution is saved with a unique ID.

" + }, + "GetQueryResults":{ + "name":"GetQueryResults", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQueryResultsInput"}, + "output":{"shape":"GetQueryResultsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns the results of a single query execution specified by QueryExecutionId. This request does not execute the query but returns results. Use StartQueryExecution to run a query.

" + }, + "ListNamedQueries":{ + "name":"ListNamedQueries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListNamedQueriesInput"}, + "output":{"shape":"ListNamedQueriesOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Provides a list of all available query IDs.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

" + }, + "ListQueryExecutions":{ + "name":"ListQueryExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListQueryExecutionsInput"}, + "output":{"shape":"ListQueryExecutionsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Provides a list of all available query execution IDs.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

" + }, + "StartQueryExecution":{ + "name":"StartQueryExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartQueryExecutionInput"}, + "output":{"shape":"StartQueryExecutionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Runs (executes) the SQL query statements contained in the Query string.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "idempotent":true + }, + "StopQueryExecution":{ + "name":"StopQueryExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopQueryExecutionInput"}, + "output":{"shape":"StopQueryExecutionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Stops a query execution.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "idempotent":true + } + }, + "shapes":{ + "BatchGetNamedQueryInput":{ + "type":"structure", + "required":["NamedQueryIds"], + "members":{ + "NamedQueryIds":{ + "shape":"NamedQueryIdList", + "documentation":"

An array of query IDs.

" + } + } + }, + "BatchGetNamedQueryOutput":{ + "type":"structure", + "members":{ + "NamedQueries":{ + "shape":"NamedQueryList", + "documentation":"

Information about the named query IDs submitted.

" + }, + "UnprocessedNamedQueryIds":{ + "shape":"UnprocessedNamedQueryIdList", + "documentation":"

Information about provided query IDs.

" + } + } + }, + "BatchGetQueryExecutionInput":{ + "type":"structure", + "required":["QueryExecutionIds"], + "members":{ + "QueryExecutionIds":{ + "shape":"QueryExecutionIdList", + "documentation":"

An array of query execution IDs.

" + } + } + }, + "BatchGetQueryExecutionOutput":{ + "type":"structure", + "members":{ + "QueryExecutions":{ + "shape":"QueryExecutionList", + "documentation":"

Information about a query execution.

" + }, + "UnprocessedQueryExecutionIds":{ + "shape":"UnprocessedQueryExecutionIdList", + "documentation":"

Information about the query executions that failed to run.

" + } + } + }, + "Boolean":{"type":"boolean"}, + "ColumnInfo":{ + "type":"structure", + "required":[ + "Name", + "Type" + ], + "members":{ + "CatalogName":{ + "shape":"String", + "documentation":"

The catalog to which the query results belong.

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

The schema name (database name) to which the query results belong.

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

The table name for the query results.

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

The name of the column.

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

A column label.

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

The data type of the column.

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

For DECIMAL data types, specifies the total number of digits, up to 38. For performance reasons, we recommend up to 18 digits.

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

For DECIMAL data types, specifies the total number of digits in the fractional part of the value. Defaults to 0.

" + }, + "Nullable":{ + "shape":"ColumnNullable", + "documentation":"

Indicates the column's nullable status.

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

Indicates whether values in the column are case-sensitive.

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

Information about the columns in a query execution result.

" + }, + "ColumnInfoList":{ + "type":"list", + "member":{"shape":"ColumnInfo"} + }, + "ColumnNullable":{ + "type":"string", + "enum":[ + "NOT_NULL", + "NULLABLE", + "UNKNOWN" + ] + }, + "CreateNamedQueryInput":{ + "type":"structure", + "required":[ + "Name", + "Database", + "QueryString" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The plain language name for the query.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A brief explanation of the query.

" + }, + "Database":{ + "shape":"DatabaseString", + "documentation":"

The database to which the query belongs.

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

The text of the query itself. In other words, all query statements.

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

A unique case-sensitive string used to ensure the request to create the query is idempotent (executes only once). If another CreateNamedQuery request is received, the same response is returned and another query is not created. If a parameter has changed, for example, the QueryString, an error is returned.

This token is listed as not required because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS CLI, you must provide this token or the action will fail.

", + "idempotencyToken":true + } + } + }, + "CreateNamedQueryOutput":{ + "type":"structure", + "members":{ + "NamedQueryId":{ + "shape":"NamedQueryId", + "documentation":"

The unique ID of the query.

" + } + } + }, + "DatabaseString":{ + "type":"string", + "max":32, + "min":1 + }, + "Date":{"type":"timestamp"}, + "Datum":{ + "type":"structure", + "members":{ + "VarCharValue":{ + "shape":"datumString", + "documentation":"

The value of the datum.

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

A piece of data (a field in the table).

" + }, + "DeleteNamedQueryInput":{ + "type":"structure", + "required":["NamedQueryId"], + "members":{ + "NamedQueryId":{ + "shape":"NamedQueryId", + "documentation":"

The unique ID of the query to delete.

", + "idempotencyToken":true + } + } + }, + "DeleteNamedQueryOutput":{ + "type":"structure", + "members":{ + } + }, + "DescriptionString":{ + "type":"string", + "max":1024, + "min":1 + }, + "EncryptionConfiguration":{ + "type":"structure", + "required":["EncryptionOption"], + "members":{ + "EncryptionOption":{ + "shape":"EncryptionOption", + "documentation":"

Indicates whether Amazon S3 server-side encryption with Amazon S3-managed keys (SSE-S3), server-side encryption with KMS-managed keys (SSE-KMS), or client-side encryption with KMS-managed keys (CSE-KMS) is used.

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

For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.

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

If query results are encrypted in Amazon S3, indicates the Amazon S3 encryption option used.

" + }, + "EncryptionOption":{ + "type":"string", + "enum":[ + "SSE_S3", + "SSE_KMS", + "CSE_KMS" + ] + }, + "ErrorCode":{ + "type":"string", + "max":256, + "min":1 + }, + "ErrorMessage":{"type":"string"}, + "GetNamedQueryInput":{ + "type":"structure", + "required":["NamedQueryId"], + "members":{ + "NamedQueryId":{ + "shape":"NamedQueryId", + "documentation":"

The unique ID of the query. Use ListNamedQueries to get query IDs.

" + } + } + }, + "GetNamedQueryOutput":{ + "type":"structure", + "members":{ + "NamedQuery":{ + "shape":"NamedQuery", + "documentation":"

Information about the query.

" + } + } + }, + "GetQueryExecutionInput":{ + "type":"structure", + "required":["QueryExecutionId"], + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique ID of the query execution.

" + } + } + }, + "GetQueryExecutionOutput":{ + "type":"structure", + "members":{ + "QueryExecution":{ + "shape":"QueryExecution", + "documentation":"

Information about the query execution.

" + } + } + }, + "GetQueryResultsInput":{ + "type":"structure", + "required":["QueryExecutionId"], + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique ID of the query execution.

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

The token that specifies where to start pagination if a previous request was truncated.

" + }, + "MaxResults":{ + "shape":"MaxQueryResults", + "documentation":"

The maximum number of results (rows) to return in this request.

" + } + } + }, + "GetQueryResultsOutput":{ + "type":"structure", + "members":{ + "ResultSet":{ + "shape":"ResultSet", + "documentation":"

The results of the query execution.

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

A token to be used by the next request if this request is truncated.

" + } + } + }, + "IdempotencyToken":{ + "type":"string", + "max":128, + "min":32 + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Indicates a platform issue, which may be due to a transient condition or outage.

", + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "AthenaErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Indicates that something is wrong with the input to the request. For example, a required parameter may be missing or out of range.

", + "exception":true + }, + "ListNamedQueriesInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

The token that specifies where to start pagination if a previous request was truncated.

" + }, + "MaxResults":{ + "shape":"MaxNamedQueriesCount", + "documentation":"

The maximum number of queries to return in this request.

" + } + } + }, + "ListNamedQueriesOutput":{ + "type":"structure", + "members":{ + "NamedQueryIds":{ + "shape":"NamedQueryIdList", + "documentation":"

The list of unique query IDs.

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

A token to be used by the next request if this request is truncated.

" + } + } + }, + "ListQueryExecutionsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

The token that specifies where to start pagination if a previous request was truncated.

" + }, + "MaxResults":{ + "shape":"MaxQueryExecutionsCount", + "documentation":"

The maximum number of query executions to return in this request.

" + } + } + }, + "ListQueryExecutionsOutput":{ + "type":"structure", + "members":{ + "QueryExecutionIds":{ + "shape":"QueryExecutionIdList", + "documentation":"

The unique IDs of each query execution as an array of strings.

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

A token to be used by the next request if this request is truncated.

" + } + } + }, + "Long":{"type":"long"}, + "MaxNamedQueriesCount":{ + "type":"integer", + "box":true, + "max":50, + "min":0 + }, + "MaxQueryExecutionsCount":{ + "type":"integer", + "box":true, + "max":50, + "min":0 + }, + "MaxQueryResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":0 + }, + "NameString":{ + "type":"string", + "max":128, + "min":1 + }, + "NamedQuery":{ + "type":"structure", + "required":[ + "Name", + "Database", + "QueryString" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The plain-language name of the query.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A brief description of the query.

" + }, + "Database":{ + "shape":"DatabaseString", + "documentation":"

The database to which the query belongs.

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

The SQL query statements that comprise the query.

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

The unique identifier of the query.

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

A query, where QueryString is the SQL query statements that comprise the query.

" + }, + "NamedQueryId":{"type":"string"}, + "NamedQueryIdList":{ + "type":"list", + "member":{"shape":"NamedQueryId"}, + "max":50, + "min":1 + }, + "NamedQueryList":{ + "type":"list", + "member":{"shape":"NamedQuery"} + }, + "QueryExecution":{ + "type":"structure", + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique identifier for each query execution.

" + }, + "Query":{ + "shape":"QueryString", + "documentation":"

The SQL query statements which the query execution ran.

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

The location in Amazon S3 where query results were stored and the encryption option, if any, used for query results.

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

The database in which the query execution occurred.

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

The completion date, current state, submission time, and state change reason (if applicable) for the query execution.

" + }, + "Statistics":{ + "shape":"QueryExecutionStatistics", + "documentation":"

The amount of data scanned during the query execution and the amount of time that it took to execute.

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

Information about a single instance of a query execution.

" + }, + "QueryExecutionContext":{ + "type":"structure", + "members":{ + "Database":{ + "shape":"DatabaseString", + "documentation":"

The name of the database.

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

The database in which the query execution occurs.

" + }, + "QueryExecutionId":{"type":"string"}, + "QueryExecutionIdList":{ + "type":"list", + "member":{"shape":"QueryExecutionId"}, + "max":50, + "min":1 + }, + "QueryExecutionList":{ + "type":"list", + "member":{"shape":"QueryExecution"} + }, + "QueryExecutionState":{ + "type":"string", + "enum":[ + "QUEUED", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLED" + ] + }, + "QueryExecutionStatistics":{ + "type":"structure", + "members":{ + "EngineExecutionTimeInMillis":{ + "shape":"Long", + "documentation":"

The number of milliseconds that the query took to execute.

" + }, + "DataScannedInBytes":{ + "shape":"Long", + "documentation":"

The number of bytes in the data that was queried.

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

The amount of data scanned during the query execution and the amount of time that it took to execute.

" + }, + "QueryExecutionStatus":{ + "type":"structure", + "members":{ + "State":{ + "shape":"QueryExecutionState", + "documentation":"

The state of query execution. SUBMITTED indicates that the query is queued for execution. RUNNING indicates that the query is scanning data and returning results. SUCCEEDED indicates that the query completed without error. FAILED indicates that the query experienced an error and did not complete processing. CANCELLED indicates that user input interrupted query execution.

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

Further detail about the status of the query.

" + }, + "SubmissionDateTime":{ + "shape":"Date", + "documentation":"

The date and time that the query was submitted.

" + }, + "CompletionDateTime":{ + "shape":"Date", + "documentation":"

The date and time that the query completed.

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

The completion date, current state, submission time, and state change reason (if applicable) for the query execution.

" + }, + "QueryString":{ + "type":"string", + "max":262144, + "min":1 + }, + "ResultConfiguration":{ + "type":"structure", + "required":["OutputLocation"], + "members":{ + "OutputLocation":{ + "shape":"String", + "documentation":"

The location in S3 where query results are stored.

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

If query results are encrypted in S3, indicates the S3 encryption option used (for example, SSE-KMS or CSE-KMS and key information.

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

The location in Amazon S3 where query results are stored and the encryption option, if any, used for query results.

" + }, + "ResultSet":{ + "type":"structure", + "members":{ + "Rows":{ + "shape":"RowList", + "documentation":"

The rows in the table.

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

The metadata that describes the column structure and data types of a table of query results.

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

The metadata and rows that comprise a query result set. The metadata describes the column structure and data types.

" + }, + "ResultSetMetadata":{ + "type":"structure", + "members":{ + "ColumnInfo":{ + "shape":"ColumnInfoList", + "documentation":"

Information about the columns in a query execution result.

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

The metadata that describes the column structure and data types of a table of query results.

" + }, + "Row":{ + "type":"structure", + "members":{ + "Data":{ + "shape":"datumList", + "documentation":"

The data that populates a row in a query result table.

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

The rows that comprise a query result table.

" + }, + "RowList":{ + "type":"list", + "member":{"shape":"Row"} + }, + "StartQueryExecutionInput":{ + "type":"structure", + "required":[ + "QueryString", + "ResultConfiguration" + ], + "members":{ + "QueryString":{ + "shape":"QueryString", + "documentation":"

The SQL query statements to be executed.

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

A unique case-sensitive string used to ensure the request to create the query is idempotent (executes only once). If another StartQueryExecution request is received, the same response is returned and another query is not created. If a parameter has changed, for example, the QueryString, an error is returned.

This token is listed as not required because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS CLI, you must provide this token or the action will fail.

", + "idempotencyToken":true + }, + "QueryExecutionContext":{ + "shape":"QueryExecutionContext", + "documentation":"

The database within which the query executes.

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

Specifies information about where and how to save the results of the query execution.

" + } + } + }, + "StartQueryExecutionOutput":{ + "type":"structure", + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique ID of the query that ran as a result of this request.

" + } + } + }, + "StopQueryExecutionInput":{ + "type":"structure", + "required":["QueryExecutionId"], + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique ID of the query execution to stop.

", + "idempotencyToken":true + } + } + }, + "StopQueryExecutionOutput":{ + "type":"structure", + "members":{ + } + }, + "String":{"type":"string"}, + "ThrottleReason":{ + "type":"string", + "enum":["CONCURRENT_QUERY_LIMIT_EXCEEDED"] + }, + "Token":{"type":"string"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Reason":{"shape":"ThrottleReason"} + }, + "documentation":"

Indicates that the request was throttled.

", + "exception":true + }, + "UnprocessedNamedQueryId":{ + "type":"structure", + "members":{ + "NamedQueryId":{ + "shape":"NamedQueryId", + "documentation":"

The unique identifier of the named query.

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

The error code returned when the processing request for the named query failed, if applicable.

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

The error message returned when the processing request for the named query failed, if applicable.

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

Information about a named query ID that could not be processed.

" + }, + "UnprocessedNamedQueryIdList":{ + "type":"list", + "member":{"shape":"UnprocessedNamedQueryId"} + }, + "UnprocessedQueryExecutionId":{ + "type":"structure", + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique identifier of the query execution.

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

The error code returned when the query execution failed to process, if applicable.

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

The error message returned when the query execution failed to process, if applicable.

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

Describes a query execution that failed to process.

" + }, + "UnprocessedQueryExecutionIdList":{ + "type":"list", + "member":{"shape":"UnprocessedQueryExecutionId"} + }, + "datumList":{ + "type":"list", + "member":{"shape":"Datum"} + }, + "datumString":{"type":"string"} + }, + "documentation":"

Amazon Athena is an interactive query service that lets you use standard SQL to analyze data directly in Amazon S3. You can point Athena at your data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay only for the queries you run. Athena scales automatically—executing queries in parallel—so results are fast, even with large datasets and complex queries. For more information, see What is Amazon Athena in the Amazon Athena User Guide.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

" +} diff --git a/botocore/data/autoscaling/2011-01-01/examples-1.json b/botocore/data/autoscaling/2011-01-01/examples-1.json new file mode 100644 index 00000000..9dcaf88d --- /dev/null +++ b/botocore/data/autoscaling/2011-01-01/examples-1.json @@ -0,0 +1,1395 @@ +{ + "version": "1.0", + "examples": { + "AttachInstances": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example attaches the specified instance to the specified Auto Scaling group.", + "id": "autoscaling-attach-instances-1", + "title": "To attach an instance to an Auto Scaling group" + } + ], + "AttachLoadBalancerTargetGroups": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "TargetGroupARNs": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example attaches the specified target group to the specified Auto Scaling group.", + "id": "autoscaling-attach-load-balancer-target-groups-1", + "title": "To attach a target group to an Auto Scaling group" + } + ], + "AttachLoadBalancers": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LoadBalancerNames": [ + "my-load-balancer" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example attaches the specified load balancer to the specified Auto Scaling group.", + "id": "autoscaling-attach-load-balancers-1", + "title": "To attach a load balancer to an Auto Scaling group" + } + ], + "CompleteLifecycleAction": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LifecycleActionResult": "CONTINUE", + "LifecycleActionToken": "bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635", + "LifecycleHookName": "my-lifecycle-hook" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example notifies Auto Scaling that the specified lifecycle action is complete so that it can finish launching or terminating the instance.", + "id": "autoscaling-complete-lifecycle-action-1", + "title": "To complete the lifecycle action" + } + ], + "CreateAutoScalingGroup": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LaunchConfigurationName": "my-launch-config", + "MaxSize": 3, + "MinSize": 1, + "VPCZoneIdentifier": "subnet-4176792c" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an Auto Scaling group.", + "id": "autoscaling-create-auto-scaling-group-1", + "title": "To create an Auto Scaling group" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "AvailabilityZones": [ + "us-west-2c" + ], + "HealthCheckGracePeriod": 120, + "HealthCheckType": "ELB", + "LaunchConfigurationName": "my-launch-config", + "LoadBalancerNames": [ + "my-load-balancer" + ], + "MaxSize": 3, + "MinSize": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an Auto Scaling group and attaches the specified Classic Load Balancer.", + "id": "autoscaling-create-auto-scaling-group-2", + "title": "To create an Auto Scaling group with an attached load balancer" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "HealthCheckGracePeriod": 120, + "HealthCheckType": "ELB", + "LaunchConfigurationName": "my-launch-config", + "MaxSize": 3, + "MinSize": 1, + "TargetGroupARNs": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + ], + "VPCZoneIdentifier": "subnet-4176792c, subnet-65ea5f08" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an Auto Scaling group and attaches the specified target group.", + "id": "autoscaling-create-auto-scaling-group-3", + "title": "To create an Auto Scaling group with an attached target group" + } + ], + "CreateLaunchConfiguration": [ + { + "input": { + "IamInstanceProfile": "my-iam-role", + "ImageId": "ami-12345678", + "InstanceType": "m3.medium", + "LaunchConfigurationName": "my-launch-config", + "SecurityGroups": [ + "sg-eb2af88e" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a launch configuration.", + "id": "autoscaling-create-launch-configuration-1", + "title": "To create a launch configuration" + } + ], + "CreateOrUpdateTags": [ + { + "input": { + "Tags": [ + { + "Key": "Role", + "PropagateAtLaunch": true, + "ResourceId": "my-auto-scaling-group", + "ResourceType": "auto-scaling-group", + "Value": "WebServer" + }, + { + "Key": "Dept", + "PropagateAtLaunch": true, + "ResourceId": "my-auto-scaling-group", + "ResourceType": "auto-scaling-group", + "Value": "Research" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds two tags to the specified Auto Scaling group.", + "id": "autoscaling-create-or-update-tags-1", + "title": "To create or update tags for an Auto Scaling group" + } + ], + "DeleteAutoScalingGroup": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified Auto Scaling group.", + "id": "autoscaling-delete-auto-scaling-group-1", + "title": "To delete an Auto Scaling group" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "ForceDelete": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified Auto Scaling group and all its instances.", + "id": "autoscaling-delete-auto-scaling-group-2", + "title": "To delete an Auto Scaling group and all its instances" + } + ], + "DeleteLaunchConfiguration": [ + { + "input": { + "LaunchConfigurationName": "my-launch-config" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified launch configuration.", + "id": "autoscaling-delete-launch-configuration-1", + "title": "To delete a launch configuration" + } + ], + "DeleteLifecycleHook": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LifecycleHookName": "my-lifecycle-hook" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified lifecycle hook.", + "id": "autoscaling-delete-lifecycle-hook-1", + "title": "To delete a lifecycle hook" + } + ], + "DeleteNotificationConfiguration": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified notification from the specified Auto Scaling group.", + "id": "autoscaling-delete-notification-configuration-1", + "title": "To delete an Auto Scaling notification" + } + ], + "DeletePolicy": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "PolicyName": "ScaleIn" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified Auto Scaling policy.", + "id": "autoscaling-delete-policy-1", + "title": "To delete an Auto Scaling policy" + } + ], + "DeleteScheduledAction": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "ScheduledActionName": "my-scheduled-action" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified scheduled action from the specified Auto Scaling group.", + "id": "autoscaling-delete-scheduled-action-1", + "title": "To delete a scheduled action from an Auto Scaling group" + } + ], + "DeleteTags": [ + { + "input": { + "Tags": [ + { + "Key": "Dept", + "ResourceId": "my-auto-scaling-group", + "ResourceType": "auto-scaling-group", + "Value": "Research" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified tag from the specified Auto Scaling group.", + "id": "autoscaling-delete-tags-1", + "title": "To delete a tag from an Auto Scaling group" + } + ], + "DescribeAccountLimits": [ + { + "output": { + "MaxNumberOfAutoScalingGroups": 20, + "MaxNumberOfLaunchConfigurations": 100, + "NumberOfAutoScalingGroups": 3, + "NumberOfLaunchConfigurations": 5 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the Auto Scaling limits for your AWS account.", + "id": "autoscaling-describe-account-limits-1", + "title": "To describe your Auto Scaling account limits" + } + ], + "DescribeAdjustmentTypes": [ + { + "output": { + "AdjustmentTypes": [ + { + "AdjustmentType": "ChangeInCapacity" + }, + { + "AdjustmentType": "ExactCapcity" + }, + { + "AdjustmentType": "PercentChangeInCapacity" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the available adjustment types.", + "id": "autoscaling-describe-adjustment-types-1", + "title": "To describe the Auto Scaling adjustment types" + } + ], + "DescribeAutoScalingGroups": [ + { + "input": { + "AutoScalingGroupNames": [ + "my-auto-scaling-group" + ] + }, + "output": { + "AutoScalingGroups": [ + { + "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-auto-scaling-group", + "AutoScalingGroupName": "my-auto-scaling-group", + "AvailabilityZones": [ + "us-west-2c" + ], + "CreatedTime": "2013-08-19T20:53:25.584Z", + "DefaultCooldown": 300, + "DesiredCapacity": 1, + "EnabledMetrics": [ + + ], + "HealthCheckGracePeriod": 300, + "HealthCheckType": "EC2", + "Instances": [ + { + "AvailabilityZone": "us-west-2c", + "HealthStatus": "Healthy", + "InstanceId": "i-4ba0837f", + "LaunchConfigurationName": "my-launch-config", + "LifecycleState": "InService" + } + ], + "LaunchConfigurationName": "my-launch-config", + "LoadBalancerNames": [ + + ], + "MaxSize": 1, + "MinSize": 0, + "NewInstancesProtectedFromScaleIn": false, + "SuspendedProcesses": [ + + ], + "Tags": [ + + ], + "TerminationPolicies": [ + "Default" + ], + "VPCZoneIdentifier": "subnet-12345678" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified Auto Scaling group.", + "id": "autoscaling-describe-auto-scaling-groups-1", + "title": "To describe an Auto Scaling group" + } + ], + "DescribeAutoScalingInstances": [ + { + "input": { + "InstanceIds": [ + "i-4ba0837f" + ] + }, + "output": { + "AutoScalingInstances": [ + { + "AutoScalingGroupName": "my-auto-scaling-group", + "AvailabilityZone": "us-west-2c", + "HealthStatus": "HEALTHY", + "InstanceId": "i-4ba0837f", + "LaunchConfigurationName": "my-launch-config", + "LifecycleState": "InService", + "ProtectedFromScaleIn": false + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified Auto Scaling instance.", + "id": "autoscaling-describe-auto-scaling-instances-1", + "title": "To describe one or more Auto Scaling instances" + } + ], + "DescribeAutoScalingNotificationTypes": [ + { + "output": { + "AutoScalingNotificationTypes": [ + "autoscaling:EC2_INSTANCE_LAUNCH", + "autoscaling:EC2_INSTANCE_LAUNCH_ERROR", + "autoscaling:EC2_INSTANCE_TERMINATE", + "autoscaling:EC2_INSTANCE_TERMINATE_ERROR", + "autoscaling:TEST_NOTIFICATION" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the available notification types.", + "id": "autoscaling-describe-auto-scaling-notification-types-1", + "title": "To describe the Auto Scaling notification types" + } + ], + "DescribeLaunchConfigurations": [ + { + "input": { + "LaunchConfigurationNames": [ + "my-launch-config" + ] + }, + "output": { + "LaunchConfigurations": [ + { + "AssociatePublicIpAddress": true, + "BlockDeviceMappings": [ + + ], + "CreatedTime": "2014-05-07T17:39:28.599Z", + "EbsOptimized": false, + "ImageId": "ami-043a5034", + "InstanceMonitoring": { + "Enabled": true + }, + "InstanceType": "t1.micro", + "LaunchConfigurationARN": "arn:aws:autoscaling:us-west-2:123456789012:launchConfiguration:98d3b196-4cf9-4e88-8ca1-8547c24ced8b:launchConfigurationName/my-launch-config", + "LaunchConfigurationName": "my-launch-config", + "SecurityGroups": [ + "sg-67ef0308" + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified launch configuration.", + "id": "autoscaling-describe-launch-configurations-1", + "title": "To describe Auto Scaling launch configurations" + } + ], + "DescribeLifecycleHookTypes": [ + { + "output": { + "LifecycleHookTypes": [ + "autoscaling:EC2_INSTANCE_LAUNCHING", + "autoscaling:EC2_INSTANCE_TERMINATING" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the available lifecycle hook types.", + "id": "autoscaling-describe-lifecycle-hook-types-1", + "title": "To describe the available types of lifecycle hooks" + } + ], + "DescribeLifecycleHooks": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "LifecycleHooks": [ + { + "AutoScalingGroupName": "my-auto-scaling-group", + "DefaultResult": "ABANDON", + "GlobalTimeout": 172800, + "HeartbeatTimeout": 3600, + "LifecycleHookName": "my-lifecycle-hook", + "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING", + "NotificationTargetARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic", + "RoleARN": "arn:aws:iam::123456789012:role/my-auto-scaling-role" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the lifecycle hooks for the specified Auto Scaling group.", + "id": "autoscaling-describe-lifecycle-hooks-1", + "title": "To describe your lifecycle hooks" + } + ], + "DescribeLoadBalancerTargetGroups": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "LoadBalancerTargetGroups": [ + { + "LoadBalancerTargetGroupARN": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "State": "Added" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the target groups attached to the specified Auto Scaling group.", + "id": "autoscaling-describe-load-balancer-target-groups-1", + "title": "To describe the target groups for an Auto Scaling group" + } + ], + "DescribeLoadBalancers": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "LoadBalancers": [ + { + "LoadBalancerName": "my-load-balancer", + "State": "Added" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the load balancers attached to the specified Auto Scaling group.", + "id": "autoscaling-describe-load-balancers-1", + "title": "To describe the load balancers for an Auto Scaling group" + } + ], + "DescribeMetricCollectionTypes": [ + { + "output": { + "Granularities": [ + { + "Granularity": "1Minute" + } + ], + "Metrics": [ + { + "Metric": "GroupMinSize" + }, + { + "Metric": "GroupMaxSize" + }, + { + "Metric": "GroupDesiredCapacity" + }, + { + "Metric": "GroupInServiceInstances" + }, + { + "Metric": "GroupPendingInstances" + }, + { + "Metric": "GroupTerminatingInstances" + }, + { + "Metric": "GroupStandbyInstances" + }, + { + "Metric": "GroupTotalInstances" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the available metric collection types.", + "id": "autoscaling-describe-metric-collection-types-1", + "title": "To describe the Auto Scaling metric collection types" + } + ], + "DescribeNotificationConfigurations": [ + { + "input": { + "AutoScalingGroupNames": [ + "my-auto-scaling-group" + ] + }, + "output": { + "NotificationConfigurations": [ + { + "AutoScalingGroupName": "my-auto-scaling-group", + "NotificationType": "autoscaling:TEST_NOTIFICATION", + "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic-2" + }, + { + "AutoScalingGroupName": "my-auto-scaling-group", + "NotificationType": "autoscaling:TEST_NOTIFICATION", + "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the notification configurations for the specified Auto Scaling group.", + "id": "autoscaling-describe-notification-configurations-1", + "title": "To describe Auto Scaling notification configurations" + } + ], + "DescribePolicies": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "ScalingPolicies": [ + { + "AdjustmentType": "ChangeInCapacity", + "Alarms": [ + + ], + "AutoScalingGroupName": "my-auto-scaling-group", + "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:2233f3d7-6290-403b-b632-93c553560106:autoScalingGroupName/my-auto-scaling-group:policyName/ScaleIn", + "PolicyName": "ScaleIn", + "ScalingAdjustment": -1 + }, + { + "AdjustmentType": "PercentChangeInCapacity", + "Alarms": [ + + ], + "AutoScalingGroupName": "my-auto-scaling-group", + "Cooldown": 60, + "MinAdjustmentStep": 2, + "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:2b435159-cf77-4e89-8c0e-d63b497baad7:autoScalingGroupName/my-auto-scaling-group:policyName/ScalePercentChange", + "PolicyName": "ScalePercentChange", + "ScalingAdjustment": 25 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the policies for the specified Auto Scaling group.", + "id": "autoscaling-describe-policies-1", + "title": "To describe Auto Scaling policies" + } + ], + "DescribeScalingActivities": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "Activities": [ + { + "ActivityId": "f9f2d65b-f1f2-43e7-b46d-d86756459699", + "AutoScalingGroupName": "my-auto-scaling-group", + "Cause": "At 2013-08-19T20:53:25Z a user request created an AutoScalingGroup changing the desired capacity from 0 to 1. At 2013-08-19T20:53:29Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1.", + "Description": "Launching a new EC2 instance: i-4ba0837f", + "Details": "details", + "EndTime": "2013-08-19T20:54:02Z", + "Progress": 100, + "StartTime": "2013-08-19T20:53:29.930Z", + "StatusCode": "Successful" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the scaling activities for the specified Auto Scaling group.", + "id": "autoscaling-describe-scaling-activities-1", + "title": "To describe the scaling activities for an Auto Scaling group" + } + ], + "DescribeScalingProcessTypes": [ + { + "output": { + "Processes": [ + { + "ProcessName": "AZRebalance" + }, + { + "ProcessName": "AddToLoadBalancer" + }, + { + "ProcessName": "AlarmNotification" + }, + { + "ProcessName": "HealthCheck" + }, + { + "ProcessName": "Launch" + }, + { + "ProcessName": "ReplaceUnhealthy" + }, + { + "ProcessName": "ScheduledActions" + }, + { + "ProcessName": "Terminate" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the Auto Scaling process types.", + "id": "autoscaling-describe-scaling-process-types-1", + "title": "To describe the Auto Scaling process types" + } + ], + "DescribeScheduledActions": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "ScheduledUpdateGroupActions": [ + { + "AutoScalingGroupName": "my-auto-scaling-group", + "DesiredCapacity": 4, + "MaxSize": 6, + "MinSize": 2, + "Recurrence": "30 0 1 12 0", + "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-auto-scaling-group:scheduledActionName/my-scheduled-action", + "ScheduledActionName": "my-scheduled-action", + "StartTime": "2016-12-01T00:30:00Z", + "Time": "2016-12-01T00:30:00Z" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the scheduled actions for the specified Auto Scaling group.", + "id": "autoscaling-describe-scheduled-actions-1", + "title": "To describe scheduled actions" + } + ], + "DescribeTags": [ + { + "input": { + "Filters": [ + { + "Name": "auto-scaling-group", + "Values": [ + "my-auto-scaling-group" + ] + } + ] + }, + "output": { + "Tags": [ + { + "Key": "Dept", + "PropagateAtLaunch": true, + "ResourceId": "my-auto-scaling-group", + "ResourceType": "auto-scaling-group", + "Value": "Research" + }, + { + "Key": "Role", + "PropagateAtLaunch": true, + "ResourceId": "my-auto-scaling-group", + "ResourceType": "auto-scaling-group", + "Value": "WebServer" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the tags for the specified Auto Scaling group.", + "id": "autoscaling-describe-tags-1", + "title": "To describe tags" + } + ], + "DescribeTerminationPolicyTypes": [ + { + "output": { + "TerminationPolicyTypes": [ + "ClosestToNextInstanceHour", + "Default", + "NewestInstance", + "OldestInstance", + "OldestLaunchConfiguration" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the available termination policy types.", + "id": "autoscaling-describe-termination-policy-types-1", + "title": "To describe termination policy types" + } + ], + "DetachInstances": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ], + "ShouldDecrementDesiredCapacity": true + }, + "output": { + "Activities": [ + { + "ActivityId": "5091cb52-547a-47ce-a236-c9ccbc2cb2c9", + "AutoScalingGroupName": "my-auto-scaling-group", + "Cause": "At 2015-04-12T15:02:16Z instance i-93633f9b was detached in response to a user request, shrinking the capacity from 2 to 1.", + "Description": "Detaching EC2 instance: i-93633f9b", + "Details": "details", + "Progress": 50, + "StartTime": "2015-04-12T15:02:16.179Z", + "StatusCode": "InProgress" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the specified instance from the specified Auto Scaling group.", + "id": "autoscaling-detach-instances-1", + "title": "To detach an instance from an Auto Scaling group" + } + ], + "DetachLoadBalancerTargetGroups": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "TargetGroupARNs": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the specified target group from the specified Auto Scaling group", + "id": "autoscaling-detach-load-balancer-target-groups-1", + "title": "To detach a target group from an Auto Scaling group" + } + ], + "DetachLoadBalancers": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LoadBalancerNames": [ + "my-load-balancer" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the specified load balancer from the specified Auto Scaling group.", + "id": "autoscaling-detach-load-balancers-1", + "title": "To detach a load balancer from an Auto Scaling group" + } + ], + "DisableMetricsCollection": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "Metrics": [ + "GroupDesiredCapacity" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disables collecting data for the GroupDesiredCapacity metric for the specified Auto Scaling group.", + "id": "autoscaling-disable-metrics-collection-1", + "title": "To disable metrics collection for an Auto Scaling group" + } + ], + "EnableMetricsCollection": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "Granularity": "1Minute" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables data collection for the specified Auto Scaling group.", + "id": "autoscaling-enable-metrics-collection-1", + "title": "To enable metrics collection for an Auto Scaling group" + } + ], + "EnterStandby": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ], + "ShouldDecrementDesiredCapacity": true + }, + "output": { + "Activities": [ + { + "ActivityId": "ffa056b4-6ed3-41ba-ae7c-249dfae6eba1", + "AutoScalingGroupName": "my-auto-scaling-group", + "Cause": "At 2015-04-12T15:10:23Z instance i-93633f9b was moved to standby in response to a user request, shrinking the capacity from 2 to 1.", + "Description": "Moving EC2 instance to Standby: i-93633f9b", + "Details": "details", + "Progress": 50, + "StartTime": "2015-04-12T15:10:23.640Z", + "StatusCode": "InProgress" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example puts the specified instance into standby mode.", + "id": "autoscaling-enter-standby-1", + "title": "To move instances into standby mode" + } + ], + "ExecutePolicy": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "HonorCooldown": true, + "PolicyName": "ScaleIn" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example executes the specified Auto Scaling policy for the specified Auto Scaling group.", + "id": "autoscaling-execute-policy-1", + "title": "To execute an Auto Scaling policy" + } + ], + "ExitStandby": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ] + }, + "output": { + "Activities": [ + { + "ActivityId": "142928e1-a2dc-453a-9b24-b85ad6735928", + "AutoScalingGroupName": "my-auto-scaling-group", + "Cause": "At 2015-04-12T15:14:29Z instance i-93633f9b was moved out of standby in response to a user request, increasing the capacity from 1 to 2.", + "Description": "Moving EC2 instance out of Standby: i-93633f9b", + "Details": "details", + "Progress": 30, + "StartTime": "2015-04-12T15:14:29.886Z", + "StatusCode": "PreInService" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example moves the specified instance out of standby mode.", + "id": "autoscaling-exit-standby-1", + "title": "To move instances out of standby mode" + } + ], + "PutLifecycleHook": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LifecycleHookName": "my-lifecycle-hook", + "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING", + "NotificationTargetARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic --role-arn", + "RoleARN": "arn:aws:iam::123456789012:role/my-auto-scaling-role" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a lifecycle hook.", + "id": "autoscaling-put-lifecycle-hook-1", + "title": "To create a lifecycle hook" + } + ], + "PutNotificationConfiguration": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "NotificationTypes": [ + "autoscaling:TEST_NOTIFICATION" + ], + "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified notification to the specified Auto Scaling group.", + "id": "autoscaling-put-notification-configuration-1", + "title": "To add an Auto Scaling notification" + } + ], + "PutScalingPolicy": [ + { + "input": { + "AdjustmentType": "ChangeInCapacity", + "AutoScalingGroupName": "my-auto-scaling-group", + "PolicyName": "ScaleIn", + "ScalingAdjustment": -1 + }, + "output": { + "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:2233f3d7-6290-403b-b632-93c553560106:autoScalingGroupName/my-auto-scaling-group:policyName/ScaleIn" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified policy to the specified Auto Scaling group.", + "id": "autoscaling-put-scaling-policy-1", + "title": "To add a scaling policy to an Auto Scaling group" + } + ], + "PutScheduledUpdateGroupAction": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "DesiredCapacity": 4, + "EndTime": "2014-05-12T08:00:00Z", + "MaxSize": 6, + "MinSize": 2, + "ScheduledActionName": "my-scheduled-action", + "StartTime": "2014-05-12T08:00:00Z" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified scheduled action to the specified Auto Scaling group.", + "id": "autoscaling-put-scheduled-update-group-action-1", + "title": "To add a scheduled action to an Auto Scaling group" + } + ], + "RecordLifecycleActionHeartbeat": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LifecycleActionToken": "bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635", + "LifecycleHookName": "my-lifecycle-hook" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example records a lifecycle action heartbeat to keep the instance in a pending state.", + "id": "autoscaling-record-lifecycle-action-heartbeat-1", + "title": "To record a lifecycle action heartbeat" + } + ], + "ResumeProcesses": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "ScalingProcesses": [ + "AlarmNotification" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resumes the specified suspended scaling process for the specified Auto Scaling group.", + "id": "autoscaling-resume-processes-1", + "title": "To resume Auto Scaling processes" + } + ], + "SetDesiredCapacity": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "DesiredCapacity": 2, + "HonorCooldown": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sets the desired capacity for the specified Auto Scaling group.", + "id": "autoscaling-set-desired-capacity-1", + "title": "To set the desired capacity for an Auto Scaling group" + } + ], + "SetInstanceHealth": [ + { + "input": { + "HealthStatus": "Unhealthy", + "InstanceId": "i-93633f9b" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sets the health status of the specified instance to Unhealthy.", + "id": "autoscaling-set-instance-health-1", + "title": "To set the health status of an instance" + } + ], + "SetInstanceProtection": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ], + "ProtectedFromScaleIn": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables instance protection for the specified instance.", + "id": "autoscaling-set-instance-protection-1", + "title": "To enable instance protection for an instance" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ], + "ProtectedFromScaleIn": false + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disables instance protection for the specified instance.", + "id": "autoscaling-set-instance-protection-2", + "title": "To disable instance protection for an instance" + } + ], + "SuspendProcesses": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "ScalingProcesses": [ + "AlarmNotification" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example suspends the specified scaling process for the specified Auto Scaling group.", + "id": "autoscaling-suspend-processes-1", + "title": "To suspend Auto Scaling processes" + } + ], + "TerminateInstanceInAutoScalingGroup": [ + { + "input": { + "InstanceId": "i-93633f9b", + "ShouldDecrementDesiredCapacity": false + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example terminates the specified instance from the specified Auto Scaling group without updating the size of the group. Auto Scaling launches a replacement instance after the specified instance terminates.", + "id": "autoscaling-terminate-instance-in-auto-scaling-group-1", + "title": "To terminate an instance in an Auto Scaling group" + } + ], + "UpdateAutoScalingGroup": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LaunchConfigurationName": "new-launch-config" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the launch configuration of the specified Auto Scaling group.", + "id": "autoscaling-update-auto-scaling-group-1", + "title": "To update the launch configuration" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "MaxSize": 3, + "MinSize": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the minimum size and maximum size of the specified Auto Scaling group.", + "id": "autoscaling-update-auto-scaling-group-2", + "title": "To update the minimum and maximum size" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "NewInstancesProtectedFromScaleIn": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables instance protection for the specified Auto Scaling group.", + "id": "autoscaling-update-auto-scaling-group-3", + "title": "To enable instance protection" + } + ] + } +} diff --git a/botocore/data/autoscaling/2011-01-01/service-2.json b/botocore/data/autoscaling/2011-01-01/service-2.json index 2471e5ed..731a14d4 100644 --- a/botocore/data/autoscaling/2011-01-01/service-2.json +++ b/botocore/data/autoscaling/2011-01-01/service-2.json @@ -20,7 +20,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic load balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 Instances to Your Auto Scaling Group in the Auto Scaling User Guide.

" + "documentation":"

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 Instances to Your Auto Scaling Group in the Auto Scaling User Guide.

" }, "AttachLoadBalancerTargetGroups":{ "name":"AttachLoadBalancerTargetGroups", @@ -52,7 +52,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Attaches one or more Classic load balancers to the specified Auto Scaling group.

To attach an Application load balancer instead, see AttachLoadBalancerTargetGroups.

To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers.

For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Auto Scaling User Guide.

" + "documentation":"

Attaches one or more Classic Load Balancers to the specified Auto Scaling group.

To attach an Application Load Balancer instead, see AttachLoadBalancerTargetGroups.

To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers.

For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Auto Scaling User Guide.

" }, "CompleteLifecycleAction":{ "name":"CompleteLifecycleAction", @@ -360,7 +360,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the load balancers for the specified Auto Scaling group.

Note that this operation describes only Classic load balancers. If you have Application load balancers, use DescribeLoadBalancerTargetGroups instead.

" + "documentation":"

Describes the load balancers for the specified Auto Scaling group.

Note that this operation describes only Classic Load Balancers. If you have Application Load Balancers, use DescribeLoadBalancerTargetGroups instead.

" }, "DescribeMetricCollectionTypes":{ "name":"DescribeMetricCollectionTypes", @@ -506,7 +506,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independently from the rest of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic load balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

" + "documentation":"

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

" }, "DetachLoadBalancerTargetGroups":{ "name":"DetachLoadBalancerTargetGroups", @@ -538,7 +538,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Detaches one or more Classic load balancers from the specified Auto Scaling group.

Note that this operation detaches only Classic load balancers. If you have Application load balancers, use DetachLoadBalancerTargetGroups instead.

When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using DescribeLoadBalancers. Note that the instances remain running.

" + "documentation":"

Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

Note that this operation detaches only Classic Load Balancers. If you have Application Load Balancers, use DetachLoadBalancerTargetGroups instead.

When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using DescribeLoadBalancers. Note that the instances remain running.

" }, "DisableMetricsCollection":{ "name":"DisableMetricsCollection", @@ -578,7 +578,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Moves the specified instances into Standby mode.

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

" + "documentation":"

Moves the specified instances into the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

" }, "ExecutePolicy":{ "name":"ExecutePolicy", @@ -607,7 +607,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Moves the specified instances out of Standby mode.

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

" + "documentation":"

Moves the specified instances out of the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

" }, "PutLifecycleHook":{ "name":"PutLifecycleHook", @@ -782,7 +782,7 @@ {"shape":"ScalingActivityInProgressFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Updates the configuration for the specified Auto Scaling group.

To update an Auto Scaling group with a launch configuration with InstanceMonitoring set to False, you must first disable the collection of group metrics. Otherwise, you will get an error. If you have previously enabled the collection of group metrics, you can disable it using DisableMetricsCollection.

The new settings are registered upon the completion of this call. Any launch configuration settings take effect on any triggers after this call returns. Scaling activities that are currently in progress aren't affected.

Note the following:

  • If you specify a new value for MinSize without specifying a value for DesiredCapacity, and the new MinSize is larger than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MinSize.

  • If you specify a new value for MaxSize without specifying a value for DesiredCapacity, and the new MaxSize is smaller than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MaxSize.

  • All other optional parameters are left unchanged if not specified.

" + "documentation":"

Updates the configuration for the specified Auto Scaling group.

The new settings take effect on any scaling activities after this call returns. Scaling activities that are currently in progress aren't affected.

To update an Auto Scaling group with a launch configuration with InstanceMonitoring set to false, you must first disable the collection of group metrics. Otherwise, you will get an error. If you have previously enabled the collection of group metrics, you can disable it using DisableMetricsCollection.

Note the following:

  • If you specify a new value for MinSize without specifying a value for DesiredCapacity, and the new MinSize is larger than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MinSize.

  • If you specify a new value for MaxSize without specifying a value for DesiredCapacity, and the new MaxSize is smaller than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MaxSize.

  • All other optional parameters are left unchanged if not specified.

" } }, "shapes":{ @@ -802,8 +802,7 @@ "shape":"XmlString", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" } - }, - "documentation":"

Contains the output of DescribeScalingActivities.

" + } }, "Activity":{ "type":"structure", @@ -869,8 +868,7 @@ "shape":"Activity", "documentation":"

A scaling activity.

" } - }, - "documentation":"

Contains the output of TerminateInstancesInAutoScalingGroup.

" + } }, "AdjustmentType":{ "type":"structure", @@ -939,8 +937,7 @@ "shape":"ResourceName", "documentation":"

The name of the group.

" } - }, - "documentation":"

Contains the parameters for AttachInstances.

" + } }, "AttachLoadBalancerTargetGroupsResultType":{ "type":"structure", @@ -962,14 +959,12 @@ "shape":"TargetGroupARNs", "documentation":"

The Amazon Resource Names (ARN) of the target groups.

" } - }, - "documentation":"

Contains the parameters for AttachLoadBalancerTargetGroups.

" + } }, "AttachLoadBalancersResultType":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of AttachLoadBalancers.

" + } }, "AttachLoadBalancersType":{ "type":"structure", @@ -986,8 +981,7 @@ "shape":"LoadBalancerNames", "documentation":"

One or more load balancer names.

" } - }, - "documentation":"

Contains the parameters for AttachLoadBalancers.

" + } }, "AutoScalingGroup":{ "type":"structure", @@ -1113,10 +1107,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeAutoScalingGroups.

" + } }, "AutoScalingGroups":{ "type":"list", @@ -1134,8 +1127,7 @@ "shape":"XmlString", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" } - }, - "documentation":"

Contains the output for DescribeAutoScalingGroups.

" + } }, "AutoScalingInstanceDetails":{ "type":"structure", @@ -1171,7 +1163,7 @@ }, "LaunchConfigurationName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The launch configuration associated with the instance.

" + "documentation":"

The launch configuration used to launch the instance. This value is not available if you attached the instance to the Auto Scaling group.

" }, "ProtectedFromScaleIn":{ "shape":"InstanceProtected", @@ -1195,8 +1187,7 @@ "shape":"XmlString", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" } - }, - "documentation":"

Contains the output of DescribeAutoScalingInstances.

" + } }, "AutoScalingNotificationTypes":{ "type":"list", @@ -1258,8 +1249,7 @@ "CompleteLifecycleActionAnswer":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of CompleteLifecycleAction.

" + } }, "CompleteLifecycleActionType":{ "type":"structure", @@ -1289,8 +1279,7 @@ "shape":"XmlStringMaxLen19", "documentation":"

The ID of the instance.

" } - }, - "documentation":"

Contains the parameters for CompleteLifecycleAction.

" + } }, "Cooldown":{"type":"integer"}, "CreateAutoScalingGroupType":{ @@ -1323,7 +1312,7 @@ }, "DesiredCapacity":{ "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of EC2 instances that should be running in the group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group.

" + "documentation":"

The number of EC2 instances that should be running in the group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group. If you do not specify a desired capacity, the default is the minimum size of the group.

" }, "DefaultCooldown":{ "shape":"Cooldown", @@ -1335,7 +1324,7 @@ }, "LoadBalancerNames":{ "shape":"LoadBalancerNames", - "documentation":"

One or more Classic load balancers. To specify an Application load balancer, use TargetGroupARNs instead.

For more information, see Using a Load Balancer With an Auto Scaling Group in the Auto Scaling User Guide.

" + "documentation":"

One or more Classic Load Balancers. To specify an Application Load Balancer, use TargetGroupARNs instead.

For more information, see Using a Load Balancer With an Auto Scaling Group in the Auto Scaling User Guide.

" }, "TargetGroupARNs":{ "shape":"TargetGroupARNs", @@ -1369,8 +1358,7 @@ "shape":"Tags", "documentation":"

One or more tags.

For more information, see Tagging Auto Scaling Groups and Instances in the Auto Scaling User Guide.

" } - }, - "documentation":"

Contains the parameters for CreateAutoScalingGroup.

" + } }, "CreateLaunchConfigurationType":{ "type":"structure", @@ -1382,7 +1370,7 @@ }, "ImageId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances. For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances.

If you do not specify InstanceId, you must specify ImageId.

For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User Guide.

" }, "KeyName":{ "shape":"XmlStringMaxLen255", @@ -1406,11 +1394,11 @@ }, "InstanceId":{ "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance to use to create the launch configuration.

The new launch configuration derives attributes from the instance, with the exception of the block device mapping.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Create a Launch Configuration Using an EC2 Instance in the Auto Scaling User Guide.

" + "documentation":"

The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, with the exception of the block device mapping.

If you do not specify InstanceId, you must specify both ImageId and InstanceType.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Create a Launch Configuration Using an EC2 Instance in the Auto Scaling User Guide.

" }, "InstanceType":{ "shape":"XmlStringMaxLen255", - "documentation":"

The instance type of the EC2 instance. For information about available instance types, see Available Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The instance type of the EC2 instance.

If you do not specify InstanceId, you must specify InstanceType.

For information about available instance types, see Available Instance Types in the Amazon Elastic Compute Cloud User Guide.

" }, "KernelId":{ "shape":"XmlStringMaxLen255", @@ -1426,7 +1414,7 @@ }, "InstanceMonitoring":{ "shape":"InstanceMonitoring", - "documentation":"

Enables detailed monitoring (true) or basic monitoring (false) for the Auto Scaling instances.

" + "documentation":"

Enables detailed monitoring (true) or basic monitoring (false) for the Auto Scaling instances. The default is true.

" }, "SpotPrice":{ "shape":"SpotPrice", @@ -1448,8 +1436,7 @@ "shape":"XmlStringMaxLen64", "documentation":"

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware and can only be launched into a VPC.

You must set the value of this parameter to dedicated if want to launch Dedicated Instances into a shared tenancy VPC (VPC with instance placement tenancy attribute set to default).

If you specify this parameter, be sure to specify at least one subnet when you create your group.

For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide.

Valid values: default | dedicated

" } - }, - "documentation":"

Contains the parameters for CreateLaunchConfiguration.

" + } }, "CreateOrUpdateTagsType":{ "type":"structure", @@ -1459,8 +1446,7 @@ "shape":"Tags", "documentation":"

One or more tags.

" } - }, - "documentation":"

Contains the parameters for CreateOrUpdateTags.

" + } }, "DeleteAutoScalingGroupType":{ "type":"structure", @@ -1474,14 +1460,12 @@ "shape":"ForceDelete", "documentation":"

Specifies that the group will be deleted along with all instances associated with the group, without waiting for all instances to be terminated. This parameter also deletes any lifecycle actions associated with the group.

" } - }, - "documentation":"

Contains the parameters for DeleteAutoScalingGroup.

" + } }, "DeleteLifecycleHookAnswer":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of DeleteLifecycleHook.

" + } }, "DeleteLifecycleHookType":{ "type":"structure", @@ -1498,8 +1482,7 @@ "shape":"ResourceName", "documentation":"

The name of the Auto Scaling group for the lifecycle hook.

" } - }, - "documentation":"

Contains the parameters for DeleteLifecycleHook.

" + } }, "DeleteNotificationConfigurationType":{ "type":"structure", @@ -1516,8 +1499,7 @@ "shape":"ResourceName", "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.

" } - }, - "documentation":"

Contains the parameters for DeleteNotificationConfiguration.

" + } }, "DeletePolicyType":{ "type":"structure", @@ -1531,8 +1513,7 @@ "shape":"ResourceName", "documentation":"

The name or Amazon Resource Name (ARN) of the policy.

" } - }, - "documentation":"

Contains the parameters for DeletePolicy.

" + } }, "DeleteScheduledActionType":{ "type":"structure", @@ -1549,8 +1530,7 @@ "shape":"ResourceName", "documentation":"

The name of the action to delete.

" } - }, - "documentation":"

Contains the parameters for DeleteScheduledAction.

" + } }, "DeleteTagsType":{ "type":"structure", @@ -1560,8 +1540,7 @@ "shape":"Tags", "documentation":"

One or more tags.

" } - }, - "documentation":"

Contains the parameters for DeleteTags.

" + } }, "DescribeAccountLimitsAnswer":{ "type":"structure", @@ -1582,8 +1561,7 @@ "shape":"NumberOfLaunchConfigurations", "documentation":"

The current number of launch configurations for your AWS account.

" } - }, - "documentation":"

Contains the parameters for DescribeAccountLimits.

" + } }, "DescribeAdjustmentTypesAnswer":{ "type":"structure", @@ -1592,8 +1570,7 @@ "shape":"AdjustmentTypes", "documentation":"

The policy adjustment types.

" } - }, - "documentation":"

Contains the parameters for DescribeAdjustmentTypes.

" + } }, "DescribeAutoScalingInstancesType":{ "type":"structure", @@ -1604,14 +1581,13 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" }, "NextToken":{ "shape":"XmlString", "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" } - }, - "documentation":"

Contains the parameters for DescribeAutoScalingInstances.

" + } }, "DescribeAutoScalingNotificationTypesAnswer":{ "type":"structure", @@ -1620,8 +1596,7 @@ "shape":"AutoScalingNotificationTypes", "documentation":"

The notification types.

" } - }, - "documentation":"

Contains the output of DescribeAutoScalingNotificationTypes.

" + } }, "DescribeLifecycleHookTypesAnswer":{ "type":"structure", @@ -1630,8 +1605,7 @@ "shape":"AutoScalingNotificationTypes", "documentation":"

The lifecycle hook types.

" } - }, - "documentation":"

Contains the output of DescribeLifecycleHookTypes.

" + } }, "DescribeLifecycleHooksAnswer":{ "type":"structure", @@ -1640,8 +1614,7 @@ "shape":"LifecycleHooks", "documentation":"

The lifecycle hooks for the specified group.

" } - }, - "documentation":"

Contains the output of DescribeLifecycleHooks.

" + } }, "DescribeLifecycleHooksType":{ "type":"structure", @@ -1655,8 +1628,7 @@ "shape":"LifecycleHookNames", "documentation":"

The names of one or more lifecycle hooks. If you omit this parameter, all lifecycle hooks are described.

" } - }, - "documentation":"

Contains the parameters for DescribeLifecycleHooks.

" + } }, "DescribeLoadBalancerTargetGroupsRequest":{ "type":"structure", @@ -1672,10 +1644,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeLoadBalancerTargetGroups.

" + } }, "DescribeLoadBalancerTargetGroupsResponse":{ "type":"structure", @@ -1688,8 +1659,7 @@ "shape":"XmlString", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" } - }, - "documentation":"

Contains the output of DescribeLoadBalancerTargetGroups.

" + } }, "DescribeLoadBalancersRequest":{ "type":"structure", @@ -1705,10 +1675,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeLoadBalancers.

" + } }, "DescribeLoadBalancersResponse":{ "type":"structure", @@ -1721,8 +1690,7 @@ "shape":"XmlString", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" } - }, - "documentation":"

Contains the output of DescribeLoadBalancers.

" + } }, "DescribeMetricCollectionTypesAnswer":{ "type":"structure", @@ -1735,8 +1703,7 @@ "shape":"MetricGranularityTypes", "documentation":"

The granularities for the metrics.

" } - }, - "documentation":"

Contains the output of DescribeMetricsCollectionTypes.

" + } }, "DescribeNotificationConfigurationsAnswer":{ "type":"structure", @@ -1750,8 +1717,7 @@ "shape":"XmlString", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" } - }, - "documentation":"

Contains the output from DescribeNotificationConfigurations.

" + } }, "DescribeNotificationConfigurationsType":{ "type":"structure", @@ -1766,10 +1732,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeNotificationConfigurations.

" + } }, "DescribePoliciesType":{ "type":"structure", @@ -1792,10 +1757,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to be returned with each call.

" + "documentation":"

The maximum number of items to be returned with each call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribePolicies.

" + } }, "DescribeScalingActivitiesType":{ "type":"structure", @@ -1810,14 +1774,13 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 100.

" }, "NextToken":{ "shape":"XmlString", "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" } - }, - "documentation":"

Contains the parameters for DescribeScalingActivities.

" + } }, "DescribeScheduledActionsType":{ "type":"structure", @@ -1844,10 +1807,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeScheduledActions.

" + } }, "DescribeTagsType":{ "type":"structure", @@ -1862,10 +1824,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeTags.

" + } }, "DescribeTerminationPolicyTypesAnswer":{ "type":"structure", @@ -1874,8 +1835,7 @@ "shape":"TerminationPolicies", "documentation":"

The termination policies supported by Auto Scaling (OldestInstance, OldestLaunchConfiguration, NewestInstance, ClosestToNextInstanceHour, and Default).

" } - }, - "documentation":"

Contains the output of DescribeTerminationPolicyTypes.

" + } }, "DetachInstancesAnswer":{ "type":"structure", @@ -1884,8 +1844,7 @@ "shape":"Activities", "documentation":"

The activities related to detaching the instances from the Auto Scaling group.

" } - }, - "documentation":"

Contains the output of DetachInstances.

" + } }, "DetachInstancesQuery":{ "type":"structure", @@ -1906,8 +1865,7 @@ "shape":"ShouldDecrementDesiredCapacity", "documentation":"

If True, the Auto Scaling group decrements the desired capacity value by the number of instances detached.

" } - }, - "documentation":"

Contains the parameters for DetachInstances.

" + } }, "DetachLoadBalancerTargetGroupsResultType":{ "type":"structure", @@ -1934,8 +1892,7 @@ "DetachLoadBalancersResultType":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output for DetachLoadBalancers.

" + } }, "DetachLoadBalancersType":{ "type":"structure", @@ -1952,8 +1909,7 @@ "shape":"LoadBalancerNames", "documentation":"

One or more load balancer names.

" } - }, - "documentation":"

Contains the parameters for DetachLoadBalancers.

" + } }, "DisableMetricsCollectionQuery":{ "type":"structure", @@ -1967,8 +1923,7 @@ "shape":"Metrics", "documentation":"

One or more of the following metrics. If you omit this parameter, all metrics are disabled.

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

" } - }, - "documentation":"

Contains the parameters for DisableMetricsCollection.

" + } }, "Ebs":{ "type":"structure", @@ -2020,8 +1975,7 @@ "shape":"XmlStringMaxLen255", "documentation":"

The granularity to associate with the metrics to collect. The only valid value is 1Minute.

" } - }, - "documentation":"

Contains the parameters for EnableMetricsCollection.

" + } }, "EnabledMetric":{ "type":"structure", @@ -2048,8 +2002,7 @@ "shape":"Activities", "documentation":"

The activities related to moving instances into Standby mode.

" } - }, - "documentation":"

Contains the output of EnterStandby.

" + } }, "EnterStandbyQuery":{ "type":"structure", @@ -2070,8 +2023,7 @@ "shape":"ShouldDecrementDesiredCapacity", "documentation":"

Specifies whether the instances moved to Standby mode count as part of the Auto Scaling group's desired capacity. If set, the desired capacity for the Auto Scaling group decrements by the number of instances moved to Standby mode.

" } - }, - "documentation":"

Contains the parameters for EnteStandby.

" + } }, "EstimatedInstanceWarmup":{"type":"integer"}, "ExecutePolicyType":{ @@ -2098,8 +2050,7 @@ "shape":"MetricScale", "documentation":"

The breach threshold for the alarm.

This parameter is required if the policy type is StepScaling and not supported otherwise.

" } - }, - "documentation":"

Contains the parameters for ExecutePolicy.

" + } }, "ExitStandbyAnswer":{ "type":"structure", @@ -2108,8 +2059,7 @@ "shape":"Activities", "documentation":"

The activities related to moving instances out of Standby mode.

" } - }, - "documentation":"

Contains the parameters for ExitStandby.

" + } }, "ExitStandbyQuery":{ "type":"structure", @@ -2123,8 +2073,7 @@ "shape":"ResourceName", "documentation":"

The name of the Auto Scaling group.

" } - }, - "documentation":"

Contains the parameters for ExitStandby.

" + } }, "Filter":{ "type":"structure", @@ -2196,10 +2145,10 @@ "members":{ "Enabled":{ "shape":"MonitoringEnabled", - "documentation":"

If True, instance monitoring is enabled.

" + "documentation":"

If true, detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

" } }, - "documentation":"

Describes whether instance monitoring is enabled.

" + "documentation":"

Describes whether detailed monitoring is enabled for the Auto Scaling instances.

" }, "InstanceProtected":{"type":"boolean"}, "Instances":{ @@ -2318,8 +2267,7 @@ "shape":"ResourceName", "documentation":"

The name of the launch configuration.

" } - }, - "documentation":"

Contains the parameters for DeleteLaunchConfiguration.

" + } }, "LaunchConfigurationNames":{ "type":"list", @@ -2338,10 +2286,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default is 100.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeLaunchConfigurations.

" + } }, "LaunchConfigurations":{ "type":"list", @@ -2359,8 +2306,7 @@ "shape":"XmlString", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" } - }, - "documentation":"

Contains the output of DescribeLaunchConfigurations.

" + } }, "LifecycleActionResult":{"type":"string"}, "LifecycleActionToken":{ @@ -2469,7 +2415,7 @@ "documentation":"

One of the following load balancer states:

  • Adding - The instances in the group are being registered with the load balancer.

  • Added - All instances in the group are registered with the load balancer.

  • InService - At least one instance in the group passed an ELB health check.

  • Removing - The instances in the group are being deregistered from the load balancer. If connection draining is enabled, Elastic Load Balancing waits for in-flight requests to complete before deregistering the instances.

  • Removed - All instances in the group are deregistered from the load balancer.

" } }, - "documentation":"

Describes the state of a Classic load balancer.

If you specify a load balancer when creating the Auto Scaling group, the state of the load balancer is InService.

If you attach a load balancer to an existing Auto Scaling group, the initial state is Adding. The state transitions to Added after all instances in the group are registered with the load balancer. If ELB health checks are enabled for the load balancer, the state transitions to InService after at least one instance in the group passes the health check. If EC2 health checks are enabled instead, the load balancer remains in the Added state.

" + "documentation":"

Describes the state of a Classic Load Balancer.

If you specify a load balancer when creating the Auto Scaling group, the state of the load balancer is InService.

If you attach a load balancer to an existing Auto Scaling group, the initial state is Adding. The state transitions to Added after all instances in the group are registered with the load balancer. If ELB health checks are enabled for the load balancer, the state transitions to InService after at least one instance in the group passes the health check. If EC2 health checks are enabled instead, the load balancer remains in the Added state.

" }, "LoadBalancerStates":{ "type":"list", @@ -2577,8 +2523,7 @@ "shape":"XmlString", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" } - }, - "documentation":"

Contains the output of DescribePolicies.

" + } }, "PolicyARNType":{ "type":"structure", @@ -2587,8 +2532,7 @@ "shape":"ResourceName", "documentation":"

The Amazon Resource Name (ARN) of the policy.

" } - }, - "documentation":"

Contains the output of PutScalingPolicy.

" + } }, "PolicyIncrement":{"type":"integer"}, "PolicyNames":{ @@ -2625,8 +2569,7 @@ "shape":"Processes", "documentation":"

The names of the process types.

" } - }, - "documentation":"

Contains the output of DescribeScalingProcessTypes.

" + } }, "Progress":{"type":"integer"}, "PropagateAtLaunch":{"type":"boolean"}, @@ -2634,8 +2577,7 @@ "PutLifecycleHookAnswer":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of PutLifecycleHook.

" + } }, "PutLifecycleHookType":{ "type":"structure", @@ -2676,8 +2618,7 @@ "shape":"LifecycleActionResult", "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. This parameter can be either CONTINUE or ABANDON. The default value is ABANDON.

" } - }, - "documentation":"

Contains the parameters for PutLifecycleHook.

" + } }, "PutNotificationConfigurationType":{ "type":"structure", @@ -2699,8 +2640,7 @@ "shape":"AutoScalingNotificationTypes", "documentation":"

The type of event that will cause the notification to be sent. For details about notification types supported by Auto Scaling, see DescribeAutoScalingNotificationTypes.

" } - }, - "documentation":"

Contains the parameters for PutNotificationConfiguration.

" + } }, "PutScalingPolicyType":{ "type":"structure", @@ -2754,8 +2694,7 @@ "shape":"EstimatedInstanceWarmup", "documentation":"

The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. The default is to use the value specified for the default cooldown period for the group.

This parameter is not supported if the policy type is SimpleScaling.

" } - }, - "documentation":"

Contains the parameters for PutScalingPolicy.

" + } }, "PutScheduledUpdateGroupActionType":{ "type":"structure", @@ -2800,14 +2739,12 @@ "shape":"AutoScalingGroupDesiredCapacity", "documentation":"

The number of EC2 instances that should be running in the group.

" } - }, - "documentation":"

Contains the parameters for PutScheduledUpdateGroupAction.

" + } }, "RecordLifecycleActionHeartbeatAnswer":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of RecordLifecycleActionHeartBeat.

" + } }, "RecordLifecycleActionHeartbeatType":{ "type":"structure", @@ -2832,8 +2769,7 @@ "shape":"XmlStringMaxLen19", "documentation":"

The ID of the instance.

" } - }, - "documentation":"

Contains the parameters for RecordLifecycleActionHeartbeat.

" + } }, "ResourceContentionFault":{ "type":"structure", @@ -2947,7 +2883,7 @@ }, "Cooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.

" + "documentation":"

The amount of time, in seconds, after a scaling activity completes before any further dynamic scaling activities can start.

" }, "StepAdjustments":{ "shape":"StepAdjustments", @@ -2980,8 +2916,7 @@ "shape":"ProcessNames", "documentation":"

One or more of the following processes. If you omit this parameter, all processes are specified.

  • Launch

  • Terminate

  • HealthCheck

  • ReplaceUnhealthy

  • AZRebalance

  • AlarmNotification

  • ScheduledActions

  • AddToLoadBalancer

" } - }, - "documentation":"

Contains the parameters for SuspendProcesses and ResumeProcesses.

" + } }, "ScheduledActionNames":{ "type":"list", @@ -2998,8 +2933,7 @@ "shape":"XmlString", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" } - }, - "documentation":"

Contains the output of DescribeScheduledActions.

" + } }, "ScheduledUpdateGroupAction":{ "type":"structure", @@ -3074,8 +3008,7 @@ "shape":"HonorCooldown", "documentation":"

By default, SetDesiredCapacity overrides any cooldown period associated with the Auto Scaling group. Specify True to make Auto Scaling to wait for the cool-down period associated with the Auto Scaling group to complete before initiating a scaling activity to set your Auto Scaling group to its new capacity.

" } - }, - "documentation":"

Contains the parameters for SetDesiredCapacity.

" + } }, "SetInstanceHealthQuery":{ "type":"structure", @@ -3096,14 +3029,12 @@ "shape":"ShouldRespectGracePeriod", "documentation":"

If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod specified for the group, by default, this call will respect the grace period. Set this to False, if you do not want the call to respect the grace period associated with the group.

For more information, see the description of the health check grace period for CreateAutoScalingGroup.

" } - }, - "documentation":"

Contains the parameters for SetInstanceHealth.

" + } }, "SetInstanceProtectionAnswer":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of SetInstanceProtection.

" + } }, "SetInstanceProtectionQuery":{ "type":"structure", @@ -3125,8 +3056,7 @@ "shape":"ProtectedFromScaleIn", "documentation":"

Indicates whether the instance is protected from termination by Auto Scaling when scaling in.

" } - }, - "documentation":"

Contains the parameters for SetInstanceProtection.

" + } }, "ShouldDecrementDesiredCapacity":{"type":"boolean"}, "ShouldRespectGracePeriod":{"type":"boolean"}, @@ -3260,8 +3190,7 @@ "shape":"XmlString", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" } - }, - "documentation":"

Contains the output of DescribeTags.

" + } }, "TargetGroupARNs":{ "type":"list", @@ -3282,8 +3211,7 @@ "shape":"ShouldDecrementDesiredCapacity", "documentation":"

If true, terminating the instance also decrements the size of the Auto Scaling group.

" } - }, - "documentation":"

Contains the parameters for TerminateInstanceInAutoScalingGroup.

" + } }, "TerminationPolicies":{ "type":"list", @@ -3346,8 +3274,7 @@ "shape":"InstanceProtected", "documentation":"

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

" } - }, - "documentation":"

Contains the parameters for UpdateAutoScalingGroup.

" + } }, "Values":{ "type":"list", diff --git a/botocore/data/batch/2016-08-10/examples-1.json b/botocore/data/batch/2016-08-10/examples-1.json new file mode 100644 index 00000000..ddaaf42d --- /dev/null +++ b/botocore/data/batch/2016-08-10/examples-1.json @@ -0,0 +1,589 @@ +{ + "version": "1.0", + "examples": { + "CancelJob": [ + { + "input": { + "jobId": "1d828f65-7a4d-42e8-996d-3b900ed59dc4", + "reason": "Cancelling job." + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example cancels a job with the specified job ID.", + "id": "to-cancel-a-job-1481152314733", + "title": "To cancel a job" + } + ], + "CreateComputeEnvironment": [ + { + "input": { + "type": "MANAGED", + "computeEnvironmentName": "C4OnDemand", + "computeResources": { + "type": "EC2", + "desiredvCpus": 48, + "ec2KeyPair": "id_rsa", + "instanceRole": "ecsInstanceRole", + "instanceTypes": [ + "c4.large", + "c4.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge" + ], + "maxvCpus": 128, + "minvCpus": 0, + "securityGroupIds": [ + "sg-cf5093b2" + ], + "subnets": [ + "subnet-220c0e0a", + "subnet-1a95556d", + "subnet-978f6dce" + ], + "tags": { + "Name": "Batch Instance - C4OnDemand" + } + }, + "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole", + "state": "ENABLED" + }, + "output": { + "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/C4OnDemand", + "computeEnvironmentName": "C4OnDemand" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a managed compute environment with specific C4 instance types that are launched on demand. The compute environment is called C4OnDemand.", + "id": "to-create-a-managed-ec2-compute-environment-1481152600017", + "title": "To create a managed EC2 compute environment" + }, + { + "input": { + "type": "MANAGED", + "computeEnvironmentName": "M4Spot", + "computeResources": { + "type": "SPOT", + "bidPercentage": 20, + "desiredvCpus": 4, + "ec2KeyPair": "id_rsa", + "instanceRole": "ecsInstanceRole", + "instanceTypes": [ + "m4" + ], + "maxvCpus": 128, + "minvCpus": 0, + "securityGroupIds": [ + "sg-cf5093b2" + ], + "spotIamFleetRole": "arn:aws:iam::012345678910:role/aws-ec2-spot-fleet-role", + "subnets": [ + "subnet-220c0e0a", + "subnet-1a95556d", + "subnet-978f6dce" + ], + "tags": { + "Name": "Batch Instance - M4Spot" + } + }, + "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole", + "state": "ENABLED" + }, + "output": { + "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/M4Spot", + "computeEnvironmentName": "M4Spot" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a managed compute environment with the M4 instance type that is launched when the Spot bid price is at or below 20% of the On-Demand price for the instance type. The compute environment is called M4Spot.", + "id": "to-create-a-managed-ec2-spot-compute-environment-1481152844190", + "title": "To create a managed EC2 Spot compute environment" + } + ], + "CreateJobQueue": [ + { + "input": { + "computeEnvironmentOrder": [ + { + "computeEnvironment": "M4Spot", + "order": 1 + } + ], + "jobQueueName": "LowPriority", + "priority": 10, + "state": "ENABLED" + }, + "output": { + "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/LowPriority", + "jobQueueName": "LowPriority" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a job queue called LowPriority that uses the M4Spot compute environment.", + "id": "to-create-a-job-queue-with-a-single-compute-environment-1481152967946", + "title": "To create a job queue with a single compute environment" + }, + { + "input": { + "computeEnvironmentOrder": [ + { + "computeEnvironment": "C4OnDemand", + "order": 1 + }, + { + "computeEnvironment": "M4Spot", + "order": 2 + } + ], + "jobQueueName": "HighPriority", + "priority": 1, + "state": "ENABLED" + }, + "output": { + "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", + "jobQueueName": "HighPriority" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a job queue called HighPriority that uses the C4OnDemand compute environment with an order of 1 and the M4Spot compute environment with an order of 2.", + "id": "to-create-a-job-queue-with-multiple-compute-environments-1481153027051", + "title": "To create a job queue with multiple compute environments" + } + ], + "DeleteComputeEnvironment": [ + { + "input": { + "computeEnvironment": "P2OnDemand" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the P2OnDemand compute environment.", + "id": "to-delete-a-compute-environment-1481153105644", + "title": "To delete a compute environment" + } + ], + "DeleteJobQueue": [ + { + "input": { + "jobQueue": "GPGPU" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the GPGPU job queue.", + "id": "to-delete-a-job-queue-1481153508134", + "title": "To delete a job queue" + } + ], + "DeregisterJobDefinition": [ + { + "input": { + "jobDefinition": "sleep10" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deregisters a job definition called sleep10.", + "id": "to-deregister-a-job-definition-1481153579565", + "title": "To deregister a job definition" + } + ], + "DescribeComputeEnvironments": [ + { + "input": { + "computeEnvironments": [ + "P2OnDemand" + ] + }, + "output": { + "computeEnvironments": [ + { + "type": "MANAGED", + "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand", + "computeEnvironmentName": "P2OnDemand", + "computeResources": { + "type": "EC2", + "desiredvCpus": 48, + "ec2KeyPair": "id_rsa", + "instanceRole": "ecsInstanceRole", + "instanceTypes": [ + "p2" + ], + "maxvCpus": 128, + "minvCpus": 0, + "securityGroupIds": [ + "sg-cf5093b2" + ], + "subnets": [ + "subnet-220c0e0a", + "subnet-1a95556d", + "subnet-978f6dce" + ], + "tags": { + "Name": "Batch Instance - P2OnDemand" + } + }, + "ecsClusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/P2OnDemand_Batch_2c06f29d-d1fe-3a49-879d-42394c86effc", + "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole", + "state": "ENABLED", + "status": "VALID", + "statusReason": "ComputeEnvironment Healthy" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the P2OnDemand compute environment.", + "id": "to-describe-a-compute-environment-1481153713334", + "title": "To describe a compute environment" + } + ], + "DescribeJobDefinitions": [ + { + "input": { + "status": "ACTIVE" + }, + "output": { + "jobDefinitions": [ + { + "type": "container", + "containerProperties": { + "command": [ + "sleep", + "60" + ], + "environment": [ + + ], + "image": "busybox", + "memory": 128, + "mountPoints": [ + + ], + "ulimits": [ + + ], + "vcpus": 1, + "volumes": [ + + ] + }, + "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep60:1", + "jobDefinitionName": "sleep60", + "revision": 1, + "status": "ACTIVE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes all of your active job definitions.", + "id": "to-describe-active-job-definitions-1481153895831", + "title": "To describe active job definitions" + } + ], + "DescribeJobQueues": [ + { + "input": { + "jobQueues": [ + "HighPriority" + ] + }, + "output": { + "jobQueues": [ + { + "computeEnvironmentOrder": [ + { + "computeEnvironment": "arn:aws:batch:us-east-1:012345678910:compute-environment/C4OnDemand", + "order": 1 + } + ], + "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", + "jobQueueName": "HighPriority", + "priority": 1, + "state": "ENABLED", + "status": "VALID", + "statusReason": "JobQueue Healthy" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the HighPriority job queue.", + "id": "to-describe-a-job-queue-1481153995804", + "title": "To describe a job queue" + } + ], + "DescribeJobs": [ + { + "input": { + "jobs": [ + "24fa2d7a-64c4-49d2-8b47-f8da4fbde8e9" + ] + }, + "output": { + "jobs": [ + { + "container": { + "command": [ + "sleep", + "60" + ], + "containerInstanceArn": "arn:aws:ecs:us-east-1:012345678910:container-instance/5406d7cd-58bd-4b8f-9936-48d7c6b1526c", + "environment": [ + + ], + "exitCode": 0, + "image": "busybox", + "memory": 128, + "mountPoints": [ + + ], + "ulimits": [ + + ], + "vcpus": 1, + "volumes": [ + + ] + }, + "createdAt": 1480460782010, + "dependsOn": [ + + ], + "jobDefinition": "sleep60", + "jobId": "24fa2d7a-64c4-49d2-8b47-f8da4fbde8e9", + "jobName": "example", + "jobQueue": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", + "parameters": { + }, + "startedAt": 1480460816500, + "status": "SUCCEEDED", + "stoppedAt": 1480460880699 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes a job with the specified job ID.", + "id": "to-describe-a-specific-job-1481154090490", + "title": "To describe a specific job" + } + ], + "ListJobs": [ + { + "input": { + "jobQueue": "HighPriority" + }, + "output": { + "jobSummaryList": [ + { + "jobId": "e66ff5fd-a1ff-4640-b1a2-0b0a142f49bb", + "jobName": "example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the running jobs in the HighPriority job queue.", + "id": "to-list-running-jobs-1481154202164", + "title": "To list running jobs" + }, + { + "input": { + "jobQueue": "HighPriority", + "jobStatus": "SUBMITTED" + }, + "output": { + "jobSummaryList": [ + { + "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786", + "jobName": "example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists jobs in the HighPriority job queue that are in the SUBMITTED job status.", + "id": "to-list-submitted-jobs-1481154251623", + "title": "To list submitted jobs" + } + ], + "RegisterJobDefinition": [ + { + "input": { + "type": "container", + "containerProperties": { + "command": [ + "sleep", + "10" + ], + "image": "busybox", + "memory": 128, + "vcpus": 1 + }, + "jobDefinitionName": "sleep10" + }, + "output": { + "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep10:1", + "jobDefinitionName": "sleep10", + "revision": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers a job definition for a simple container job.", + "id": "to-register-a-job-definition-1481154325325", + "title": "To register a job definition" + } + ], + "SubmitJob": [ + { + "input": { + "jobDefinition": "sleep60", + "jobName": "example", + "jobQueue": "HighPriority" + }, + "output": { + "jobId": "876da822-4198-45f2-a252-6cea32512ea8", + "jobName": "example" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example submits a simple container job called example to the HighPriority job queue.", + "id": "to-submit-a-job-to-a-queue-1481154481673", + "title": "To submit a job to a queue" + } + ], + "TerminateJob": [ + { + "input": { + "jobId": "61e743ed-35e4-48da-b2de-5c8333821c84", + "reason": "Terminating job." + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example terminates a job with the specified job ID.", + "id": "to-terminate-a-job-1481154558276", + "title": "To terminate a job" + } + ], + "UpdateComputeEnvironment": [ + { + "input": { + "computeEnvironment": "P2OnDemand", + "state": "DISABLED" + }, + "output": { + "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand", + "computeEnvironmentName": "P2OnDemand" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disables the P2OnDemand compute environment so it can be deleted.", + "id": "to-update-a-compute-environment-1481154702731", + "title": "To update a compute environment" + } + ], + "UpdateJobQueue": [ + { + "input": { + "jobQueue": "GPGPU", + "state": "DISABLED" + }, + "output": { + "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/GPGPU", + "jobQueueName": "GPGPU" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disables a job queue so that it can be deleted.", + "id": "to-update-a-job-queue-1481154806981", + "title": "To update a job queue" + } + ] + } +} diff --git a/botocore/data/batch/2016-08-10/paginators-1.json b/botocore/data/batch/2016-08-10/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/batch/2016-08-10/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/batch/2016-08-10/service-2.json b/botocore/data/batch/2016-08-10/service-2.json index 85111a16..7d5423b6 100644 --- a/botocore/data/batch/2016-08-10/service-2.json +++ b/botocore/data/batch/2016-08-10/service-2.json @@ -37,7 +37,7 @@ {"shape":"ClientException"}, {"shape":"ServerException"} ], - "documentation":"

Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGEDcompute environments.

In a managed compute environment, AWS Batch manages the compute resources within the environment, based on the compute resources that you specify. Instances launched into a managed compute environment use the latest Amazon ECS-optimized AMI. You can choose to use Amazon EC2 On-Demand instances in your managed compute environment, or you can use Amazon EC2 Spot instances that only launch when the Spot bid price is below a specified percentage of the On-Demand price.

In an unmanaged compute environment, you can manage your own compute resources. This provides more compute resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS container instance AMI specification. For more information, see Container Instance AMIs in the Amazon EC2 Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it and then manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS Container Instance in the Amazon EC2 Container Service Developer Guide.

" + "documentation":"

Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute environments.

In a managed compute environment, AWS Batch manages the compute resources within the environment, based on the compute resources that you specify. Instances launched into a managed compute environment use the latest Amazon ECS-optimized AMI. You can choose to use Amazon EC2 On-Demand instances in your managed compute environment, or you can use Amazon EC2 Spot instances that only launch when the Spot bid price is below a specified percentage of the On-Demand price.

In an unmanaged compute environment, you can manage your own compute resources. This provides more compute resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS container instance AMI specification. For more information, see Container Instance AMIs in the Amazon EC2 Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it and then manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS Container Instance in the Amazon EC2 Container Service Developer Guide.

" }, "CreateJobQueue":{ "name":"CreateJobQueue", @@ -237,6 +237,54 @@ } }, "shapes":{ + "AttemptContainerDetail":{ + "type":"structure", + "members":{ + "containerInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon ECS container instance that hosts the job attempt.

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

The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the job attempt.

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

The exit code for the job attempt. A non-zero exit code is considered a failure.

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

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

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

An object representing the details of a container that is part of a job attempt.

" + }, + "AttemptDetail":{ + "type":"structure", + "members":{ + "container":{ + "shape":"AttemptContainerDetail", + "documentation":"

Details about the container in this job attempt.

" + }, + "startedAt":{ + "shape":"Long", + "documentation":"

The Unix timestamp for when the attempt was started (when the task transitioned from the PENDING state to the RUNNING state).

" + }, + "stoppedAt":{ + "shape":"Long", + "documentation":"

The Unix timestamp for when the attempt was stopped (when the task transitioned from the RUNNING state to the STOPPED state).

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

A short, human-readable string to provide additional details about the current status of the job attempt.

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

An object representing a job attempt.

" + }, + "AttemptDetails":{ + "type":"list", + "member":{"shape":"AttemptDetail"} + }, "Boolean":{"type":"boolean"}, "CEState":{ "type":"string", @@ -406,6 +454,10 @@ "shape":"StringList", "documentation":"

The instances types that may launched.

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

The Amazon Machine Image (AMI) ID used for instances launched in the compute environment.

" + }, "subnets":{ "shape":"StringList", "documentation":"

The VPC subnets into which the compute resources are launched.

" @@ -517,6 +569,10 @@ "containerInstanceArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) of the container instance on which the container is running.

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

The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job.

" } }, "documentation":"

An object representing the details of a container that is part of a job.

" @@ -916,6 +972,10 @@ "shape":"ParametersMap", "documentation":"

Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition.

" }, + "retryStrategy":{ + "shape":"RetryStrategy", + "documentation":"

The retry strategy to use for failed jobs that are submitted with this job definition.

" + }, "containerProperties":{ "shape":"ContainerProperties", "documentation":"

An object with various properties specific to container-based jobs.

" @@ -972,6 +1032,10 @@ "shape":"JobStatus", "documentation":"

The current status for the job.

" }, + "attempts":{ + "shape":"AttemptDetails", + "documentation":"

A list of job attempts associated with this job.

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

A short, human-readable string to provide additional details about the current status of the job.

" @@ -980,6 +1044,10 @@ "shape":"Long", "documentation":"

The Unix timestamp for when the job was created (when the task entered the PENDING state).

" }, + "retryStrategy":{ + "shape":"RetryStrategy", + "documentation":"

The retry strategy to use for this job if an attempt fails.

" + }, "startedAt":{ "shape":"Long", "documentation":"

The Unix timestamp for when the job was started (when the task transitioned from the PENDING state to the RUNNING state).

" @@ -1157,7 +1225,7 @@ "documentation":"

The name of the volume to mount.

" } }, - "documentation":"

Details on a volume mount point that is used in a job's container properties.

" + "documentation":"

Details on a Docker volume mount point that is used in a job's container properties.

" }, "MountPoints":{ "type":"list", @@ -1190,6 +1258,10 @@ "containerProperties":{ "shape":"ContainerProperties", "documentation":"

An object with various properties specific for container-based jobs. This parameter is required if the type parameter is container.

" + }, + "retryStrategy":{ + "shape":"RetryStrategy", + "documentation":"

The retry strategy to use for failed jobs that are submitted with this job definition. Any retry strategy that is specified during a SubmitJob operation overrides the retry strategy defined here.

" } } }, @@ -1215,6 +1287,16 @@ } } }, + "RetryStrategy":{ + "type":"structure", + "members":{ + "attempts":{ + "shape":"Integer", + "documentation":"

The number of times to move a job to the RUNNABLE status. You may specify between 1 and 10 attempts. If attempts is greater than one, the job is retried if it fails until it has moved to RUNNABLE that many times.

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

The retry strategy associated with a job.

" + }, "ServerException":{ "type":"structure", "members":{ @@ -1240,7 +1322,7 @@ "members":{ "jobName":{ "shape":"String", - "documentation":"

The name of the job.

" + "documentation":"

The name of the job. A name must be 1 to 128 characters in length.

Pattern: ^[a-zA-Z0-9_]+$

" }, "jobQueue":{ "shape":"String", @@ -1248,7 +1330,7 @@ }, "dependsOn":{ "shape":"JobDependencyList", - "documentation":"

A list of job names or IDs on which this job depends. A job can depend upon a maximum of 100 jobs.

" + "documentation":"

A list of job IDs on which this job depends. A job can depend upon a maximum of 100 jobs.

" }, "jobDefinition":{ "shape":"String", @@ -1261,6 +1343,10 @@ "containerOverrides":{ "shape":"ContainerOverrides", "documentation":"

A list of container overrides in JSON format that specify the name of a container in the specified job definition and the overrides it should receive. You can override the default command for a container (that is specified in the job definition or the Docker image) with a command override. You can also override existing environment variables (that are specified in the job definition or Docker image) on a container or add new environment variables to it with an environment override.

" + }, + "retryStrategy":{ + "shape":"RetryStrategy", + "documentation":"

The retry strategy to use for failed jobs from this SubmitJob operation. When a retry strategy is specified here, it overrides the retry strategy defined in the job definition.

" } } }, diff --git a/botocore/data/budgets/2016-10-20/examples-1.json b/botocore/data/budgets/2016-10-20/examples-1.json new file mode 100755 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/budgets/2016-10-20/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/budgets/2016-10-20/paginators-1.json b/botocore/data/budgets/2016-10-20/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/budgets/2016-10-20/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/budgets/2016-10-20/service-2.json b/botocore/data/budgets/2016-10-20/service-2.json index 9bbbcc43..9dfcd5eb 100755 --- a/botocore/data/budgets/2016-10-20/service-2.json +++ b/botocore/data/budgets/2016-10-20/service-2.json @@ -57,7 +57,8 @@ {"shape":"InternalErrorException"}, {"shape":"InvalidParameterException"}, {"shape":"CreationLimitExceededException"}, - {"shape":"DuplicateRecordException"} + {"shape":"DuplicateRecordException"}, + {"shape":"NotFoundException"} ], "documentation":"Create a new Subscriber for a notification" }, @@ -606,7 +607,7 @@ "NotificationThreshold":{ "type":"double", "documentation":"The threshold of the a notification. It should be a number between 0 and 100.", - "max":100, + "max":300, "min":0.1 }, "NotificationType":{ @@ -643,7 +644,7 @@ "NumericValue":{ "type":"string", "documentation":"A string to represent NumericValue.", - "pattern":"[0-9]+(\\.)?[0-9]*" + "pattern":"[0-9]*(\\.)?[0-9]+" }, "Spend":{ "type":"structure", diff --git a/botocore/data/clouddirectory/2016-05-10/paginators-1.json b/botocore/data/clouddirectory/2016-05-10/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/clouddirectory/2016-05-10/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/clouddirectory/2016-05-10/service-2.json b/botocore/data/clouddirectory/2016-05-10/service-2.json index 6fe07b9d..0b1c1a2c 100644 --- a/botocore/data/clouddirectory/2016-05-10/service-2.json +++ b/botocore/data/clouddirectory/2016-05-10/service-2.json @@ -51,7 +51,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidAttachmentException"} ], - "documentation":"

Copies input published schema into Directory with same name and version as that of published schema .

" + "documentation":"

Copies the input published schema into the Directory with the same name and version as that of the published schema .

" }, "AttachObject":{ "name":"AttachObject", @@ -73,9 +73,10 @@ {"shape":"ResourceNotFoundException"}, {"shape":"LinkNameAlreadyInUseException"}, {"shape":"InvalidAttachmentException"}, - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"FacetValidationException"} ], - "documentation":"

Attaches an existing object to another object. An object can be accessed in two ways:

  1. Using the path

  2. Using ObjectIdentifier

" + "documentation":"

Attaches an existing object to another object. An object can be accessed in two ways:

  1. Using the path

  2. Using ObjectIdentifier

" }, "AttachPolicy":{ "name":"AttachPolicy", @@ -124,6 +125,29 @@ ], "documentation":"

Attaches the specified object to the specified index.

" }, + "AttachTypedLink":{ + "name":"AttachTypedLink", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attach", + "responseCode":200 + }, + "input":{"shape":"AttachTypedLinkRequest"}, + "output":{"shape":"AttachTypedLinkResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAttachmentException"}, + {"shape":"ValidationException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" + }, "BatchRead":{ "name":"BatchRead", "http":{ @@ -205,7 +229,8 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"}, {"shape":"FacetAlreadyExistsException"}, - {"shape":"InvalidRuleException"} + {"shape":"InvalidRuleException"}, + {"shape":"FacetValidationException"} ], "documentation":"

Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.

" }, @@ -256,7 +281,7 @@ {"shape":"LinkNameAlreadyInUseException"}, {"shape":"UnsupportedIndexTypeException"} ], - "documentation":"

Creates an object in a Directory. Additionally attaches the object to a parent, if a parent reference and LinkName is specified. An object is simply a collection of Facet attributes. You can also use this API call to create a policy object, if the facet from which you create the object is a policy facet.

" + "documentation":"

Creates an object in a Directory. Additionally attaches the object to a parent, if a parent reference and LinkName is specified. An object is simply a collection of Facet attributes. You can also use this API call to create a policy object, if the facet from which you create the object is a policy facet.

" }, "CreateSchema":{ "name":"CreateSchema", @@ -279,6 +304,29 @@ ], "documentation":"

Creates a new schema in a development state. A schema can exist in three phases:

  • Development: This is a mutable phase of the schema. All new schemas are in the development phase. Once the schema is finalized, it can be published.

  • Published: Published schemas are immutable and have a version associated with them.

  • Applied: Applied schemas are mutable in a way that allows you to add new schema facets. You can also add new, nonrequired attributes to existing schema facets. You can apply only published schemas to directories.

" }, + "CreateTypedLinkFacet":{ + "name":"CreateTypedLinkFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/create", + "responseCode":200 + }, + "input":{"shape":"CreateTypedLinkFacetRequest"}, + "output":{"shape":"CreateTypedLinkFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetAlreadyExistsException"}, + {"shape":"InvalidRuleException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Creates a TypedLinkFacet. For more information, see Typed link.

" + }, "DeleteDirectory":{ "name":"DeleteDirectory", "http":{ @@ -295,7 +343,9 @@ {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, - {"shape":"DirectoryDeletedException"} + {"shape":"DirectoryDeletedException"}, + {"shape":"RetryableConflictException"}, + {"shape":"InvalidArnException"} ], "documentation":"

Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise extreme caution when deleting directories.

" }, @@ -319,7 +369,7 @@ {"shape":"FacetNotFoundException"}, {"shape":"FacetInUseException"} ], - "documentation":"

Deletes a given Facet. All attributes and Rules associated with the facet will be deleted. Only development schema facets are allowed deletion.

" + "documentation":"

Deletes a given Facet. All attributes and Rules that are associated with the facet will be deleted. Only development schema facets are allowed deletion.

" }, "DeleteObject":{ "name":"DeleteObject", @@ -364,6 +414,27 @@ ], "documentation":"

Deletes a given schema. Schemas in a development and published state can only be deleted.

" }, + "DeleteTypedLinkFacet":{ + "name":"DeleteTypedLinkFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteTypedLinkFacetRequest"}, + "output":{"shape":"DeleteTypedLinkFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"} + ], + "documentation":"

Deletes a TypedLinkFacet. For more information, see Typed link.

" + }, "DetachFromIndex":{ "name":"DetachFromIndex", "http":{ @@ -431,6 +502,26 @@ ], "documentation":"

Detaches a policy from an object.

" }, + "DetachTypedLink":{ + "name":"DetachTypedLink", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/detach", + "responseCode":200 + }, + "input":{"shape":"DetachTypedLinkRequest"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" + }, "DisableDirectory":{ "name":"DisableDirectory", "http":{ @@ -446,7 +537,9 @@ {"shape":"InternalServiceException"}, {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"} + {"shape":"AccessDeniedException"}, + {"shape":"RetryableConflictException"}, + {"shape":"InvalidArnException"} ], "documentation":"

Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can be disabled. Disabled directories may be reenabled.

" }, @@ -465,7 +558,9 @@ {"shape":"InternalServiceException"}, {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"} + {"shape":"AccessDeniedException"}, + {"shape":"RetryableConflictException"}, + {"shape":"InvalidArnException"} ], "documentation":"

Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then be read and written to.

" }, @@ -507,7 +602,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"FacetNotFoundException"} ], - "documentation":"

Gets details of the Facet, such as Facet Name, Attributes, Rules, or ObjectType. You can call this on all kinds of schema facets -- published, development, or applied.

" + "documentation":"

Gets details of the Facet, such as facet name, attributes, Rules, or ObjectType. You can call this on all kinds of schema facets -- published, development, or applied.

" }, "GetObjectInformation":{ "name":"GetObjectInformation", @@ -551,6 +646,28 @@ ], "documentation":"

Retrieves a JSON representation of the schema. See JSON Schema Format for more information.

" }, + "GetTypedLinkFacetInformation":{ + "name":"GetTypedLinkFacetInformation", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/get", + "responseCode":200 + }, + "input":{"shape":"GetTypedLinkFacetInformationRequest"}, + "output":{"shape":"GetTypedLinkFacetInformationResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetNotFoundException"} + ], + "documentation":"

Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed link.

" + }, "ListAppliedSchemaArns":{ "name":"ListAppliedSchemaArns", "http":{ @@ -612,7 +729,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Retrieves the ARNs of schemas in the development state.

" + "documentation":"

Retrieves each Amazon Resource Name (ARN) of schemas in the development state.

" }, "ListDirectories":{ "name":"ListDirectories", @@ -677,6 +794,28 @@ ], "documentation":"

Retrieves the names of facets that exist in a schema.

" }, + "ListIncomingTypedLinks":{ + "name":"ListIncomingTypedLinks", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/incoming", + "responseCode":200 + }, + "input":{"shape":"ListIncomingTypedLinksRequest"}, + "output":{"shape":"ListIncomingTypedLinksResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + }, "ListIndex":{ "name":"ListIndex", "http":{ @@ -718,9 +857,10 @@ {"shape":"DirectoryNotEnabledException"}, {"shape":"InvalidArnException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetValidationException"} ], - "documentation":"

Lists all attributes associated with an object. This also supports common namespace prefix (key) listing. For example, if you want to retrieve all attributes associated with facet1, key can be facet1. If key is empty, all attributes are returned in a paginated list.

" + "documentation":"

Lists all attributes that are associated with an object.

" }, "ListObjectChildren":{ "name":"ListObjectChildren", @@ -744,7 +884,29 @@ {"shape":"InvalidNextTokenException"}, {"shape":"NotNodeException"} ], - "documentation":"

Returns a paginated list of child objects associated with a given object.

" + "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" + }, + "ListObjectParentPaths":{ + "name":"ListObjectParentPaths", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/parentpaths", + "responseCode":200 + }, + "input":{"shape":"ListObjectParentPathsRequest"}, + "output":{"shape":"ListObjectParentPathsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

Use this API to evaluate all parents for an object. The call returns all objects from the root of the directory up to the requested object. The API returns the number of paths based on user-defined MaxResults, in case there are multiple paths to the parent. The order of the paths and nodes returned is consistent among multiple API calls unless the objects are deleted or moved. Paths not leading to the directory root are ignored from the target object.

" }, "ListObjectParents":{ "name":"ListObjectParents", @@ -768,7 +930,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"CannotListParentOfRootException"} ], - "documentation":"

Lists parent objects associated with a given object in pagination fashion.

" + "documentation":"

Lists parent objects that are associated with a given object in pagination fashion.

" }, "ListObjectPolicies":{ "name":"ListObjectPolicies", @@ -792,6 +954,28 @@ ], "documentation":"

Returns policies attached to an object in pagination fashion.

" }, + "ListOutgoingTypedLinks":{ + "name":"ListOutgoingTypedLinks", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/outgoing", + "responseCode":200 + }, + "input":{"shape":"ListOutgoingTypedLinksRequest"}, + "output":{"shape":"ListOutgoingTypedLinksResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + }, "ListPolicyAttachments":{ "name":"ListPolicyAttachments", "http":{ @@ -814,7 +998,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"NotPolicyException"} ], - "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" + "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" }, "ListPublishedSchemaArns":{ "name":"ListPublishedSchemaArns", @@ -835,7 +1019,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Retrieves published schema ARNs.

" + "documentation":"

Retrieves each published schema Amazon Resource Name (ARN).

" }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -858,6 +1042,49 @@ ], "documentation":"

Returns tags for a resource. Tagging is currently supported only for directories with a limit of 50 tags per directory. All 50 tags are returned for a given directory with this API call.

" }, + "ListTypedLinkFacetAttributes":{ + "name":"ListTypedLinkFacetAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/attributes", + "responseCode":200 + }, + "input":{"shape":"ListTypedLinkFacetAttributesRequest"}, + "output":{"shape":"ListTypedLinkFacetAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more information, see Typed link.

" + }, + "ListTypedLinkFacetNames":{ + "name":"ListTypedLinkFacetNames", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/list", + "responseCode":200 + }, + "input":{"shape":"ListTypedLinkFacetNamesRequest"}, + "output":{"shape":"ListTypedLinkFacetNamesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a paginated list of TypedLink facet names for a particular schema. For more information, see Typed link.

" + }, "LookupPolicy":{ "name":"LookupPolicy", "http":{ @@ -879,7 +1106,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the objectIdentifier for such objects. If policies are present, it returns objectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored.

" + "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" }, "PublishSchema":{ "name":"PublishSchema", @@ -900,7 +1127,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"SchemaAlreadyPublishedException"} ], - "documentation":"

Publishes a development schema with a version. If description and attributes are specified, PublishSchema overrides the development schema description and attributes. If not, the development schema description and attributes are used.

" + "documentation":"

Publishes a development schema with a version. If description and attributes are specified, PublishSchema overrides the development schema description and attributes. If not, the development schema description and attributes are used.

" }, "PutSchemaFromJson":{ "name":"PutSchemaFromJson", @@ -964,7 +1191,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidTaggingRequestException"} ], - "documentation":"

API for adding tags to a resource.

" + "documentation":"

An API operation for adding tags to a resource.

" }, "UntagResource":{ "name":"UntagResource", @@ -985,7 +1212,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidTaggingRequestException"} ], - "documentation":"

API for removing tags from a resource.

" + "documentation":"

An API operation for removing tags from a resource.

" }, "UpdateFacet":{ "name":"UpdateFacet", @@ -1008,7 +1235,7 @@ {"shape":"FacetNotFoundException"}, {"shape":"InvalidRuleException"} ], - "documentation":"

Does the following:

  1. Adds new Attributes, Rules, or ObjectTypes.

  2. Updates existing Attributes, Rules, or ObjectTypes.

  3. Deletes existing Attributes, Rules, or ObjectTypes.

" + "documentation":"

Does the following:

  1. Adds new Attributes, Rules, or ObjectTypes.

  2. Updates existing Attributes, Rules, or ObjectTypes.

  3. Deletes existing Attributes, Rules, or ObjectTypes.

" }, "UpdateObjectAttributes":{ "name":"UpdateObjectAttributes", @@ -1051,6 +1278,30 @@ {"shape":"ResourceNotFoundException"} ], "documentation":"

Updates the schema name with a new name. Only development schema names can be updated.

" + }, + "UpdateTypedLinkFacet":{ + "name":"UpdateTypedLinkFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet", + "responseCode":200 + }, + "input":{"shape":"UpdateTypedLinkFacetRequest"}, + "output":{"shape":"UpdateTypedLinkFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"FacetValidationException"}, + {"shape":"InvalidFacetUpdateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"InvalidRuleException"} + ], + "documentation":"

Updates a TypedLinkFacet. For more information, see Typed link.

" } }, "shapes":{ @@ -1073,7 +1324,7 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where the object resides. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, @@ -1083,7 +1334,7 @@ }, "ObjectAttributeList":{ "shape":"AttributeKeyAndValueList", - "documentation":"

Attributes on the facet you are adding to the object.

" + "documentation":"

Attributes on the facet that you are adding to the object.

" }, "ObjectReference":{ "shape":"ObjectReference", @@ -1105,11 +1356,11 @@ "members":{ "PublishedSchemaArn":{ "shape":"Arn", - "documentation":"

Published schema ARN that needs to be copied. For more information, see arns.

" + "documentation":"

Published schema Amazon Resource Name (ARN) that needs to be copied. For more information, see arns.

" }, "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory into which the schema is copied. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory into which the schema is copied. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" } @@ -1120,11 +1371,11 @@ "members":{ "AppliedSchemaArn":{ "shape":"Arn", - "documentation":"

Applied schema ARN associated with the copied schema in the Directory. You can use this ARN to describe the schema information applied on this directory. For more information, see arns.

" + "documentation":"

The applied schema ARN that is associated with the copied schema in the Directory. You can use this ARN to describe the schema information applied on this directory. For more information, see arns.

" }, "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory. For more information, see arns.

" + "documentation":"

The ARN that is associated with the Directory. For more information, see arns.

" } } }, @@ -1144,21 +1395,21 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where both objects reside. For more information, see arns.

", + "documentation":"

Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "ParentReference":{ "shape":"ObjectReference", - "documentation":"

Parent object reference.

" + "documentation":"

The parent object reference.

" }, "ChildReference":{ "shape":"ObjectReference", - "documentation":"

Child object reference to be attached to the object.

" + "documentation":"

The child object reference to be attached to the object.

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

Link name with which the child object is attached to the parent.

" + "documentation":"

The link name with which the child object is attached to the parent.

" } } }, @@ -1167,7 +1418,7 @@ "members":{ "AttachedObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

Attached ObjectIdentifier, which is the child ObjectIdentifier.

" + "documentation":"

The attached ObjectIdentifier, which is the child ObjectIdentifier.

" } } }, @@ -1180,17 +1431,17 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where both objects reside. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "PolicyReference":{ "shape":"ObjectReference", - "documentation":"

Reference associated with the policy object.

" + "documentation":"

The reference that is associated with the policy object.

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

Reference that identifies the object to which the policy will be attached.

" + "documentation":"

The reference that identifies the object to which the policy will be attached.

" } } }, @@ -1209,7 +1460,7 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

The ARN of the directory where the object and index exist.

", + "documentation":"

The Amazon Resource Name (ARN) of the directory where the object and index exist.

", "location":"header", "locationName":"x-amz-data-partition" }, @@ -1228,7 +1479,50 @@ "members":{ "AttachedObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that was attached to the index.

" + "documentation":"

The ObjectIdentifier of the object that was attached to the index.

" + } + } + }, + "AttachTypedLinkRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "SourceObjectReference", + "TargetObjectReference", + "TypedLinkFacet", + "Attributes" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to attach the typed link.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "SourceObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the source object that the typed link will attach to.

" + }, + "TargetObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the target object that the typed link will attach to.

" + }, + "TypedLinkFacet":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Identifies the typed link facet that is associated with the typed link.

" + }, + "Attributes":{ + "shape":"AttributeNameAndValueList", + "documentation":"

A set of attributes that are associated with the typed link.

" + } + } + }, + "AttachTypedLinkResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Returns a typed link specifier as output.

" } } }, @@ -1242,11 +1536,11 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

The ARN of the schema that contains the facet and attribute.

" + "documentation":"

The Amazon Resource Name (ARN) of the schema that contains the facet and attribute.

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

The name of the facet the attribute exists within.

" + "documentation":"

The name of the facet that the attribute exists within.

" }, "Name":{ "shape":"AttributeName", @@ -1287,6 +1581,32 @@ "min":1, "pattern":"^[a-zA-Z0-9._-]*$" }, + "AttributeNameAndValue":{ + "type":"structure", + "required":[ + "AttributeName", + "Value" + ], + "members":{ + "AttributeName":{ + "shape":"AttributeName", + "documentation":"

The attribute name of the typed link.

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

The value for the typed link.

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

Identifies the attribute name and value for a typed link.

" + }, + "AttributeNameAndValueList":{ + "type":"list", + "member":{"shape":"AttributeNameAndValue"} + }, + "AttributeNameList":{ + "type":"list", + "member":{"shape":"AttributeName"} + }, "BatchAddFacetToObject":{ "type":"structure", "required":[ @@ -1326,28 +1646,28 @@ "members":{ "ParentReference":{ "shape":"ObjectReference", - "documentation":"

Parent object reference.

" + "documentation":"

The parent object reference.

" }, "ChildReference":{ "shape":"ObjectReference", - "documentation":"

Child object reference to be attached to the object.

" + "documentation":"

The child object reference that is to be attached to the object.

" }, "LinkName":{ "shape":"LinkName", "documentation":"

The name of the link.

" } }, - "documentation":"

Represents the output of an AttachObject operation.

" + "documentation":"

Represents the output of an AttachObject operation.

" }, "BatchAttachObjectResponse":{ "type":"structure", "members":{ "attachedObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that has been attached.

" + "documentation":"

The ObjectIdentifier of the object that has been attached.

" } }, - "documentation":"

Represents the output batch AttachObject response operation.

" + "documentation":"

Represents the output batch AttachObject response operation.

" }, "BatchCreateObject":{ "type":"structure", @@ -1361,11 +1681,11 @@ "members":{ "SchemaFacet":{ "shape":"SchemaFacetList", - "documentation":"

List of FacetArns that will be associated with the object. For more information, see arns.

" + "documentation":"

A list of FacetArns that will be associated with the object. For more information, see arns.

" }, "ObjectAttributeList":{ "shape":"AttributeKeyAndValueList", - "documentation":"

Attribute map, which contains an attribute ARN as the key and attribute value as the map value.

" + "documentation":"

An attribute map, which contains an attribute ARN as the key and attribute value as the map value.

" }, "ParentReference":{ "shape":"ObjectReference", @@ -1380,17 +1700,17 @@ "documentation":"

The batch reference name. See Batches for more information.

" } }, - "documentation":"

Represents the output of a CreateObject operation.

" + "documentation":"

Represents the output of a CreateObject operation.

" }, "BatchCreateObjectResponse":{ "type":"structure", "members":{ "ObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

ID associated with the object.

" + "documentation":"

The ID that is associated with the object.

" } }, - "documentation":"

Represents the output of a CreateObject response operation.

" + "documentation":"

Represents the output of a CreateObject response operation.

" }, "BatchDeleteObject":{ "type":"structure", @@ -1398,16 +1718,16 @@ "members":{ "ObjectReference":{ "shape":"ObjectReference", - "documentation":"

Reference that identifies the object.

" + "documentation":"

The reference that identifies the object.

" } }, - "documentation":"

Represents the output of a DeleteObject operation.

" + "documentation":"

Represents the output of a DeleteObject operation.

" }, "BatchDeleteObjectResponse":{ "type":"structure", "members":{ }, - "documentation":"

Represents the output of a DeleteObject response operation.

" + "documentation":"

Represents the output of a DeleteObject response operation.

" }, "BatchDetachObject":{ "type":"structure", @@ -1430,17 +1750,17 @@ "documentation":"

The batch reference name. See Batches for more information.

" } }, - "documentation":"

Represents the output of a DetachObject operation.

" + "documentation":"

Represents the output of a DetachObject operation.

" }, "BatchDetachObjectResponse":{ "type":"structure", "members":{ "detachedObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the detached object.

" + "documentation":"

The ObjectIdentifier of the detached object.

" } }, - "documentation":"

Represents the output of a DetachObject response operation.

" + "documentation":"

Represents the output of a DetachObject response operation.

" }, "BatchListObjectAttributes":{ "type":"structure", @@ -1452,28 +1772,32 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

Token used for pagination.

" + "documentation":"

The pagination token.

" }, "MaxResults":{ "shape":"NumberResults", - "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "FacetFilter":{ + "shape":"SchemaFacet", + "documentation":"

Used to filter the list of object attributes that are associated with a certain facet.

" } }, - "documentation":"

Represents the output of a ListObjectAttributes operation.

" + "documentation":"

Represents the output of a ListObjectAttributes operation.

" }, "BatchListObjectAttributesResponse":{ "type":"structure", "members":{ "Attributes":{ "shape":"AttributeKeyAndValueList", - "documentation":"

Attributes map associated with the object. AttributeArn is the key; attribute value is the value.

" + "documentation":"

The attributes map that is associated with the object. AttributeArn is the key; attribute value is the value.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" } }, - "documentation":"

Represents the output of a ListObjectAttributes response operation.

" + "documentation":"

Represents the output of a ListObjectAttributes response operation.

" }, "BatchListObjectChildren":{ "type":"structure", @@ -1485,28 +1809,28 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

Token used for pagination.

" + "documentation":"

The pagination token.

" }, "MaxResults":{ "shape":"NumberResults", "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" } }, - "documentation":"

Represents the output of a ListObjectChildren operation.

" + "documentation":"

Represents the output of a ListObjectChildren operation.

" }, "BatchListObjectChildrenResponse":{ "type":"structure", "members":{ "Children":{ "shape":"LinkNameToObjectIdentifierMap", - "documentation":"

Children structure, which is a map with key as the LinkName and ObjectIdentifier as the value.

" + "documentation":"

The children structure, which is a map with the key as the LinkName and ObjectIdentifier as the value.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" } }, - "documentation":"

Represents the output of a ListObjectChildren response operation.

" + "documentation":"

Represents the output of a ListObjectChildren response operation.

" }, "BatchOperationIndex":{"type":"integer"}, "BatchReadException":{ @@ -1514,14 +1838,14 @@ "members":{ "Type":{ "shape":"BatchReadExceptionType", - "documentation":"

Type of exception, such as InvalidArnException.

" + "documentation":"

A type of exception, such as InvalidArnException.

" }, "Message":{ "shape":"ExceptionMessage", - "documentation":"

Exception message associated with the failure.

" + "documentation":"

An exception message that is associated with the failure.

" } }, - "documentation":"

Batch Read Exception structure, which contains exception type and message.

" + "documentation":"

The batch read exception structure, which contains the exception type and message.

" }, "BatchReadExceptionType":{ "type":"string", @@ -1539,14 +1863,14 @@ "members":{ "ListObjectAttributes":{ "shape":"BatchListObjectAttributes", - "documentation":"

Lists all attributes associated with an object.

" + "documentation":"

Lists all attributes that are associated with an object.

" }, "ListObjectChildren":{ "shape":"BatchListObjectChildren", "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" } }, - "documentation":"

Represents the output of a BatchRead operation.

" + "documentation":"

Represents the output of a BatchRead operation.

" }, "BatchReadOperationList":{ "type":"list", @@ -1564,7 +1888,7 @@ "documentation":"

Identifies which operation in a batch has failed.

" } }, - "documentation":"

Represents the output of a BatchRead response operation.

" + "documentation":"

Represents the output of a BatchRead response operation.

" }, "BatchReadOperationResponseList":{ "type":"list", @@ -1579,13 +1903,13 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "Operations":{ "shape":"BatchReadOperationList", - "documentation":"

List of operations that are part of the batch.

" + "documentation":"

A list of operations that are part of the batch.

" }, "ConsistencyLevel":{ "shape":"ConsistencyLevel", @@ -1600,7 +1924,7 @@ "members":{ "Responses":{ "shape":"BatchReadOperationResponseList", - "documentation":"

List of all the responses for each batch read.

" + "documentation":"

A list of all the responses for each batch read.

" } } }, @@ -1609,14 +1933,14 @@ "members":{ "ListObjectAttributes":{ "shape":"BatchListObjectAttributesResponse", - "documentation":"

Lists all attributes associated with an object.

" + "documentation":"

Lists all attributes that are associated with an object.

" }, "ListObjectChildren":{ "shape":"BatchListObjectChildrenResponse", - "documentation":"

Returns a paginated list of child objects associated with a given object.

" + "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" } }, - "documentation":"

Represents the output of a BatchRead success response operation.

" + "documentation":"

Represents the output of a BatchRead success response operation.

" }, "BatchReferenceName":{"type":"string"}, "BatchRemoveFacetFromObject":{ @@ -1635,13 +1959,13 @@ "documentation":"

A reference to the object whose facet will be removed.

" } }, - "documentation":"

Batch operation to remove a facet from an object.

" + "documentation":"

A batch operation to remove a facet from an object.

" }, "BatchRemoveFacetFromObjectResponse":{ "type":"structure", "members":{ }, - "documentation":"

Empty result representing success.

" + "documentation":"

An empty result that represents success.

" }, "BatchUpdateObjectAttributes":{ "type":"structure", @@ -1659,17 +1983,17 @@ "documentation":"

Attributes update structure.

" } }, - "documentation":"

Represents the output of a BatchUpdate operation.

" + "documentation":"

Represents the output of a BatchUpdate operation.

" }, "BatchUpdateObjectAttributesResponse":{ "type":"structure", "members":{ "ObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

ID associated with the object.

" + "documentation":"

ID that is associated with the object.

" } }, - "documentation":"

Represents the output of a BatchUpdate response operation.

" + "documentation":"

Represents the output of a BatchUpdate response operation.

" }, "BatchWriteException":{ "type":"structure", @@ -1678,7 +2002,7 @@ "Type":{"shape":"BatchWriteExceptionType"}, "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

A BatchWrite exception has occurred.

", + "documentation":"

A BatchWrite exception has occurred.

", "exception":true }, "BatchWriteExceptionType":{ @@ -1712,7 +2036,7 @@ }, "UpdateObjectAttributes":{ "shape":"BatchUpdateObjectAttributes", - "documentation":"

Update a given object's attributes.

" + "documentation":"

Updates a given object's attributes.

" }, "DeleteObject":{ "shape":"BatchDeleteObject", @@ -1720,14 +2044,14 @@ }, "AddFacetToObject":{ "shape":"BatchAddFacetToObject", - "documentation":"

Batch operation adding a facet to an object.

" + "documentation":"

A batch operation that adds a facet to an object.

" }, "RemoveFacetFromObject":{ "shape":"BatchRemoveFacetFromObject", - "documentation":"

Batch operation removing a facet from an object.

" + "documentation":"

A batch operation that removes a facet from an object.

" } }, - "documentation":"

Represents the output of a BatchWrite operation.

" + "documentation":"

Represents the output of a BatchWrite operation.

" }, "BatchWriteOperationList":{ "type":"list", @@ -1758,14 +2082,14 @@ }, "AddFacetToObject":{ "shape":"BatchAddFacetToObjectResponse", - "documentation":"

Result of an add facet to object batch operation.

" + "documentation":"

The result of an add facet to object batch operation.

" }, "RemoveFacetFromObject":{ "shape":"BatchRemoveFacetFromObjectResponse", - "documentation":"

Result of a batch remove facet from object operation.

" + "documentation":"

The result of a batch remove facet from object operation.

" } }, - "documentation":"

Represents the output of a BatchWrite response operation.

" + "documentation":"

Represents the output of a BatchWrite response operation.

" }, "BatchWriteOperationResponseList":{ "type":"list", @@ -1780,13 +2104,13 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "Operations":{ "shape":"BatchWriteOperationList", - "documentation":"

List of operations that are part of the batch.

" + "documentation":"

A list of operations that are part of the batch.

" } } }, @@ -1795,7 +2119,7 @@ "members":{ "Responses":{ "shape":"BatchWriteOperationResponseList", - "documentation":"

List of all the responses for each batch write.

" + "documentation":"

A list of all the responses for each batch write.

" } } }, @@ -1827,11 +2151,11 @@ "members":{ "Name":{ "shape":"DirectoryName", - "documentation":"

Name of the Directory. Should be unique per account, per region.

" + "documentation":"

The name of the Directory. Should be unique per account, per region.

" }, "SchemaArn":{ "shape":"Arn", - "documentation":"

ARN of the published schema that will be copied into the data Directory. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) of the published schema that will be copied into the data Directory. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" } @@ -1848,11 +2172,11 @@ "members":{ "DirectoryArn":{ "shape":"DirectoryArn", - "documentation":"

ARN associated with the Directory. For more information, see arns.

" + "documentation":"

The ARN that is associated with the Directory. For more information, see arns.

" }, "Name":{ "shape":"DirectoryName", - "documentation":"

Name of the Directory.

" + "documentation":"

The name of the Directory.

" }, "ObjectIdentifier":{ "shape":"ObjectIdentifier", @@ -1860,7 +2184,7 @@ }, "AppliedSchemaArn":{ "shape":"Arn", - "documentation":"

ARN of the published schema in the Directory. Once a published schema is copied into the directory, it has its own ARN which is referred to applied schema ARN. For more information, see arns.

" + "documentation":"

The ARN of the published schema in the Directory. Once a published schema is copied into the directory, it has its own ARN, which is referred to applied schema ARN. For more information, see arns.

" } } }, @@ -1874,21 +2198,21 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

Schema ARN in which the new Facet will be created. For more information, see arns.

", + "documentation":"

The schema ARN in which the new Facet will be created. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "Name":{ "shape":"FacetName", - "documentation":"

Name of the Facet, which is unique for a given schema.

" + "documentation":"

The name of the Facet, which is unique for a given schema.

" }, "Attributes":{ "shape":"FacetAttributeList", - "documentation":"

Attributes associated with the Facet.e

" + "documentation":"

The attributes that are associated with the Facet.

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

Specifies whether a given object created from this facet is of type Node, Leaf Node, Policy or Index.

  • Node: Can have multiple children but one parent.

  • Leaf Node: Cannot have children but can have multiple parents.

  • Policy: Allows you to store a policy document and policy type. For more information, see Policies.

  • Index: Can be created with the Index API.

" + "documentation":"

Specifies whether a given object created from this facet is of type node, leaf node, policy or index.

  • Node: Can have multiple children but one parent.

  • Leaf node: Cannot have children but can have multiple parents.

  • Policy: Allows you to store a policy document and policy type. For more information, see Policies.

  • Index: Can be created with the Index API.

" } } }, @@ -1913,11 +2237,11 @@ }, "OrderedIndexedAttributeList":{ "shape":"AttributeKeyList", - "documentation":"

Specifies the Attributes that should be indexed on. Currently only a single attribute is supported.

" + "documentation":"

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

" }, "IsUnique":{ "shape":"Bool", - "documentation":"

Indicates whether objects with the same indexed attribute value can be added to the index.

" + "documentation":"

Indicates whether the attribute that is being indexed has unique values or not.

" }, "ParentReference":{ "shape":"ObjectReference", @@ -1934,7 +2258,7 @@ "members":{ "ObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the index created by this operation.

" + "documentation":"

The ObjectIdentifier of the index created by this operation.

" } } }, @@ -1947,17 +2271,17 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory in which the object will be created. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory in which the object will be created. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "SchemaFacets":{ "shape":"SchemaFacetList", - "documentation":"

List of facet ARNs to be associated with the object. For more information, see arns.

" + "documentation":"

A list of schema facets to be associated with the object that contains SchemaArn and facet name. For more information, see arns.

" }, "ObjectAttributeList":{ "shape":"AttributeKeyAndValueList", - "documentation":"

Attribute map whose attribute ARN contains the key and attribute value as the map value.

" + "documentation":"

The attribute map whose attribute ARN contains the key and attribute value as the map value.

" }, "ParentReference":{ "shape":"ObjectReference", @@ -1974,7 +2298,7 @@ "members":{ "ObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

Identifier associated with the object.

" + "documentation":"

The identifier that is associated with the object.

" } } }, @@ -1984,7 +2308,7 @@ "members":{ "Name":{ "shape":"SchemaName", - "documentation":"

Name associated with the schema. This is unique to each account and in each region.

" + "documentation":"

The name that is associated with the schema. This is unique to each account and in each region.

" } } }, @@ -1993,10 +2317,34 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

ARN associated with the schema. For more information, see arns.

" + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

" } } }, + "CreateTypedLinkFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Facet" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Facet":{ + "shape":"TypedLinkFacet", + "documentation":"

Facet structure that is associated with the typed link facet.

" + } + } + }, + "CreateTypedLinkFacetResponse":{ + "type":"structure", + "members":{ + } + }, "Date":{"type":"timestamp"}, "DatetimeAttributeValue":{"type":"timestamp"}, "DeleteDirectoryRequest":{ @@ -2030,7 +2378,7 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Facet. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, @@ -2054,13 +2402,13 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where the object resides. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "ObjectReference":{ "shape":"ObjectReference", - "documentation":"

Reference that identifies the object.

" + "documentation":"

A reference that identifies the object.

" } } }, @@ -2075,7 +2423,7 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

ARN of the development schema. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" } @@ -2086,10 +2434,34 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

Input ARN that is returned as part of the response. For more information, see arns.

" + "documentation":"

The input ARN that is returned as part of the response. For more information, see arns.

" } } }, + "DeleteTypedLinkFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + } + } + }, + "DeleteTypedLinkFacetResponse":{ + "type":"structure", + "members":{ + } + }, "DetachFromIndexRequest":{ "type":"structure", "required":[ @@ -2100,7 +2472,7 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

The ARN of the directory the index and object exist in.

", + "documentation":"

The Amazon Resource Name (ARN) of the directory the index and object exist in.

", "location":"header", "locationName":"x-amz-data-partition" }, @@ -2119,7 +2491,7 @@ "members":{ "DetachedObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that was detached from the index.

" + "documentation":"

The ObjectIdentifier of the object that was detached from the index.

" } } }, @@ -2133,17 +2505,17 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where objects reside. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "ParentReference":{ "shape":"ObjectReference", - "documentation":"

Parent reference from which the object with the specified link name is detached.

" + "documentation":"

The parent reference from which the object with the specified link name is detached.

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

Link name associated with the object that needs to be detached.

" + "documentation":"

The link name associated with the object that needs to be detached.

" } } }, @@ -2152,7 +2524,7 @@ "members":{ "DetachedObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier that was detached from the object.

" + "documentation":"

The ObjectIdentifier that was detached from the object.

" } } }, @@ -2166,7 +2538,7 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where both objects reside. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, @@ -2185,6 +2557,25 @@ "members":{ } }, + "DetachTypedLinkRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TypedLinkSpecifier" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to detach the typed link.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Used to accept a typed link specifier as input.

" + } + } + }, "Directory":{ "type":"structure", "members":{ @@ -2194,11 +2585,11 @@ }, "DirectoryArn":{ "shape":"DirectoryArn", - "documentation":"

ARN associated with the directory. For more information, see arns.

" + "documentation":"

The Amazon Resource Name (ARN) that is associated with the directory. For more information, see arns.

" }, "State":{ "shape":"DirectoryState", - "documentation":"

The state of the directory. Can be either Enabled, Disabled, or Deleted.

" + "documentation":"

The state of the directory. Can be either Enabled, Disabled, or Deleted.

" }, "CreationDateTime":{ "shape":"Date", @@ -2222,7 +2613,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

A directory that has been deleted has been attempted to be accessed. Note: The requested resource will eventually cease to exist.

", + "documentation":"

A directory that has been deleted and to which access has been attempted. Note: The requested resource will eventually cease to exist.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2316,10 +2707,10 @@ }, "ObjectType":{ "shape":"ObjectType", - "documentation":"

Object type associated with the facet. See CreateFacetRequest$ObjectType for more details.

" + "documentation":"

The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

" } }, - "documentation":"

A structure that contains Name, ARN, Attributes, Rules, and ObjectTypes.

" + "documentation":"

A structure that contains Name, ARN, Attributes, Rules, and ObjectTypes.

" }, "FacetAlreadyExistsException":{ "type":"structure", @@ -2344,14 +2735,14 @@ }, "AttributeReference":{ "shape":"FacetAttributeReference", - "documentation":"

Attribute reference associated with the attribute. See Attribute References for more information.

" + "documentation":"

An attribute reference that is associated with the attribute. See Attribute References for more information.

" }, "RequiredBehavior":{ "shape":"RequiredAttributeBehavior", - "documentation":"

The required behavior of the FacetAttribute.

" + "documentation":"

The required behavior of the FacetAttribute.

" } }, - "documentation":"

Attribute associated with the Facet.

" + "documentation":"

An attribute that is associated with the Facet.

" }, "FacetAttributeDefinition":{ "type":"structure", @@ -2389,14 +2780,14 @@ "members":{ "TargetFacetName":{ "shape":"FacetName", - "documentation":"

Target facet name associated with the facet reference. See Attribute References for more information.

" + "documentation":"

The target facet name that is associated with the facet reference. See Attribute References for more information.

" }, "TargetAttributeName":{ "shape":"AttributeName", - "documentation":"

Target attribute name associated with the facet reference. See Attribute References for more information.

" + "documentation":"

The target attribute name that is associated with the facet reference. See Attribute References for more information.

" } }, - "documentation":"

Facet attribute reference that specifies the attribute definition which contains attribute facet name and attribute name.

" + "documentation":"

The facet attribute reference that specifies the attribute definition that contains the attribute facet name and attribute name.

" }, "FacetAttributeType":{ "type":"string", @@ -2431,7 +2822,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Occurs when deleting a facet that contains an attribute which is a target to an attribute reference in a different facet.

", + "documentation":"

Occurs when deleting a facet that contains an attribute that is a target to an attribute reference in a different facet.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2459,7 +2850,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

The Facet you provided was not well formed or could not be validated with the schema.

", + "documentation":"

The Facet that you provided was not well formed or could not be validated with the schema.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2494,7 +2885,7 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Facet. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, @@ -2509,7 +2900,7 @@ "members":{ "Facet":{ "shape":"Facet", - "documentation":"

Facet structure associated with the facet.

" + "documentation":"

The Facet structure that is associated with the facet.

" } } }, @@ -2547,7 +2938,7 @@ }, "ObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the specified object.

" + "documentation":"

The ObjectIdentifier of the specified object.

" } } }, @@ -2576,6 +2967,34 @@ } } }, + "GetTypedLinkFacetInformationRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + } + } + }, + "GetTypedLinkFacetInformationResponse":{ + "type":"structure", + "members":{ + "IdentityAttributeOrder":{ + "shape":"AttributeNameList", + "documentation":"

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

" + } + } + }, "IndexAttachment":{ "type":"structure", "members":{ @@ -2585,7 +3004,7 @@ }, "ObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object attached to the index.

" + "documentation":"

The ObjectIdentifier of the object attached to the index.

" } }, "documentation":"

Represents an index and an attached object.

" @@ -2626,7 +3045,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates that an attempt to attach an object with the same link name or to apply a schema with same name has occurred. Rename the link or the schema and then try again.

", + "documentation":"

Indicates that an attempt to attach an object with the same link name or to apply a schema with the same name has occurred. Rename the link or the schema and then try again.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2644,7 +3063,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates that the NextToken value is not valid.

", + "documentation":"

Indicates that the NextToken value is not valid.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2662,7 +3081,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates that the provided SchemaDoc value is not valid.

", + "documentation":"

Indicates that the provided SchemaDoc value is not valid.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2680,13 +3099,15 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates limits are exceeded. See Limits for more information.

", + "documentation":"

Indicates that limits are exceeded. See Limits for more information.

", "error":{"httpStatusCode":400}, "exception":true }, "LinkName":{ "type":"string", - "max":64 + "max":64, + "min":1, + "pattern":"[^\\/\\[\\]\\(\\):\\{\\}#@!?\\s\\\\;]+" }, "LinkNameAlreadyInUseException":{ "type":"structure", @@ -2828,7 +3249,7 @@ "members":{ "Directories":{ "shape":"DirectoryList", - "documentation":"

Lists all directories associated with your account in pagination fashion.

" + "documentation":"

Lists all directories that are associated with your account in pagination fashion.

" }, "NextToken":{ "shape":"NextToken", @@ -2882,7 +3303,7 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

The ARN to retrieve facet names from.

", + "documentation":"

The Amazon Resource Name (ARN) to retrieve facet names from.

", "location":"header", "locationName":"x-amz-data-partition" }, @@ -2892,7 +3313,7 @@ }, "MaxResults":{ "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve

" + "documentation":"

The maximum number of results to retrieve.

" } } }, @@ -2909,6 +3330,58 @@ } } }, + "ListIncomingTypedLinksRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose attributes will be listed.

" + }, + "FilterAttributeRanges":{ + "shape":"TypedLinkAttributeRangeList", + "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" + }, + "FilterTypedLink":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

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

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

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

The consistency level to execute the request at.

" + } + } + }, + "ListIncomingTypedLinksResponse":{ + "type":"structure", + "members":{ + "LinkSpecifiers":{ + "shape":"TypedLinkSpecifierList", + "documentation":"

Returns one or more typed link specifiers as output.

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

The pagination token.

" + } + } + }, "ListIndexRequest":{ "type":"structure", "required":[ @@ -2968,27 +3441,31 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where the object resides. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "ObjectReference":{ "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose attributes will be listed.

" + "documentation":"

The reference that identifies the object whose attributes will be listed.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" }, "MaxResults":{ "shape":"NumberResults", - "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" }, "ConsistencyLevel":{ "shape":"ConsistencyLevel", "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", "location":"header", "locationName":"x-amz-consistency-level" + }, + "FacetFilter":{ + "shape":"SchemaFacet", + "documentation":"

Used to filter the list of object attributes that are associated with a certain facet.

" } } }, @@ -2997,11 +3474,11 @@ "members":{ "Attributes":{ "shape":"AttributeKeyAndValueList", - "documentation":"

Attributes map associated with the object. AttributeArn is the key, and attribute value is the value.

" + "documentation":"

Attributes map that is associated with the object. AttributeArn is the key, and attribute value is the value.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" } } }, @@ -3014,21 +3491,21 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where the object resides. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "ObjectReference":{ "shape":"ObjectReference", - "documentation":"

Reference that identifies the object for which child objects are being listed.

" + "documentation":"

The reference that identifies the object for which child objects are being listed.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" }, "MaxResults":{ "shape":"NumberResults", - "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" }, "ConsistencyLevel":{ "shape":"ConsistencyLevel", @@ -3043,11 +3520,51 @@ "members":{ "Children":{ "shape":"LinkNameToObjectIdentifierMap", - "documentation":"

Children structure, which is a map with key as the LinkName and ObjectIdentifier as the value.

" + "documentation":"

Children structure, which is a map with key as the LinkName and ObjectIdentifier as the value.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" + } + } + }, + "ListObjectParentPathsRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory to which the parent path applies.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose parent paths are listed.

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

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + } + } + }, + "ListObjectParentPathsResponse":{ + "type":"structure", + "members":{ + "PathToObjectIdentifiersList":{ + "shape":"PathToObjectIdentifiersList", + "documentation":"

Returns the path to the ObjectIdentifiers that are associated with the directory.

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

The pagination token.

" } } }, @@ -3060,21 +3577,21 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where the object resides. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "ObjectReference":{ "shape":"ObjectReference", - "documentation":"

Reference that identifies the object for which parent objects are being listed.

" + "documentation":"

The reference that identifies the object for which parent objects are being listed.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" }, "MaxResults":{ "shape":"NumberResults", - "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" }, "ConsistencyLevel":{ "shape":"ConsistencyLevel", @@ -3089,11 +3606,11 @@ "members":{ "Parents":{ "shape":"ObjectIdentifierToLinkNameMap", - "documentation":"

Parent structure, which is a map with key as the ObjectIdentifier and LinkName as the value.

" + "documentation":"

The parent structure, which is a map with key as the ObjectIdentifier and LinkName as the value.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" } } }, @@ -3106,7 +3623,7 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where objects reside. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, @@ -3116,11 +3633,11 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

Token used for pagination.

" + "documentation":"

The pagination token.

" }, "MaxResults":{ "shape":"NumberResults", - "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" }, "ConsistencyLevel":{ "shape":"ConsistencyLevel", @@ -3135,11 +3652,63 @@ "members":{ "AttachedPolicyIds":{ "shape":"ObjectIdentifierList", - "documentation":"

List of policy ObjectIdentifiers, that are attached to the object.

" + "documentation":"

A list of policy ObjectIdentifiers, that are attached to the object.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" + } + } + }, + "ListOutgoingTypedLinksRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference that identifies the object whose attributes will be listed.

" + }, + "FilterAttributeRanges":{ + "shape":"TypedLinkAttributeRangeList", + "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" + }, + "FilterTypedLink":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

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

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

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

The consistency level to execute the request at.

" + } + } + }, + "ListOutgoingTypedLinksResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifiers":{ + "shape":"TypedLinkSpecifierList", + "documentation":"

Returns a typed link specifier as output.

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

The pagination token.

" } } }, @@ -3152,21 +3721,21 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where objects reside. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "PolicyReference":{ "shape":"ObjectReference", - "documentation":"

Reference that identifies the policy object.

" + "documentation":"

The reference that identifies the policy object.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" }, "MaxResults":{ "shape":"NumberResults", - "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" }, "ConsistencyLevel":{ "shape":"ConsistencyLevel", @@ -3181,11 +3750,11 @@ "members":{ "ObjectIdentifiers":{ "shape":"ObjectIdentifierList", - "documentation":"

List of ObjectIdentifiers to which the policy is attached.

" + "documentation":"

A list of ObjectIdentifiers to which the policy is attached.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" } } }, @@ -3221,15 +3790,15 @@ "members":{ "ResourceArn":{ "shape":"Arn", - "documentation":"

ARN of the resource. Tagging is only supported for directories.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

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

Next token used for pagination. This is for future use. Currently pagination is not supported for tagging.

" + "documentation":"

The pagination token. This is for future use. Currently pagination is not supported for tagging.

" }, "MaxResults":{ "shape":"TagsNumberResults", - "documentation":"

The MaxResults parameter sets the maximum number of results returned in a single page. This is for future use and is not supported currently.

" + "documentation":"

The MaxResults parameter sets the maximum number of results returned in a single page. This is for future use and is not supported currently.

" } } }, @@ -3238,7 +3807,7 @@ "members":{ "Tags":{ "shape":"TagList", - "documentation":"

List of tag key value pairs associated with the response.

" + "documentation":"

A list of tag key value pairs that are associated with the response.

" }, "NextToken":{ "shape":"NextToken", @@ -3246,6 +3815,79 @@ } } }, + "ListTypedLinkFacetAttributesRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

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

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListTypedLinkFacetAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"TypedLinkAttributeDefinitionList", + "documentation":"

An ordered set of attributes associate with the typed link.

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

The pagination token.

" + } + } + }, + "ListTypedLinkFacetNamesRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListTypedLinkFacetNamesResponse":{ + "type":"structure", + "members":{ + "FacetNames":{ + "shape":"TypedLinkNameList", + "documentation":"

The names of typed link facets that exist within the schema.

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

The pagination token.

" + } + } + }, "LookupPolicyRequest":{ "type":"structure", "required":[ @@ -3255,7 +3897,7 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, @@ -3269,7 +3911,7 @@ }, "MaxResults":{ "shape":"NumberResults", - "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" } } }, @@ -3278,11 +3920,11 @@ "members":{ "PolicyToPathList":{ "shape":"PolicyToPathList", - "documentation":"

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType.

" + "documentation":"

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

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

Token used for pagination.

" + "documentation":"

The pagination token.

" } } }, @@ -3292,7 +3934,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates the requested operation can only operate on index objects.

", + "documentation":"

Indicates that the requested operation can only operate on index objects.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -3301,7 +3943,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Occurs when any invalid operations are performed on an object which is not a node, such as calling ListObjectChildren for a leaf node object.

", + "documentation":"

Occurs when any invalid operations are performed on an object that is not a node, such as calling ListObjectChildren for a leaf node object.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -3310,21 +3952,21 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates the requested operation can only operate on policy objects.

", + "documentation":"

Indicates that the requested operation can only operate on policy objects.

", "error":{"httpStatusCode":400}, "exception":true }, "NumberAttributeValue":{"type":"string"}, "NumberResults":{ "type":"integer", - "min":0 + "min":1 }, "ObjectAlreadyDetachedException":{ "type":"structure", "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates the object is not attached to the index.

", + "documentation":"

Indicates that the object is not attached to the index.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -3333,7 +3975,7 @@ "members":{ "ObjectAttributeActionType":{ "shape":"UpdateActionType", - "documentation":"

Type can be either Update or Delete.

" + "documentation":"

A type that can be either Update or Delete.

" }, "ObjectAttributeUpdateValue":{ "shape":"TypedAttributeValue", @@ -3347,7 +3989,7 @@ "members":{ "AttributeKey":{ "shape":"AttributeKey", - "documentation":"

The key of the attribute the attribute range covers.

" + "documentation":"

The key of the attribute that the attribute range covers.

" }, "Range":{ "shape":"TypedAttributeValueRange", @@ -3393,7 +4035,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates the requested operation cannot be completed because the object has not been detached from the tree.

", + "documentation":"

Indicates that the requested operation cannot be completed because the object has not been detached from the tree.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -3402,10 +4044,10 @@ "members":{ "Selector":{ "shape":"SelectorObjectReference", - "documentation":"

Allows you to specify an object. You can identify an object in one of the following ways:

  • $ObjectIdentifier - Identifies the object by ObjectIdentifier

  • /some/path - Identifies the object based on path

  • #SomeBatchReference - Identifies the object in a batch call

" + "documentation":"

A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see Accessing Objects. You can identify an object in one of the following ways:

  • $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier

  • /some/path - Identifies the object based on path

  • #SomeBatchReference - Identifies the object in a batch call

" } }, - "documentation":"

Reference that identifies an object.

" + "documentation":"

The reference that identifies an object.

" }, "ObjectType":{ "type":"string", @@ -3417,23 +4059,41 @@ ] }, "PathString":{"type":"string"}, + "PathToObjectIdentifiers":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"PathString", + "documentation":"

The path that is used to identify the object starting from directory root.

" + }, + "ObjectIdentifiers":{ + "shape":"ObjectIdentifierList", + "documentation":"

Lists ObjectIdentifiers starting from directory root to the object in the request.

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

Returns the path to the ObjectIdentifiers that is associated with the directory.

" + }, + "PathToObjectIdentifiersList":{ + "type":"list", + "member":{"shape":"PathToObjectIdentifiers"} + }, "PolicyAttachment":{ "type":"structure", "members":{ "PolicyId":{ "shape":"ObjectIdentifier", - "documentation":"

The ID of PolicyAttachment.

" + "documentation":"

The ID of PolicyAttachment.

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

The ObjectIdentifier associated with PolicyAttachment.

" + "documentation":"

The ObjectIdentifier that is associated with PolicyAttachment.

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

The type of policy that can be associated with PolicyAttachment.

" + "documentation":"

The type of policy that can be associated with PolicyAttachment.

" } }, - "documentation":"

Contains the PolicyType, PolicyId, and the ObjectIdentifier to which it is attached.

" + "documentation":"

Contains the PolicyType, PolicyId, and the ObjectIdentifier to which it is attached. For more information, see Policies.

" }, "PolicyAttachmentList":{ "type":"list", @@ -3451,7 +4111,7 @@ "documentation":"

List of policy objects.

" } }, - "documentation":"

Used when a regular object exists in a Directory and you want to find all of the policies associated with that object and the parent to that object.

" + "documentation":"

Used when a regular object exists in a Directory and you want to find all of the policies that are associated with that object and the parent to that object.

" }, "PolicyToPathList":{ "type":"list", @@ -3467,17 +4127,17 @@ "members":{ "DevelopmentSchemaArn":{ "shape":"Arn", - "documentation":"

ARN associated with the development schema. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "Version":{ "shape":"Version", - "documentation":"

Version under which the schema will be published.

" + "documentation":"

The version under which the schema will be published.

" }, "Name":{ "shape":"SchemaName", - "documentation":"

New name under which the schema will be published. If this is not provided, the development schema is considered.

" + "documentation":"

The new name under which the schema will be published. If this is not provided, the development schema is considered.

" } } }, @@ -3486,7 +4146,7 @@ "members":{ "PublishedSchemaArn":{ "shape":"Arn", - "documentation":"

ARN associated with the published schema. For more information, see arns.

" + "documentation":"

The ARN that is associated with the published schema. For more information, see arns.

" } } }, @@ -3591,10 +4251,10 @@ }, "Parameters":{ "shape":"RuleParameterMap", - "documentation":"

Min and max parameters associated with the rule.

" + "documentation":"

The minimum and maximum parameters that are associated with the rule.

" } }, - "documentation":"

Contains an ARN and parameters associated with the rule.

" + "documentation":"

Contains an Amazon Resource Name (ARN) and parameters that are associated with the rule.

" }, "RuleKey":{ "type":"string", @@ -3637,7 +4297,7 @@ "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates a schema is already published.

", + "documentation":"

Indicates that a schema is already published.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -3662,7 +4322,7 @@ "SchemaJsonDocument":{"type":"string"}, "SchemaName":{ "type":"string", - "max":50, + "max":32, "min":1, "pattern":"^[a-zA-Z0-9._-]*$" }, @@ -3682,14 +4342,14 @@ "members":{ "Key":{ "shape":"TagKey", - "documentation":"

Key associated with the tag.

" + "documentation":"

The key that is associated with the tag.

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

Value associated with the tag.

" + "documentation":"

The value that is associated with the tag.

" } }, - "documentation":"

Tag structure which contains tag key and value.

" + "documentation":"

The tag structure that contains a tag key and value.

" }, "TagKey":{"type":"string"}, "TagKeyList":{ @@ -3709,11 +4369,11 @@ "members":{ "ResourceArn":{ "shape":"Arn", - "documentation":"

ARN of the resource. Tagging is only supported for directories.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

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

List of tag key value pairs.

" + "documentation":"

A list of tag key-value pairs.

" } } }, @@ -3762,7 +4422,7 @@ "members":{ "StartMode":{ "shape":"RangeMode", - "documentation":"

Inclusive or exclusive range start.

" + "documentation":"

The inclusive or exclusive range start.

" }, "StartValue":{ "shape":"TypedAttributeValue", @@ -3770,7 +4430,7 @@ }, "EndMode":{ "shape":"RangeMode", - "documentation":"

Inclusive or exclusive range end.

" + "documentation":"

The inclusive or exclusive range end.

" }, "EndValue":{ "shape":"TypedAttributeValue", @@ -3779,12 +4439,173 @@ }, "documentation":"

A range of attribute values.

" }, + "TypedLinkAttributeDefinition":{ + "type":"structure", + "required":[ + "Name", + "Type", + "RequiredBehavior" + ], + "members":{ + "Name":{ + "shape":"AttributeName", + "documentation":"

The unique name of the typed link attribute.

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

The type of the attribute.

" + }, + "DefaultValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The default value of the attribute (if configured).

" + }, + "IsImmutable":{ + "shape":"Bool", + "documentation":"

Whether the attribute is mutable or not.

" + }, + "Rules":{ + "shape":"RuleMap", + "documentation":"

Validation rules that are attached to the attribute definition.

" + }, + "RequiredBehavior":{ + "shape":"RequiredAttributeBehavior", + "documentation":"

The required behavior of the TypedLinkAttributeDefinition.

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

A typed link attribute definition.

" + }, + "TypedLinkAttributeDefinitionList":{ + "type":"list", + "member":{"shape":"TypedLinkAttributeDefinition"} + }, + "TypedLinkAttributeRange":{ + "type":"structure", + "required":["Range"], + "members":{ + "AttributeName":{ + "shape":"AttributeName", + "documentation":"

The unique name of the typed link attribute.

" + }, + "Range":{ + "shape":"TypedAttributeValueRange", + "documentation":"

The range of attribute values that are being selected.

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

Identifies the range of attributes that are used by a specified filter.

" + }, + "TypedLinkAttributeRangeList":{ + "type":"list", + "member":{"shape":"TypedLinkAttributeRange"} + }, + "TypedLinkFacet":{ + "type":"structure", + "required":[ + "Name", + "Attributes", + "IdentityAttributeOrder" + ], + "members":{ + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + }, + "Attributes":{ + "shape":"TypedLinkAttributeDefinitionList", + "documentation":"

A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.

" + }, + "IdentityAttributeOrder":{ + "shape":"AttributeNameList", + "documentation":"

The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypeLinks for details.

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

Defines the typed links structure and its attributes. To create a typed link facet, use the CreateTypedLinkFacet API.

" + }, + "TypedLinkFacetAttributeUpdate":{ + "type":"structure", + "required":[ + "Attribute", + "Action" + ], + "members":{ + "Attribute":{ + "shape":"TypedLinkAttributeDefinition", + "documentation":"

The attribute to update.

" + }, + "Action":{ + "shape":"UpdateActionType", + "documentation":"

The action to perform when updating the attribute.

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

A typed link facet attribute update.

" + }, + "TypedLinkFacetAttributeUpdateList":{ + "type":"list", + "member":{"shape":"TypedLinkFacetAttributeUpdate"} + }, + "TypedLinkName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "TypedLinkNameList":{ + "type":"list", + "member":{"shape":"TypedLinkName"} + }, + "TypedLinkSchemaAndFacetName":{ + "type":"structure", + "required":[ + "SchemaArn", + "TypedLinkName" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

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

The unique name of the typed link facet.

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

Identifies the schema Amazon Resource Name (ARN) and facet name for the typed link.

" + }, + "TypedLinkSpecifier":{ + "type":"structure", + "required":[ + "TypedLinkFacet", + "SourceObjectReference", + "TargetObjectReference", + "IdentityAttributeValues" + ], + "members":{ + "TypedLinkFacet":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Identifies the typed link facet that is associated with the typed link.

" + }, + "SourceObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the source object that the typed link will attach to.

" + }, + "TargetObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the target object that the typed link will attach to.

" + }, + "IdentityAttributeValues":{ + "shape":"AttributeNameAndValueList", + "documentation":"

Identifies the attribute value to update.

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

Contains all the information that is used to uniquely identify a typed link. The parameters discussed in this topic are used to uniquely specify the typed link being operated on. The AttachTypedLink API returns a typed link specifier while the DetachTypedLink API accepts one as input. Similarly, the ListIncomingTypedLinks and ListOutgoingTypedLinks API operations provide typed link specifiers as output. You can also construct a typed link specifier from scratch.

" + }, + "TypedLinkSpecifierList":{ + "type":"list", + "member":{"shape":"TypedLinkSpecifier"} + }, "UnsupportedIndexTypeException":{ "type":"structure", "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates the requested index type is not supported.

", + "documentation":"

Indicates that the requested index type is not supported.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -3797,11 +4618,11 @@ "members":{ "ResourceArn":{ "shape":"Arn", - "documentation":"

ARN of the resource. Tagging is only supported for directories.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" }, "TagKeys":{ "shape":"TagKeyList", - "documentation":"

Keys of the tag that needs to be removed from the resource.

" + "documentation":"

Keys of the tag that need to be removed from the resource.

" } } }, @@ -3826,21 +4647,21 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Facet. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "Name":{ "shape":"FacetName", - "documentation":"

" + "documentation":"

The name of the facet.

" }, "AttributeUpdates":{ "shape":"FacetAttributeUpdateList", - "documentation":"

List of attributes that need to be updated in a given schema Facet. Each attribute is followed by AttributeAction, which specifies the type of update operation to perform.

" + "documentation":"

List of attributes that need to be updated in a given schema Facet. Each attribute is followed by AttributeAction, which specifies the type of update operation to perform.

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

Object type associated with the facet. See CreateFacetRequest$ObjectType for more details.

" + "documentation":"

The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

" } } }, @@ -3859,17 +4680,17 @@ "members":{ "DirectoryArn":{ "shape":"Arn", - "documentation":"

ARN associated with the Directory where the object resides. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "ObjectReference":{ "shape":"ObjectReference", - "documentation":"

Reference that identifies the object.

" + "documentation":"

The reference that identifies the object.

" }, "AttributeUpdates":{ "shape":"ObjectAttributeUpdateList", - "documentation":"

Attributes update structure.

" + "documentation":"

The attributes update structure.

" } } }, @@ -3878,7 +4699,7 @@ "members":{ "ObjectIdentifier":{ "shape":"ObjectIdentifier", - "documentation":"

ObjectIdentifier of the updated object.

" + "documentation":"

The ObjectIdentifier of the updated object.

" } } }, @@ -3891,13 +4712,13 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

ARN of the development schema. For more information, see arns.

", + "documentation":"

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", "location":"header", "locationName":"x-amz-data-partition" }, "Name":{ "shape":"SchemaName", - "documentation":"

Name of the schema.

" + "documentation":"

The name of the schema.

" } } }, @@ -3906,16 +4727,50 @@ "members":{ "SchemaArn":{ "shape":"Arn", - "documentation":"

ARN associated with the updated schema. For more information, see arns.

" + "documentation":"

The ARN that is associated with the updated schema. For more information, see arns.

" } } }, + "UpdateTypedLinkFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name", + "AttributeUpdates", + "IdentityAttributeOrder" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + }, + "AttributeUpdates":{ + "shape":"TypedLinkFacetAttributeUpdateList", + "documentation":"

Attributes update structure.

" + }, + "IdentityAttributeOrder":{ + "shape":"AttributeNameList", + "documentation":"

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to a typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

" + } + } + }, + "UpdateTypedLinkFacetResponse":{ + "type":"structure", + "members":{ + } + }, "ValidationException":{ "type":"structure", "members":{ "Message":{"shape":"ExceptionMessage"} }, - "documentation":"

Indicates your request is malformed in some manner. See the exception message.

", + "documentation":"

Indicates that your request is malformed in some manner. See the exception message.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -3926,5 +4781,5 @@ "pattern":"^[a-zA-Z0-9._-]*$" } }, - "documentation":"Amazon Cloud Directory

Amazon Cloud Directory is a component of the AWS Directory Service that simplifies the development and management of cloud-scale web, mobile and IoT applications. This guide describes the Cloud Directory operations that you can call programatically and includes detailed information on data types and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

" + "documentation":"Amazon Cloud Directory

Amazon Cloud Directory is a component of the AWS Directory Service that simplifies the development and management of cloud-scale web, mobile, and IoT applications. This guide describes the Cloud Directory operations that you can call programmatically and includes detailed information on data types and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

" } diff --git a/botocore/data/cloudformation/2010-05-15/examples-1.json b/botocore/data/cloudformation/2010-05-15/examples-1.json new file mode 100644 index 00000000..e7802626 --- /dev/null +++ b/botocore/data/cloudformation/2010-05-15/examples-1.json @@ -0,0 +1,158 @@ +{ + "version": "1.0", + "examples": { + "CancelUpdateStack": [ + { + "input": { + "StackName": "MyStack" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example cancels an update of the specified stack.", + "id": "to-cancel-a-stack-update-that-is-in-progress-1472747085196", + "title": "To cancel a stack update in progress" + } + ], + "UpdateStack": [ + { + "input": { + "NotificationARNs": [ + + ], + "Parameters": [ + { + "ParameterKey": "KeyPairName", + "ParameterValue": "ExampleKeyPair" + }, + { + "ParameterKey": "SubnetIDs", + "ParameterValue": "ExampleSubnetID1, ExampleSubnetID2" + } + ], + "ResourceTypes": [ + + ], + "StackName": "MyStack", + "Tags": [ + + ], + "TemplateURL": "https://s3.amazonaws.com/example/updated.template" + }, + "output": { + "StackId": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the template and input parameters for the specified stack.", + "id": "to-update-an-aws-cloudformation-stack-1472841931621", + "title": "To update an AWS CloudFormation stack" + }, + { + "input": { + "NotificationARNs": [ + + ], + "Parameters": [ + { + "ParameterKey": "KeyPairName", + "UsePreviousValue": true + }, + { + "ParameterKey": "SubnetIDs", + "ParameterValue": "SampleSubnetID1, UpdatedSampleSubnetID2" + } + ], + "ResourceTypes": [ + + ], + "StackName": "MyStack", + "Tags": [ + + ], + "TemplateURL": "https://s3.amazonaws.com/example/updated.template" + }, + "output": { + "StackId": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates only the the specified parameter value for the specified stack. If you don't specify a parameter value, AWS CloudFormation uses the default value from the template.", + "id": "to-update-an-aws-cloudformation-stack-1472841931621", + "title": "To update an AWS CloudFormation stack" + }, + { + "input": { + "Capabilities": [ + + ], + "NotificationARNs": [ + "arn:aws:sns:use-east-1:123456789012:mytopic1", + "arn:aws:sns:us-east-1:123456789012:mytopic2" + ], + "Parameters": [ + + ], + "ResourceTypes": [ + + ], + "StackName": "MyStack", + "Tags": [ + + ], + "TemplateURL": "https://s3.amazonaws.com/example/updated.template", + "UsePreviousTemplate": true + }, + "output": { + "StackId": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds two stack notification topics to the specified stack.", + "id": "to-update-an-aws-cloudformation-stack-1472841931621", + "title": "To update an AWS CloudFormation stack" + } + ], + "ValidateTemplate": [ + { + "input": { + "TemplateBody": "MyTemplate.json" + }, + "output": { + "Capabilities": [ + + ], + "CapabilitiesReason": "", + "Description": "AWS CloudFormation Example Template S3_Bucket: An example template that shows how to create a publicly-accessible S3 bucket. IMPORTANT: This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", + "Parameters": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example validates the specified template.", + "id": "to-validate-an-aws-cloudformation-template-1472839072307", + "title": "To validate an AWS CloudFormation template" + } + ] + } +} diff --git a/botocore/data/cloudformation/2010-05-15/paginators-1.json b/botocore/data/cloudformation/2010-05-15/paginators-1.json index 4a7474ab..8485fd56 100644 --- a/botocore/data/cloudformation/2010-05-15/paginators-1.json +++ b/botocore/data/cloudformation/2010-05-15/paginators-1.json @@ -19,6 +19,16 @@ "input_token": "NextToken", "output_token": "NextToken", "result_key": "StackSummaries" + }, + "ListExports": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Exports" + }, + "ListImports": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Imports" } } } diff --git a/botocore/data/cloudformation/2010-05-15/service-2.json b/botocore/data/cloudformation/2010-05-15/service-2.json index af27d3db..7a7c1fd8 100644 --- a/botocore/data/cloudformation/2010-05-15/service-2.json +++ b/botocore/data/cloudformation/2010-05-15/service-2.json @@ -17,6 +17,9 @@ "requestUri":"/" }, "input":{"shape":"CancelUpdateStackInput"}, + "errors":[ + {"shape":"TokenAlreadyExistsException"} + ], "documentation":"

Cancels an update on the specified stack. If the call completes successfully, the stack rolls back the update and reverts to the previous stack configuration.

You can cancel only stacks that are in the UPDATE_IN_PROGRESS state.

" }, "ContinueUpdateRollback":{ @@ -30,6 +33,9 @@ "shape":"ContinueUpdateRollbackOutput", "resultWrapper":"ContinueUpdateRollbackResult" }, + "errors":[ + {"shape":"TokenAlreadyExistsException"} + ], "documentation":"

For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again.

A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation cannot roll back all changes after a failed stack update. For example, you might have a stack that is rolling back to an old database instance that was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.

" }, "CreateChangeSet":{ @@ -48,7 +54,7 @@ {"shape":"InsufficientCapabilitiesException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates a list of changes for a stack. AWS CloudFormation generates the change set by comparing the template's information with the information that you submit. A change set can help you understand which resources AWS CloudFormation will change, and how it will change them, before you update your stack. Change sets allow you to check before making a change to avoid deleting or replacing critical resources.

AWS CloudFormation doesn't make any changes to the stack when you create a change set. To make the specified changes, you must execute the change set by using the ExecuteChangeSet action.

After the call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set, use the DescribeChangeSet action.

" + "documentation":"

Creates a list of changes that will be applied to a stack so that you can review the changes before executing them. You can create a change set for a stack that doesn't exist or an existing stack. If you create a change set for a stack that doesn't exist, the change set shows all of the resources that AWS CloudFormation will create. If you create a change set for an existing stack, AWS CloudFormation compares the stack's information with the information that you submit in the change set and lists the differences. Use change sets to understand which resources AWS CloudFormation will create or change, and how it will change resources in an existing stack, before you create or update a stack.

To create a change set for a stack that doesn't exist, for the ChangeSetType parameter, specify CREATE. To create a change set for an existing stack, specify UPDATE for the ChangeSetType parameter. After the CreateChangeSet call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set or to review it, use the DescribeChangeSet action.

When you are satisfied with the changes the change set will make, execute the change set by using the ExecuteChangeSet action. AWS CloudFormation doesn't make changes until you execute the change set.

" }, "CreateStack":{ "name":"CreateStack", @@ -64,6 +70,7 @@ "errors":[ {"shape":"LimitExceededException"}, {"shape":"AlreadyExistsException"}, + {"shape":"TokenAlreadyExistsException"}, {"shape":"InsufficientCapabilitiesException"} ], "documentation":"

Creates a stack as specified in the template. After the call completes successfully, the stack creation starts. You can check the status of the stack via the DescribeStacks API.

" @@ -91,6 +98,9 @@ "requestUri":"/" }, "input":{"shape":"DeleteStackInput"}, + "errors":[ + {"shape":"TokenAlreadyExistsException"} + ], "documentation":"

Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted stacks do not show up in the DescribeStacks API if the deletion has been completed successfully.

" }, "DescribeAccountLimits":{ @@ -201,7 +211,8 @@ "errors":[ {"shape":"InvalidChangeSetStatusException"}, {"shape":"ChangeSetNotFoundException"}, - {"shape":"InsufficientCapabilitiesException"} + {"shape":"InsufficientCapabilitiesException"}, + {"shape":"TokenAlreadyExistsException"} ], "documentation":"

Updates a stack using the input information that was provided when the specified change set was created. After the call successfully completes, AWS CloudFormation starts updating the stack. Use the DescribeStacks action to view the status of the update.

When you execute a change set, AWS CloudFormation deletes all other change sets associated with the stack because they aren't valid for the updated stack.

If a stack policy is associated with the stack, AWS CloudFormation enforces the policy during the update. You can't specify a temporary stack policy that overrides the current policy.

" }, @@ -342,7 +353,8 @@ "resultWrapper":"UpdateStackResult" }, "errors":[ - {"shape":"InsufficientCapabilitiesException"} + {"shape":"InsufficientCapabilitiesException"}, + {"shape":"TokenAlreadyExistsException"} ], "documentation":"

Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack via the DescribeStacks action.

To get a copy of the template for an existing stack, you can use the GetTemplate action.

For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack.

" }, @@ -403,6 +415,10 @@ "StackName":{ "shape":"StackName", "documentation":"

The name or the unique stack ID that is associated with the stack.

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

A unique identifier for this CancelUpdateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to cancel an update on a stack with the same name. You might retry CancelUpdateStack requests to ensure that AWS CloudFormation successfully received them.

" } }, "documentation":"

The input for the CancelUpdateStack action.

" @@ -553,6 +569,12 @@ "type":"list", "member":{"shape":"Change"} }, + "ClientRequestToken":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z][-a-zA-Z0-9]*" + }, "ClientToken":{ "type":"string", "max":128, @@ -572,7 +594,11 @@ }, "ResourcesToSkip":{ "shape":"ResourcesToSkip", - "documentation":"

A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the UPDATE_FAILED state because a rollback failed. You can't specify resources that are in the UPDATE_FAILED state for other reasons, for example, because an update was canceled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.

Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.

To specify resources in a nested stack, use the following format: NestedStackName.ResourceLogicalID. You can specify a nested stack resource (the logical ID of an AWS::CloudFormation::Stack resource) only if it's in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED.

" + "documentation":"

A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the UPDATE_FAILED state because a rollback failed. You can't specify resources that are in the UPDATE_FAILED state for other reasons, for example, because an update was canceled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.

Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.

To specify resources in a nested stack, use the following format: NestedStackName.ResourceLogicalID. If the ResourceLogicalID is a stack resource (Type: AWS::CloudFormation::Stack), it must be in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED.

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

A unique identifier for this ContinueUpdateRollback request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to continue the rollback to a stack with the same name. You might retry ContinueUpdateRollback requests to ensure that AWS CloudFormation successfully received them.

" } }, "documentation":"

The input for the ContinueUpdateRollback action.

" @@ -693,7 +719,7 @@ }, "NotificationARNs":{ "shape":"NotificationARNs", - "documentation":"

The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI).

" + "documentation":"

The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI).

" }, "Capabilities":{ "shape":"Capabilities", @@ -722,6 +748,10 @@ "Tags":{ "shape":"Tags", "documentation":"

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 10 tags can be specified.

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

A unique identifier for this CreateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create a stack with the same name. You might retry CreateStack requests to ensure that AWS CloudFormation successfully received them.

" } }, "documentation":"

The input for CreateStack action.

" @@ -773,6 +803,10 @@ "RoleARN":{ "shape":"RoleARN", "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to delete the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

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

A unique identifier for this DeleteStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to delete a stack with the same name. You might retry DeleteStack requests to ensure that AWS CloudFormation successfully received them.

" } }, "documentation":"

The input for DeleteStack action.

" @@ -1052,6 +1086,10 @@ "StackName":{ "shape":"StackNameOrId", "documentation":"

If you specified the name of a change set, specify the stack name or ID (ARN) that is associated with the change set you want to execute.

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

A unique identifier for this ExecuteChangeSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to execute a change set to update a stack with the same name. You might retry ExecuteChangeSet requests to ensure that AWS CloudFormation successfully received them.

" } }, "documentation":"

The input for the ExecuteChangeSet action.

" @@ -1835,6 +1873,10 @@ "ResourceProperties":{ "shape":"ResourceProperties", "documentation":"

BLOB of the properties used to create the resource.

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

The token passed to the operation that generated this event.

For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

" } }, "documentation":"

The StackEvent data type.

" @@ -2164,6 +2206,18 @@ "min":1 }, "Timestamp":{"type":"timestamp"}, + "TokenAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A client request token already exists.

", + "error":{ + "code":"TokenAlreadyExistsException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "TransformName":{"type":"string"}, "TransformsList":{ "type":"list", @@ -2179,15 +2233,15 @@ }, "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

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

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + "documentation":"

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

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

Reuse the existing template that is associated with the stack that you are updating.

" + "documentation":"

Reuse the existing template that is associated with the stack that you are updating.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

" }, "StackPolicyDuringUpdateBody":{ "shape":"StackPolicyDuringUpdateBody", @@ -2228,6 +2282,10 @@ "Tags":{ "shape":"Tags", "documentation":"

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 10 tags.

If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags.

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

A unique identifier for this UpdateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to update a stack with the same name. You might retry UpdateStack requests to ensure that AWS CloudFormation successfully received them.

" } }, "documentation":"

The input for an UpdateStack action.

" @@ -2287,5 +2345,5 @@ }, "Version":{"type":"string"} }, - "documentation":"AWS CloudFormation

AWS CloudFormation allows you to create and manage AWS infrastructure deployments predictably and repeatedly. You can use AWS CloudFormation to leverage AWS products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to build highly-reliable, highly scalable, cost-effective applications without creating or configuring the underlying AWS infrastructure.

With AWS CloudFormation, you declare all of your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. AWS CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you.

For more information about AWS CloudFormation, see the AWS CloudFormation Product Page.

Amazon CloudFormation makes use of other AWS products. For additional technical information about a specific AWS product, see its technical documentation.

" + "documentation":"AWS CloudFormation

AWS CloudFormation allows you to create and manage AWS infrastructure deployments predictably and repeatedly. You can use AWS CloudFormation to leverage AWS products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to build highly-reliable, highly scalable, cost-effective applications without creating or configuring the underlying AWS infrastructure.

With AWS CloudFormation, you declare all of your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. AWS CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you.

For more information about AWS CloudFormation, see the AWS CloudFormation Product Page.

Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can find the product's technical documentation at docs.aws.amazon.com.

" } diff --git a/botocore/data/cloudfront/2016-11-25/examples-1.json b/botocore/data/cloudfront/2016-11-25/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/cloudfront/2016-11-25/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/cloudfront/2017-03-25/examples-1.json b/botocore/data/cloudfront/2017-03-25/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/cloudfront/2017-03-25/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/cloudfront/2017-03-25/paginators-1.json b/botocore/data/cloudfront/2017-03-25/paginators-1.json new file mode 100644 index 00000000..51fbb907 --- /dev/null +++ b/botocore/data/cloudfront/2017-03-25/paginators-1.json @@ -0,0 +1,32 @@ +{ + "pagination": { + "ListCloudFrontOriginAccessIdentities": { + "input_token": "Marker", + "output_token": "CloudFrontOriginAccessIdentityList.NextMarker", + "limit_key": "MaxItems", + "more_results": "CloudFrontOriginAccessIdentityList.IsTruncated", + "result_key": "CloudFrontOriginAccessIdentityList.Items" + }, + "ListDistributions": { + "input_token": "Marker", + "output_token": "DistributionList.NextMarker", + "limit_key": "MaxItems", + "more_results": "DistributionList.IsTruncated", + "result_key": "DistributionList.Items" + }, + "ListInvalidations": { + "input_token": "Marker", + "output_token": "InvalidationList.NextMarker", + "limit_key": "MaxItems", + "more_results": "InvalidationList.IsTruncated", + "result_key": "InvalidationList.Items" + }, + "ListStreamingDistributions": { + "input_token": "Marker", + "output_token": "StreamingDistributionList.NextMarker", + "limit_key": "MaxItems", + "more_results": "StreamingDistributionList.IsTruncated", + "result_key": "StreamingDistributionList.Items" + } + } +} diff --git a/botocore/data/cloudfront/2017-03-25/service-2.json b/botocore/data/cloudfront/2017-03-25/service-2.json new file mode 100644 index 00000000..1f4064e6 --- /dev/null +++ b/botocore/data/cloudfront/2017-03-25/service-2.json @@ -0,0 +1,3607 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-03-25", + "endpointPrefix":"cloudfront", + "globalEndpoint":"cloudfront.amazonaws.com", + "protocol":"rest-xml", + "serviceAbbreviation":"CloudFront", + "serviceFullName":"Amazon CloudFront", + "signatureVersion":"v4", + "uid":"cloudfront-2017-03-25" + }, + "operations":{ + "CreateCloudFrontOriginAccessIdentity":{ + "name":"CreateCloudFrontOriginAccessIdentity2017_03_25", + "http":{ + "method":"POST", + "requestUri":"/2017-03-25/origin-access-identity/cloudfront", + "responseCode":201 + }, + "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, + "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, + "errors":[ + {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, + {"shape":"MissingBody"}, + {"shape":"TooManyCloudFrontOriginAccessIdentities"}, + {"shape":"InvalidArgument"}, + {"shape":"InconsistentQuantities"} + ], + "documentation":"

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

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

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

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

Create a new distribution with tags.

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

Create a new invalidation.

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

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

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

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

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

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

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

Create a new streaming distribution with tags.

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

Delete an origin access identity.

" + }, + "DeleteDistribution":{ + "name":"DeleteDistribution2017_03_25", + "http":{ + "method":"DELETE", + "requestUri":"/2017-03-25/distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"DistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Delete a distribution.

" + }, + "DeleteStreamingDistribution":{ + "name":"DeleteStreamingDistribution2017_03_25", + "http":{ + "method":"DELETE", + "requestUri":"/2017-03-25/streaming-distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteStreamingDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"StreamingDistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

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

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

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

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

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

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

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

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

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

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

" + }, + "GetCloudFrontOriginAccessIdentity":{ + "name":"GetCloudFrontOriginAccessIdentity2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/origin-access-identity/cloudfront/{Id}" + }, + "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, + "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, + "errors":[ + {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about an origin access identity.

" + }, + "GetCloudFrontOriginAccessIdentityConfig":{ + "name":"GetCloudFrontOriginAccessIdentityConfig2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/origin-access-identity/cloudfront/{Id}/config" + }, + "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, + "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, + "errors":[ + {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about an origin access identity.

" + }, + "GetDistribution":{ + "name":"GetDistribution2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/distribution/{Id}" + }, + "input":{"shape":"GetDistributionRequest"}, + "output":{"shape":"GetDistributionResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about a distribution.

" + }, + "GetDistributionConfig":{ + "name":"GetDistributionConfig2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/distribution/{Id}/config" + }, + "input":{"shape":"GetDistributionConfigRequest"}, + "output":{"shape":"GetDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a distribution.

" + }, + "GetInvalidation":{ + "name":"GetInvalidation2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/distribution/{DistributionId}/invalidation/{Id}" + }, + "input":{"shape":"GetInvalidationRequest"}, + "output":{"shape":"GetInvalidationResult"}, + "errors":[ + {"shape":"NoSuchInvalidation"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about an invalidation.

" + }, + "GetStreamingDistribution":{ + "name":"GetStreamingDistribution2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/streaming-distribution/{Id}" + }, + "input":{"shape":"GetStreamingDistributionRequest"}, + "output":{"shape":"GetStreamingDistributionResult"}, + "errors":[ + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

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

" + }, + "GetStreamingDistributionConfig":{ + "name":"GetStreamingDistributionConfig2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/streaming-distribution/{Id}/config" + }, + "input":{"shape":"GetStreamingDistributionConfigRequest"}, + "output":{"shape":"GetStreamingDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchStreamingDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a streaming distribution.

" + }, + "ListCloudFrontOriginAccessIdentities":{ + "name":"ListCloudFrontOriginAccessIdentities2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/origin-access-identity/cloudfront" + }, + "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, + "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Lists origin access identities.

" + }, + "ListDistributions":{ + "name":"ListDistributions2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/distribution" + }, + "input":{"shape":"ListDistributionsRequest"}, + "output":{"shape":"ListDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List distributions.

" + }, + "ListDistributionsByWebACLId":{ + "name":"ListDistributionsByWebACLId2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/distributionsByWebACLId/{WebACLId}" + }, + "input":{"shape":"ListDistributionsByWebACLIdRequest"}, + "output":{"shape":"ListDistributionsByWebACLIdResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"InvalidWebACLId"} + ], + "documentation":"

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

" + }, + "ListInvalidations":{ + "name":"ListInvalidations2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/distribution/{DistributionId}/invalidation" + }, + "input":{"shape":"ListInvalidationsRequest"}, + "output":{"shape":"ListInvalidationsResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Lists invalidation batches.

" + }, + "ListStreamingDistributions":{ + "name":"ListStreamingDistributions2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/streaming-distribution" + }, + "input":{"shape":"ListStreamingDistributionsRequest"}, + "output":{"shape":"ListStreamingDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List streaming distributions.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/tagging" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidTagging"}, + {"shape":"NoSuchResource"} + ], + "documentation":"

List tags for a CloudFront resource.

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

Add tags to a CloudFront resource.

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

Remove tags from a CloudFront resource.

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

Update an origin access identity.

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

Updates the configuration for a web distribution. Perform the following steps.

For information about updating a distribution using the CloudFront console, see Creating or Updating a Web Distribution Using the CloudFront Console in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you need to get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include the desired changes. You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into the existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

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

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

Update a streaming distribution.

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

Access denied.

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

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

For more information, see ActiveTrustedSigners.

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

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

For more information, see ActiveTrustedSigners.

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

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

For more information, see ActiveTrustedSigners.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A complex type that contains zero or more Lambda function associations for a cache behavior.

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

A complex type that describes how CloudFront processes requests.

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

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

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

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

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

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

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

The number of cache behaviors for this distribution.

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

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

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

A complex type that contains zero or more CacheBehavior elements.

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

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

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

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

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

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

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

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

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

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

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

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

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

The current configuration information for the identity.

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

CloudFront origin access identity.

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

If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

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

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

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

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

If the CallerReference is a value you already sent in a previous request to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

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

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

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

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

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

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

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

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

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

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

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

A flag that indicates whether more origin access identities remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more items in the list.

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

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

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

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

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

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

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

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

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

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

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

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

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

Summary of the information about a CloudFront origin access identity.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The current configuration information for the identity.

", + "locationName":"CloudFrontOriginAccessIdentityConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + } + }, + "documentation":"

The request to create a new origin access identity.

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

The origin access identity's information.

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

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

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

The current version of the origin access identity created.

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

The returned result of the corresponding request.

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

The distribution's configuration information.

", + "locationName":"DistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + } + }, + "documentation":"

The request to create a new distribution.

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

The distribution's information.

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

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

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

The current version of the distribution created.

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

The returned result of the corresponding request.

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

The distribution's configuration information.

", + "locationName":"DistributionConfigWithTags", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + } + }, + "documentation":"

The request to create a new distribution with tags.

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

The distribution's information.

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

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

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

The current version of the distribution created.

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

The returned result of the corresponding request.

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

The distribution's id.

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

The batch information for the invalidation.

", + "locationName":"InvalidationBatch", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + } + }, + "documentation":"

The request to create an invalidation.

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

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

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

The invalidation's information.

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

The returned result of the corresponding request.

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

The streaming distribution's configuration information.

", + "locationName":"StreamingDistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + } + }, + "documentation":"

The request to create a new streaming distribution.

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

The streaming distribution's information.

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

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

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

The current version of the streaming distribution created.

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

The returned result of the corresponding request.

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

The streaming distribution's configuration information.

", + "locationName":"StreamingDistributionConfigWithTags", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + } + }, + "documentation":"

The request to create a new streaming distribution with tags.

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

The streaming distribution's information.

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

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

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

The returned result of the corresponding request.

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

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

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

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

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

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

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

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

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

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

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

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

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

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

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

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

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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

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

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

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

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

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

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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

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

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

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

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

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

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

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

The HTTP port the custom origin listens on.

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

The HTTPS port the custom origin listens on.

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

The origin protocol policy to apply to your origin.

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

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

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

You can create a custom origin read timeout. All timeout units are in seconds. The default origin read timeout is 30 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 4 seconds; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

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

You can create a custom keep-alive timeout. All timeout units are in seconds. The default keep-alive timeout is 5 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 1 second; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

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

A customer origin.

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

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

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

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

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

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

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

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

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

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

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

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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

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

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

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

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

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

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

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

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

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

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

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

A complex type that contains zero or more Lambda function associations for a cache behavior.

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

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

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

The origin access identity's ID.

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

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

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

Deletes a origin access identity.

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

The distribution ID.

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

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

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

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

To delete a web distribution using the CloudFront API:

  1. Disable the web distribution

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

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

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

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

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

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

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

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

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

The distribution ID.

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

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

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

The request to delete a streaming distribution.

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

The identifier for the distribution. For example: EDFDVBD632BHDS5.

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

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

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

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

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

The date and time the distribution was last modified.

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

The number of invalidation batches currently in progress.

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

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

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

CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.

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

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

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

The distribution's information.

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

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

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

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

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

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

If CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A complex type that contains zero or more CacheBehavior elements.

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

A complex type that controls the following:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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

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

Any comments you want to include about the distribution.

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

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

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

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

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

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

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

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

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

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

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

From this field, you can enable or disable the selected distribution.

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

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

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

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

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

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

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

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

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

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

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

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

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

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

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

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

A distribution configuration.

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

A distribution configuration.

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

A complex type that contains zero or more Tag elements.

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

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

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

The value you provided for the Marker request parameter.

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

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

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

The value you provided for the MaxItems request parameter.

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

A flag that indicates whether more distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

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

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

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

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

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

A distribution list.

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

The identifier for the distribution. For example: EDFDVBD632BHDS5.

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

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

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

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

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

The date and time the distribution was last modified.

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

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

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

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

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

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

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

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

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

A complex type that contains zero or more CacheBehavior elements.

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

A complex type that contains zero or more CustomErrorResponses elements.

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

The comment originally specified when this distribution was created.

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

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

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

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

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

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

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

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

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

A summary of the information about a CloudFront distribution.

" + }, + "DistributionSummaryList":{ + "type":"list", + "member":{ + "shape":"DistributionSummary", + "locationName":"DistributionSummary" + } + }, + "EventType":{ + "type":"string", + "enum":[ + "viewer-request", + "viewer-response", + "origin-request", + "origin-response" + ] + }, + "ForwardedValues":{ + "type":"structure", + "required":[ + "QueryString", + "Cookies" + ], + "members":{ + "QueryString":{ + "shape":"boolean", + "documentation":"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you do not want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

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

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

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

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

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

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

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

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

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

The identity's ID.

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

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

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

The origin access identity's configuration information.

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

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

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

The returned result of the corresponding request.

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

The identity's ID.

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

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

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

The origin access identity's information.

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

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

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

The returned result of the corresponding request.

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

The distribution's ID.

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

The request to get a distribution configuration.

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

The distribution's configuration information.

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

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

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

The returned result of the corresponding request.

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

The distribution's ID.

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

The request to get a distribution's information.

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

The distribution's information.

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

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

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

The returned result of the corresponding request.

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

The distribution's ID.

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

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

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

The request to get an invalidation's information.

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

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

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

The returned result of the corresponding request.

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

The streaming distribution's ID.

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

To request to get a streaming distribution configuration.

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

The streaming distribution's configuration information.

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

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

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

The returned result of the corresponding request.

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

The streaming distribution's ID.

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

The request to get a streaming distribution's information.

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

The streaming distribution's information.

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

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

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

The returned result of the corresponding request.

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

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

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    If you configure CloudFront to forward all headers to your origin, CloudFront doesn't cache the objects associated with this cache behavior. Instead, it sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want to forward, and specify the header names in Name elements. CloudFront caches your objects based on the values in all of the specified headers. CloudFront also forwards the headers that it forwards by default, but it caches your objects based only on the headers that you specify.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

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

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

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

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

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

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

Origin and CallerReference cannot be updated.

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

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

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

The argument is invalid.

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

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

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

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

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

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

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

The specified Lambda function association is invalid.

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

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

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

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

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

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

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

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

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

This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.

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

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

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

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

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

The date and time the invalidation request was first made.

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

The current invalidation information for the batch request.

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

An invalidation.

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

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

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

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

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

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

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

An invalidation batch.

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

The value that you provided for the Marker request parameter.

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

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

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

The value that you provided for the MaxItems request parameter.

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

A flag that indicates whether more invalidation batch requests remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more invalidation batches in the list.

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

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

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

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

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

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

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

The unique ID for an invalidation request.

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

The status of an invalidation request.

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

A summary of an invalidation request.

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

The number of active CloudFront key pairs for AwsAccountNumber.

For more information, see ActiveTrustedSigners.

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

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

For more information, see ActiveTrustedSigners.

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

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

For more information, see ActiveTrustedSigners.

" + }, + "LambdaFunctionAssociation":{ + "type":"structure", + "members":{ + "LambdaFunctionARN":{ + "shape":"string", + "documentation":"

The ARN of the Lambda function.

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

Specifies the event type that triggers a Lambda function invocation. Valid values are:

  • viewer-request

  • origin-request

  • viewer-response

  • origin-response

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

A complex type that contains a Lambda function association.

" + }, + "LambdaFunctionAssociationList":{ + "type":"list", + "member":{ + "shape":"LambdaFunctionAssociation", + "locationName":"LambdaFunctionAssociation" + } + }, + "LambdaFunctionAssociations":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of Lambda function associations for this cache behavior.

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

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

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

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

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

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

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

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

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

The request to list origin access identities.

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

The CloudFrontOriginAccessIdentityList type.

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

The returned result of the corresponding request.

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

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

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

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

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

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

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

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

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

The DistributionList type.

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

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

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

Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).

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

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

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

The request to list your distributions.

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

The DistributionList type.

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

The returned result of the corresponding request.

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

The distribution's ID.

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

Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page.

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

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

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

The request to list invalidations.

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

Information about invalidation batches.

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

The returned result of the corresponding request.

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

The value that you provided for the Marker request parameter.

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

The value that you provided for the MaxItems request parameter.

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

The request to list your streaming distributions.

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

The StreamingDistributionList type.

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

The returned result of the corresponding request.

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

An ARN of a CloudFront resource.

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

The request to list tags for a CloudFront resource.

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

A complex type that contains zero or more Tag elements.

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

The returned result of the corresponding request.

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

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

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

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

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

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

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

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

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

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

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

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

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

The specified origin access identity does not exist.

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

The specified distribution does not exist.

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

The specified invalidation does not exist.

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

No origin exists with the specified Origin Id.

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

The specified streaming distribution does not exist.

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

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

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

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

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

Constraints for Amazon S3 origins:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, do not specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

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

Constraints for custom origins:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

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

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

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

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The number of origins for this distribution.

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

A complex type that contains origins for this distribution.

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

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

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

The number of objects that you want to invalidate.

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

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

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

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

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

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

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

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

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

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

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

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

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

The DNS name of the Amazon S3 origin.

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

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

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

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

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

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

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

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

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

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

origin-access-identity/cloudfront/ID-of-origin-access-identity

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

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

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

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

For more information about the origin access identity, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" + }, + "SSLSupportMethod":{ + "type":"string", + "enum":[ + "sni-only", + "vip" + ] + }, + "Signer":{ + "type":"structure", + "members":{ + "AwsAccountNumber":{ + "shape":"string", + "documentation":"

An AWS account that is included in the TrustedSigners complex type for this RTMP distribution. Valid values include:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" + }, + "KeyPairIds":{ + "shape":"KeyPairIds", + "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

" + } + }, + "documentation":"

A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.

" + }, + "SignerList":{ + "type":"list", + "member":{ + "shape":"Signer", + "locationName":"Signer" + } + }, + "SslProtocol":{ + "type":"string", + "enum":[ + "SSLv3", + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ] + }, + "SslProtocolsList":{ + "type":"list", + "member":{ + "shape":"SslProtocol", + "locationName":"SslProtocol" + } + }, + "StreamingDistribution":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "DomainName", + "ActiveTrustedSigners", + "StreamingDistributionConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.

" + }, + "ARN":{"shape":"string"}, + "Status":{ + "shape":"string", + "documentation":"

The current status of the RTMP distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The date and time that the distribution was last modified.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

The domain name that corresponds to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.

" + }, + "ActiveTrustedSigners":{ + "shape":"ActiveTrustedSigners", + "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

The current configuration information for the RTMP distribution.

" + } + }, + "documentation":"

A streaming distribution.

" + }, + "StreamingDistributionAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "StreamingDistributionConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "S3Origin", + "Comment", + "TrustedSigners", + "Enabled" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures that the request can't be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" + }, + "S3Origin":{ + "shape":"S3Origin", + "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" + }, + "Aliases":{ + "shape":"Aliases", + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Any comments you want to include about the streaming distribution.

" + }, + "Logging":{ + "shape":"StreamingLoggingConfig", + "documentation":"

A complex type that controls whether access logs are written for the streaming distribution.

" + }, + "TrustedSigners":{ + "shape":"TrustedSigners", + "documentation":"

A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "PriceClass":{ + "shape":"PriceClass", + "documentation":"

A complex type that contains information about price class for this streaming distribution.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the streaming distribution is enabled to accept user requests for content.

" + } + }, + "documentation":"

The RTMP distribution's configuration information.

" + }, + "StreamingDistributionConfigWithTags":{ + "type":"structure", + "required":[ + "StreamingDistributionConfig", + "Tags" + ], + "members":{ + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

A streaming distribution Configuration.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A complex type that contains zero or more Tag elements.

" + } + }, + "documentation":"

A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.

" + }, + "StreamingDistributionList":{ + "type":"structure", + "required":[ + "Marker", + "MaxItems", + "IsTruncated", + "Quantity" + ], + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

The value you provided for the Marker request parameter.

" + }, + "NextMarker":{ + "shape":"string", + "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your RTMP distributions where they left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The value you provided for the MaxItems request parameter.

" + }, + "IsTruncated":{ + "shape":"boolean", + "documentation":"

A flag that indicates whether more streaming distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of streaming distributions that were created by the current AWS account.

" + }, + "Items":{ + "shape":"StreamingDistributionSummaryList", + "documentation":"

A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account.

" + } + }, + "documentation":"

A streaming distribution list.

" + }, + "StreamingDistributionNotDisabled":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "StreamingDistributionSummary":{ + "type":"structure", + "required":[ + "Id", + "ARN", + "Status", + "LastModifiedTime", + "DomainName", + "S3Origin", + "Aliases", + "TrustedSigners", + "Comment", + "PriceClass", + "Enabled" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" + }, + "ARN":{ + "shape":"string", + "documentation":"

The ARN (Amazon Resource Name) for the streaming distribution. For example: arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" + }, + "Status":{ + "shape":"string", + "documentation":"

Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The date and time the distribution was last modified.

" + }, + "DomainName":{ + "shape":"string", + "documentation":"

The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.

" + }, + "S3Origin":{ + "shape":"S3Origin", + "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" + }, + "Aliases":{ + "shape":"Aliases", + "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" + }, + "TrustedSigners":{ + "shape":"TrustedSigners", + "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items.If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

The comment originally specified when this distribution was created.

" + }, + "PriceClass":{"shape":"PriceClass"}, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the distribution is enabled to accept end user requests for content.

" + } + }, + "documentation":"

A summary of the information for an Amazon CloudFront streaming distribution.

" + }, + "StreamingDistributionSummaryList":{ + "type":"list", + "member":{ + "shape":"StreamingDistributionSummary", + "locationName":"StreamingDistributionSummary" + } + }, + "StreamingLoggingConfig":{ + "type":"structure", + "required":[ + "Enabled", + "Bucket", + "Prefix" + ], + "members":{ + "Enabled":{ + "shape":"boolean", + "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" + }, + "Bucket":{ + "shape":"string", + "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" + }, + "Prefix":{ + "shape":"string", + "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" + } + }, + "documentation":"

A complex type that controls whether access logs are written for this streaming distribution.

" + }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

A string that contains an optional Tag value.

The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" + } + }, + "documentation":"

A complex type that contains Tag key and Tag value.

" + }, + "TagKey":{ + "type":"string", + "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{ + "shape":"TagKey", + "locationName":"Key" + } + }, + "TagKeys":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"TagKeyList", + "documentation":"

A complex type that contains Tag key elements.

" + } + }, + "documentation":"

A complex type that contains zero or more Tag elements.

" + }, + "TagList":{ + "type":"list", + "member":{ + "shape":"Tag", + "locationName":"Tag" + } + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "Resource", + "Tags" + ], + "members":{ + "Resource":{ + "shape":"ResourceARN", + "documentation":"

An ARN of a CloudFront resource.

", + "location":"querystring", + "locationName":"Resource" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A complex type that contains zero or more Tag elements.

", + "locationName":"Tags", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + } + }, + "documentation":"

The request to add tags to a CloudFront resource.

", + "payload":"Tags" + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"TagList", + "documentation":"

A complex type that contains Tag elements.

" + } + }, + "documentation":"

A complex type that contains zero or more Tag elements.

" + }, + "TooManyCacheBehaviors":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot create more cache behaviors for the distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyCertificates":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot create anymore custom SSL/TLS certificates.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyCloudFrontOriginAccessIdentities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyCookieNamesInWhiteList":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributionCNAMEs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more CNAMEs than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributions":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of distributions allowed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributionsWithLambdaAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyHeadersInForwardedValues":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyInvalidationsInProgress":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyLambdaFunctionAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOriginCustomHeaders":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOrigins":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You cannot create more origins for the distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyQueryStringParameters":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyStreamingDistributionCNAMEs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyStreamingDistributions":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyTrustedSigners":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more trusted signers than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TrustedSignerDoesNotExist":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

One or more of your trusted signers do not exist.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TrustedSigners":{ + "type":"structure", + "required":[ + "Enabled", + "Quantity" + ], + "members":{ + "Enabled":{ + "shape":"boolean", + "documentation":"

Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of trusted signers for this cache behavior.

" + }, + "Items":{ + "shape":"AwsAccountNumberList", + "documentation":"

Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information about updating the distribution configuration, see DistributionConfig .

" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "Resource", + "TagKeys" + ], + "members":{ + "Resource":{ + "shape":"ResourceARN", + "documentation":"

An ARN of a CloudFront resource.

", + "location":"querystring", + "locationName":"Resource" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

A complex type that contains zero or more Tag key elements.

", + "locationName":"TagKeys", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + } + }, + "documentation":"

The request to remove tags from a CloudFront resource.

", + "payload":"TagKeys" + }, + "UpdateCloudFrontOriginAccessIdentityRequest":{ + "type":"structure", + "required":[ + "CloudFrontOriginAccessIdentityConfig", + "Id" + ], + "members":{ + "CloudFrontOriginAccessIdentityConfig":{ + "shape":"CloudFrontOriginAccessIdentityConfig", + "documentation":"

The identity's configuration information.

", + "locationName":"CloudFrontOriginAccessIdentityConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The identity's id.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to update an origin access identity.

", + "payload":"CloudFrontOriginAccessIdentityConfig" + }, + "UpdateCloudFrontOriginAccessIdentityResult":{ + "type":"structure", + "members":{ + "CloudFrontOriginAccessIdentity":{ + "shape":"CloudFrontOriginAccessIdentity", + "documentation":"

The origin access identity's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"CloudFrontOriginAccessIdentity" + }, + "UpdateDistributionRequest":{ + "type":"structure", + "required":[ + "DistributionConfig", + "Id" + ], + "members":{ + "DistributionConfig":{ + "shape":"DistributionConfig", + "documentation":"

The distribution's configuration information.

", + "locationName":"DistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The distribution's id.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to update a distribution.

", + "payload":"DistributionConfig" + }, + "UpdateDistributionResult":{ + "type":"structure", + "members":{ + "Distribution":{ + "shape":"Distribution", + "documentation":"

The distribution's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"Distribution" + }, + "UpdateStreamingDistributionRequest":{ + "type":"structure", + "required":[ + "StreamingDistributionConfig", + "Id" + ], + "members":{ + "StreamingDistributionConfig":{ + "shape":"StreamingDistributionConfig", + "documentation":"

The streaming distribution's configuration information.

", + "locationName":"StreamingDistributionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The streaming distribution's id.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "documentation":"

The request to update a streaming distribution.

", + "payload":"StreamingDistributionConfig" + }, + "UpdateStreamingDistributionResult":{ + "type":"structure", + "members":{ + "StreamingDistribution":{ + "shape":"StreamingDistribution", + "documentation":"

The streaming distribution's information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "documentation":"

The returned result of the corresponding request.

", + "payload":"StreamingDistribution" + }, + "ViewerCertificate":{ + "type":"structure", + "members":{ + "CloudFrontDefaultCertificate":{"shape":"boolean"}, + "IAMCertificateId":{"shape":"string"}, + "ACMCertificateArn":{"shape":"string"}, + "SSLSupportMethod":{ + "shape":"SSLSupportMethod", + "documentation":"

If you specify a value for ACMCertificateArn or for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests: using a method that works for all clients or one that works for most clients:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you will incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

Do not specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" + }, + "MinimumProtocolVersion":{ + "shape":"MinimumProtocolVersion", + "documentation":"

Specify the minimum version of the SSL/TLS protocol that you want CloudFront to use for HTTPS connections between viewers and CloudFront: SSLv3 or TLSv1. CloudFront serves your objects only to viewers that support SSL/TLS version that you specify and later versions. The TLSv1 protocol is more secure, so we recommend that you specify SSLv3 only if your users are using browsers or devices that don't support TLSv1. Note the following:

  • If you specify <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>, the minimum SSL protocol version is TLSv1 and can't be changed.

  • If you're using a custom certificate (if you specify a value for ACMCertificateArn or for IAMCertificateId) and if you're using SNI (if you specify sni-only for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion.

" + }, + "Certificate":{ + "shape":"string", + "documentation":"

Include one of these values to specify the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify one (and only one) of the three values. Do not specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP to request your objects: Specify the following value:

<CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

In addition, specify allow-all for ViewerProtocolPolicy for all of your cache behaviors.

If you want viewers to use HTTPS to request your objects: Choose the type of certificate that you want to use based on whether you're using an alternate domain name for your objects or the CloudFront domain name:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

    If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

    • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

    • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

    You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

    • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

    • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

    For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

", + "deprecated":true + }, + "CertificateSource":{ + "shape":"CertificateSource", + "documentation":"

This field is deprecated. You can use one of the following: [ACMCertificateArn, IAMCertificateId, or CloudFrontDefaultCertificate].

", + "deprecated":true + } + }, + "documentation":"

A complex type that specifies the following:

  • Which SSL/TLS certificate to use when viewers request objects using HTTPS

  • Whether you want CloudFront to use dedicated IP addresses or SNI when you're using alternate domain names in your object names

  • The minimum protocol version that you want CloudFront to use when communicating with viewers

For more information, see Using an HTTPS Connection to Access Your Objects in the Amazon Amazon CloudFront Developer Guide.

" + }, + "ViewerProtocolPolicy":{ + "type":"string", + "enum":[ + "allow-all", + "https-only", + "redirect-to-https" + ] + }, + "boolean":{"type":"boolean"}, + "integer":{"type":"integer"}, + "long":{"type":"long"}, + "string":{"type":"string"}, + "timestamp":{"type":"timestamp"} + }, + "documentation":"Amazon CloudFront

This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about the CloudFront API actions, data types, and errors. For detailed information about CloudFront features and their associated API calls, see the Amazon CloudFront Developer Guide.

" +} diff --git a/botocore/data/cloudfront/2017-03-25/waiters-2.json b/botocore/data/cloudfront/2017-03-25/waiters-2.json new file mode 100644 index 00000000..6e044bc5 --- /dev/null +++ b/botocore/data/cloudfront/2017-03-25/waiters-2.json @@ -0,0 +1,47 @@ +{ + "version": 2, + "waiters": { + "DistributionDeployed": { + "delay": 60, + "operation": "GetDistribution", + "maxAttempts": 25, + "description": "Wait until a distribution is deployed.", + "acceptors": [ + { + "expected": "Deployed", + "matcher": "path", + "state": "success", + "argument": "Distribution.Status" + } + ] + }, + "InvalidationCompleted": { + "delay": 20, + "operation": "GetInvalidation", + "maxAttempts": 60, + "description": "Wait until an invalidation has completed.", + "acceptors": [ + { + "expected": "Completed", + "matcher": "path", + "state": "success", + "argument": "Invalidation.Status" + } + ] + }, + "StreamingDistributionDeployed": { + "delay": 60, + "operation": "GetStreamingDistribution", + "maxAttempts": 25, + "description": "Wait until a streaming distribution is deployed.", + "acceptors": [ + { + "expected": "Deployed", + "matcher": "path", + "state": "success", + "argument": "StreamingDistribution.Status" + } + ] + } + } +} diff --git a/botocore/data/cloudhsm/2014-05-30/examples-1.json b/botocore/data/cloudhsm/2014-05-30/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/cloudhsm/2014-05-30/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/cloudsearch/2013-01-01/paginators-1.json b/botocore/data/cloudsearch/2013-01-01/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/cloudsearch/2013-01-01/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json b/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/cloudtrail/2013-11-01/examples-1.json b/botocore/data/cloudtrail/2013-11-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/cloudtrail/2013-11-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/cloudtrail/2013-11-01/paginators-1.json b/botocore/data/cloudtrail/2013-11-01/paginators-1.json new file mode 100644 index 00000000..b550340c --- /dev/null +++ b/botocore/data/cloudtrail/2013-11-01/paginators-1.json @@ -0,0 +1,10 @@ +{ + "pagination": { + "LookupEvents": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Events" + } + } +} diff --git a/botocore/data/cloudtrail/2013-11-01/service-2.json b/botocore/data/cloudtrail/2013-11-01/service-2.json index 7203e8fb..d3bf5873 100644 --- a/botocore/data/cloudtrail/2013-11-01/service-2.json +++ b/botocore/data/cloudtrail/2013-11-01/service-2.json @@ -112,7 +112,7 @@ {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"} ], - "documentation":"

Describes the settings for the event selectors that you configured for your trail. The information returned for your event selectors includes the following:

  • The S3 objects that you are logging for data events.

  • If your event selector includes management events.

  • If your event selector includes read-only events, write-only events, or all.

For more information, see Configuring Event Selectors for Trails in the AWS CloudTrail User Guide.

", + "documentation":"

Describes the settings for the event selectors that you configured for your trail. The information returned for your event selectors includes the following:

  • The S3 objects that you are logging for data events.

  • If your event selector includes management events.

  • If your event selector includes read-only events, write-only events, or all.

For more information, see Logging Data and Management Events for Trails in the AWS CloudTrail User Guide.

", "idempotent":true }, "GetTrailStatus":{ @@ -181,7 +181,7 @@ {"shape":"InvalidMaxResultsException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Looks up API activity events captured by CloudTrail that create, update, or delete resources in your account. Events for a region can be looked up for the times in which you had CloudTrail turned on in that region during the last seven days. Lookup supports the following attributes:

  • Event ID

  • Event name

  • Resource name

  • Resource type

  • User name

All attributes are optional. The default number of results returned is 10, with a maximum of 50 possible. The response includes a token that you can use to get the next page of results.

The rate of lookup requests is limited to one per second per account. If this limit is exceeded, a throttling error occurs.

Events that occurred during the selected time range will not be available for lookup if CloudTrail logging was not enabled when the events occurred.

", + "documentation":"

Looks up API activity events captured by CloudTrail that create, update, or delete resources in your account. Events for a region can be looked up for the times in which you had CloudTrail turned on in that region during the last seven days. Lookup supports the following attributes:

  • Event ID

  • Event name

  • Event source

  • Resource name

  • Resource type

  • User name

All attributes are optional. The default number of results returned is 10, with a maximum of 50 possible. The response includes a token that you can use to get the next page of results.

The rate of lookup requests is limited to one per second per account. If this limit is exceeded, a throttling error occurs.

Events that occurred during the selected time range will not be available for lookup if CloudTrail logging was not enabled when the events occurred.

", "idempotent":true }, "PutEventSelectors":{ @@ -200,7 +200,7 @@ {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"} ], - "documentation":"

Configures an event selector for your trail. Use event selectors to specify the type of events that you want your trail to log. When an event occurs in your account, CloudTrail evaluates the event selectors in all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

Example

  1. You create an event selector for a trail and specify that you want write-only events.

  2. The EC2 GetConsoleOutput and RunInstances API operations occur in your account.

  3. CloudTrail evaluates whether the events match your event selectors.

  4. The RunInstances is a write-only event and it matches your event selector. The trail logs the event.

  5. The GetConsoleOutput is a read-only event but it doesn't match your event selector. The trail doesn't log the event.

The PutEventSelectors operation must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException is thrown.

You can configure up to five event selectors for each trail. For more information, see Configuring Event Selectors for Trails in the AWS CloudTrail User Guide.

", + "documentation":"

Configures an event selector for your trail. Use event selectors to specify whether you want your trail to log management and/or data events. When an event occurs in your account, CloudTrail evaluates the event selectors in all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

Example

  1. You create an event selector for a trail and specify that you want write-only events.

  2. The EC2 GetConsoleOutput and RunInstances API operations occur in your account.

  3. CloudTrail evaluates whether the events match your event selectors.

  4. The RunInstances is a write-only event and it matches your event selector. The trail logs the event.

  5. The GetConsoleOutput is a read-only event but it doesn't match your event selector. The trail doesn't log the event.

The PutEventSelectors operation must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException is thrown.

You can configure up to five event selectors for each trail. For more information, see Logging Data and Management Events for Trails in the AWS CloudTrail User Guide.

", "idempotent":true }, "RemoveTags":{ @@ -373,7 +373,7 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be a an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.

Examples:

  • alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • 12345678-1234-1234-1234-123456789012

" + "documentation":"

Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.

Examples:

  • alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • 12345678-1234-1234-1234-123456789012

" } }, "documentation":"

Specifies the settings for each trail.

" @@ -445,7 +445,7 @@ "documentation":"

A list of ARN-like strings for the specified S3 objects.

To log data events for all objects in an S3 bucket, specify the bucket and an empty object prefix such as arn:aws:s3:::bucket-1/. The trail logs data events for all objects in this S3 bucket.

To log data events for specific objects, specify the S3 bucket and object prefix such as arn:aws:s3:::bucket-1/example-images. The trail logs data events for objects in this S3 bucket that match the prefix.

" } }, - "documentation":"

The Amazon S3 objects that you specify in your event selectors for your trail to log data events. Data events are object level API operations that access S3 objects, such as GetObject, DeleteObject, and PutObject. You can specify up to 50 S3 buckets and object prefixes for an event selector.

Example

  1. You create an event selector for a trail and specify an S3 bucket and an empty prefix, such as arn:aws:s3:::bucket-1/.

  2. You upload an image file to bucket-1.

  3. The PutObject API operation occurs on an object in the S3 bucket that you specified in the event selector. The trail processes and logs the event.

  4. You upload another image file to a different S3 bucket named arn:aws:s3:::bucket-2.

  5. The event occurs on an object in an S3 bucket that you didn't specify in the event selector. The trail doesn’t log the event.

" + "documentation":"

The Amazon S3 objects that you specify in your event selectors for your trail to log data events. Data events are object-level API operations that access S3 objects, such as GetObject, DeleteObject, and PutObject. You can specify up to 250 S3 buckets and object prefixes for a trail.

Example

  1. You create an event selector for a trail and specify an S3 bucket and an empty prefix, such as arn:aws:s3:::bucket-1/.

  2. You upload an image file to bucket-1.

  3. The PutObject API operation occurs on an object in the S3 bucket that you specified in the event selector. The trail processes and logs the event.

  4. You upload another image file to a different S3 bucket named arn:aws:s3:::bucket-2.

  5. The event occurs on an object in an S3 bucket that you didn't specify in the event selector. The trail doesn’t log the event.

" }, "DataResourceValues":{ "type":"list", @@ -540,14 +540,14 @@ }, "IncludeManagementEvents":{ "shape":"Boolean", - "documentation":"

Specify if you want your event selector to include management events for your trail.

For more information, see Management Events in the AWS CloudTrail User Guide.

By default, the value is true.

" + "documentation":"

Specify if you want your event selector to include management events for your trail.

For more information, see Management Events in the AWS CloudTrail User Guide.

By default, the value is true.

" }, "DataResources":{ "shape":"DataResources", - "documentation":"

CloudTrail supports logging only data events for S3 objects. You can specify up to 50 S3 buckets and object prefixes for an event selector.

For more information, see Data Events in the AWS CloudTrail User Guide.

" + "documentation":"

CloudTrail supports logging only data events for S3 objects. You can specify up to 250 S3 buckets and object prefixes for a trail.

For more information, see Data Events in the AWS CloudTrail User Guide.

" } }, - "documentation":"

Use event selectors to specify the types of events that you want your trail to log. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

You can configure up to five event selectors for a trail.

" + "documentation":"

Use event selectors to specify whether you want your trail to log management and/or data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

You can configure up to five event selectors for a trail.

" }, "EventSelectors":{ "type":"list", @@ -559,6 +559,7 @@ }, "GetEventSelectorsRequest":{ "type":"structure", + "required":["TrailName"], "members":{ "TrailName":{ "shape":"String", @@ -703,7 +704,7 @@ "type":"structure", "members":{ }, - "documentation":"

This exception is thrown when the PutEventSelectors operation is called with an invalid number of event selectors, data resources, or an invalid value for a parameter:

  • Specify a valid number of event selectors (1 to 5) for a trail.

  • Specify a valid number of data resources (1 to 50) for an event selector.

  • Specify a valid value for a parameter. For example, specifying the ReadWriteType parameter with a value of read-only is invalid.

", + "documentation":"

This exception is thrown when the PutEventSelectors operation is called with an invalid number of event selectors, data resources, or an invalid value for a parameter:

  • Specify a valid number of event selectors (1 to 5) for a trail.

  • Specify a valid number of data resources (1 to 250) for an event selector.

  • Specify a valid value for a parameter. For example, specifying the ReadWriteType parameter with a value of read-only is invalid.

", "exception":true }, "InvalidHomeRegionException":{ @@ -869,7 +870,10 @@ "ListTagsResponse":{ "type":"structure", "members":{ - "ResourceTagList":{"shape":"ResourceTagList"}, + "ResourceTagList":{ + "shape":"ResourceTagList", + "documentation":"

A list of resource tags.

" + }, "NextToken":{ "shape":"String", "documentation":"

Reserved for future use.

" @@ -998,6 +1002,10 @@ }, "PutEventSelectorsRequest":{ "type":"structure", + "required":[ + "TrailName", + "EventSelectors" + ], "members":{ "TrailName":{ "shape":"String", @@ -1088,14 +1096,16 @@ "shape":"String", "documentation":"

Specifies the ARN of the resource.

" }, - "TagsList":{"shape":"TagsList"} + "TagsList":{ + "shape":"TagsList", + "documentation":"

A list of tags.

" + } }, "documentation":"

A resource tag.

" }, "ResourceTagList":{ "type":"list", - "member":{"shape":"ResourceTag"}, - "documentation":"

A list of resource tags.

" + "member":{"shape":"ResourceTag"} }, "ResourceTypeNotSupportedException":{ "type":"structure", @@ -1314,7 +1324,7 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be a an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.

Examples:

  • alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • 12345678-1234-1234-1234-123456789012

" + "documentation":"

Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.

Examples:

  • alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • 12345678-1234-1234-1234-123456789012

" } }, "documentation":"

Specifies settings to update for the trail.

" diff --git a/botocore/data/cloudwatch/2010-08-01/examples-1.json b/botocore/data/cloudwatch/2010-08-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/cloudwatch/2010-08-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/cloudwatch/2010-08-01/service-2.json b/botocore/data/cloudwatch/2010-08-01/service-2.json index c7da9f41..822981db 100644 --- a/botocore/data/cloudwatch/2010-08-01/service-2.json +++ b/botocore/data/cloudwatch/2010-08-01/service-2.json @@ -1,13 +1,13 @@ { "version":"2.0", "metadata":{ - "uid":"monitoring-2010-08-01", "apiVersion":"2010-08-01", "endpointPrefix":"monitoring", "protocol":"query", "serviceAbbreviation":"CloudWatch", "serviceFullName":"Amazon CloudWatch", "signatureVersion":"v4", + "uid":"monitoring-2010-08-01", "xmlNamespace":"http://monitoring.amazonaws.com/doc/2010-08-01/" }, "operations":{ @@ -103,7 +103,7 @@ {"shape":"InvalidParameterCombinationException"}, {"shape":"InternalServiceFault"} ], - "documentation":"

Gets statistics for the specified metric.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of 60 seconds (1 minute) are available for 15 days

  • Data points with a period of 300 seconds (5 minute) are available for 63 days

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months)

Note that CloudWatch started retaining 5-minute and 1-hour metric data as of 9 July 2016.

The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, Amazon 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). Note that data points are not returned in chronological order.

Amazon CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, Amazon 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.

For a list of metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.

" + "documentation":"

Gets statistics for the specified metric.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of 60 seconds (1 minute) are available for 15 days

  • Data points with a period of 300 seconds (5 minute) are available for 63 days

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months)

Note that CloudWatch started retaining 5-minute and 1-hour metric data as of 9 July 2016.

The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, Amazon 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). Note that data points are not returned in chronological order.

Amazon CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, Amazon CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you cannot retrieve percentile statistics for this data unless one of the following conditions is true:

  • The SampleCount of the statistic set is 1

  • The Min and the Max of the statistic set are equal

For a list of metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.

" }, "ListMetrics":{ "name":"ListMetrics", @@ -147,7 +147,7 @@ {"shape":"InvalidParameterCombinationException"}, {"shape":"InternalServiceFault"} ], - "documentation":"

Publishes metric data points to Amazon CloudWatch. Amazon CloudWatch associates the data points with the specified metric. If the specified metric does not exist, Amazon CloudWatch creates the metric. When Amazon CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

Each PutMetricData request is limited to 8 KB in size for HTTP GET requests and is limited to 40 KB in size for HTTP POST requests.

Although the Value parameter accepts numbers of type Double, Amazon CloudWatch rejects values that are either too small or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). In addition, special values (e.g., NaN, +Infinity, -Infinity) are not supported.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricStatistics from the time they are submitted.

" + "documentation":"

Publishes metric data points to Amazon CloudWatch. Amazon CloudWatch associates the data points with the specified metric. If the specified metric does not exist, Amazon CloudWatch creates the metric. When Amazon CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

Each PutMetricData request is limited to 40 KB in size for HTTP POST requests.

Although the Value parameter accepts numbers of type Double, Amazon CloudWatch rejects values that are either too small or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). In addition, special values (e.g., NaN, +Infinity, -Infinity) are not supported.

You can use up to 10 dimensions per metric to further clarify what data the metric collects. For more information on specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricStatistics from the time they are submitted.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you cannot retrieve percentile statistics for this data unless one of the following conditions is true:

  • The SampleCount of the statistic set is 1

  • The Min and the Max of the statistic set are equal

" }, "SetAlarmState":{ "name":"SetAlarmState", @@ -515,6 +515,11 @@ "max":255, "min":1 }, + "EvaluateLowSampleCountPercentile":{ + "type":"string", + "max":255, + "min":1 + }, "EvaluationPeriods":{ "type":"integer", "min":1 @@ -550,7 +555,7 @@ }, "Dimensions":{ "shape":"Dimensions", - "documentation":"

The dimensions. CloudWatch treats each unique combination of dimensions as a separate metric. You can't retrieve statistics using combinations of dimensions that were not specially published. You must specify the same dimensions that were used when the metrics were created. For an example, see Dimension Combinations in the Amazon CloudWatch User Guide.

" + "documentation":"

The dimensions. If the metric contains multiple dimensions, you must include a value for each dimension. CloudWatch treats each unique combination of dimensions as a separate metric. You can't retrieve statistics using combinations of dimensions that were not specially published. You must specify the same dimensions that were used when the metrics were created. For an example, see Dimension Combinations in the Amazon CloudWatch User Guide. For more information on specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

" }, "StartTime":{ "shape":"Timestamp", @@ -861,7 +866,9 @@ "ComparisonOperator":{ "shape":"ComparisonOperator", "documentation":"

The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.

" - } + }, + "TreatMissingData":{"shape":"TreatMissingData"}, + "EvaluateLowSampleCountPercentile":{"shape":"EvaluateLowSampleCountPercentile"} }, "documentation":"

Represents an alarm.

", "xmlOrder":[ @@ -886,7 +893,9 @@ "EvaluationPeriods", "Threshold", "ComparisonOperator", - "ExtendedStatistic" + "ExtendedStatistic", + "TreatMissingData", + "EvaluateLowSampleCountPercentile" ] }, "MetricAlarms":{ @@ -1044,6 +1053,14 @@ "ComparisonOperator":{ "shape":"ComparisonOperator", "documentation":"

The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.

" + }, + "TreatMissingData":{ + "shape":"TreatMissingData", + "documentation":"

Sets how this alarm is to handle missing data points. If TreatMissingData is omitted, the default behavior of missing is used. For more information, see Configuring How CloudWatch Alarms Treats Missing Data.

Valid Values: breaching | notBreaching | ignore | missing

" + }, + "EvaluateLowSampleCountPercentile":{ + "shape":"EvaluateLowSampleCountPercentile", + "documentation":"

Used only for alarms based on percentiles. If you specify ignore, the alarm state will not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm will always be evaluated and possibly change state no matter how many data points are available. For more information, see Percentile-Based CloudWatch Alarms and Low Data Samples.

Valid Values: evaluate | ignore

" } } }, @@ -1211,7 +1228,12 @@ "min":1 }, "Threshold":{"type":"double"}, - "Timestamp":{"type":"timestamp"} + "Timestamp":{"type":"timestamp"}, + "TreatMissingData":{ + "type":"string", + "max":255, + "min":1 + } }, "documentation":"

Amazon CloudWatch monitors your Amazon Web Services (AWS) resources and the applications you run on AWS in real-time. You can use CloudWatch to collect and track metrics, which are the variables you want to measure for your resources and applications.

CloudWatch alarms send notifications or automatically make changes to the resources you are monitoring based on rules that you define. For example, you can monitor the CPU usage and disk reads and writes of your Amazon Elastic Compute Cloud (Amazon EC2) instances and then use this data to determine whether you should launch additional instances to handle increased load. You can also use this data to stop under-used instances to save money.

In addition to monitoring the built-in metrics that come with AWS, you can monitor your own custom metrics. With CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health.

" } diff --git a/botocore/data/cloudwatch/2010-08-01/waiters-2.json b/botocore/data/cloudwatch/2010-08-01/waiters-2.json new file mode 100644 index 00000000..cb0cf0bf --- /dev/null +++ b/botocore/data/cloudwatch/2010-08-01/waiters-2.json @@ -0,0 +1,18 @@ +{ + "version": 2, + "waiters": { + "AlarmExists": { + "delay": 5, + "maxAttempts": 40, + "operation": "DescribeAlarms", + "acceptors": [ + { + "matcher": "path", + "expected": true, + "argument": "length(MetricAlarms[]) > `0`", + "state": "success" + } + ] + } + } +} diff --git a/botocore/data/codebuild/2016-10-06/examples-1.json b/botocore/data/codebuild/2016-10-06/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/codebuild/2016-10-06/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/codebuild/2016-10-06/paginators-1.json b/botocore/data/codebuild/2016-10-06/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/codebuild/2016-10-06/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/codebuild/2016-10-06/service-2.json b/botocore/data/codebuild/2016-10-06/service-2.json index a7e3df7b..573e2840 100644 --- a/botocore/data/codebuild/2016-10-06/service-2.json +++ b/botocore/data/codebuild/2016-10-06/service-2.json @@ -533,7 +533,7 @@ }, "value":{ "shape":"String", - "documentation":"

The value of the environment variable.

" + "documentation":"

The value of the environment variable.

We strongly discourage using environment variables to store sensitive values, especially AWS secret key IDs and secret access keys. Environment variables can be displayed in plain text using tools such as the AWS CodeBuild console and the AWS Command Line Interface (AWS CLI).

" } }, "documentation":"

Information about an environment variable for a build project or a build.

" @@ -830,6 +830,10 @@ "environmentVariables":{ "shape":"EnvironmentVariables", "documentation":"

A set of environment variables to make available to builds for this build project.

" + }, + "privilegedMode":{ + "shape":"WrapperBoolean", + "documentation":"

If set to true, enables running the Docker daemon inside a Docker container; otherwise, false or not specified (the default). This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Note that you must also start the Docker daemon so that your builds can interact with it as needed. One way to do this is to initialize the Docker daemon in the install phase of your build spec by running the following build commands. (Do not run the following build commands if the specified build environment image is provided by AWS CodeBuild with Docker support.)

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=vfs& - timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"

" } }, "documentation":"

Information about the build environment of the build project.

" @@ -864,7 +868,7 @@ }, "location":{ "shape":"String", - "documentation":"

Information about the location of the source code to be built. Valid values include:

  • For source code settings that are specified in the source action of a pipeline in AWS CodePipeline, location should not be specified. If it is specified, AWS CodePipeline will ignore it. This is because AWS CodePipeline uses the settings in a pipeline's source action instead of this value.

  • For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the build spec (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name ).

  • For source code in an Amazon Simple Storage Service (Amazon S3) input bucket, the path to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip)

  • For source code in a GitHub repository, instead of specifying a value here, you connect your AWS account to your GitHub account. To do this, use the AWS CodeBuild console to begin creating a build project, and follow the on-screen instructions to complete the connection. (After you have connected to your GitHub account, you do not need to finish creating the build project, and you may then leave the AWS CodeBuild console.) To instruct AWS CodeBuild to then use this connection, in the source object, set the auth object's type value to OAUTH.

" + "documentation":"

Information about the location of the source code to be built. Valid values include:

  • For source code settings that are specified in the source action of a pipeline in AWS CodePipeline, location should not be specified. If it is specified, AWS CodePipeline will ignore it. This is because AWS CodePipeline uses the settings in a pipeline's source action instead of this value.

  • For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the build spec (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name ).

  • For source code in an Amazon Simple Storage Service (Amazon S3) input bucket, the path to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip)

  • For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the build spec. Also, you must connect your AWS account to your GitHub account. To do this, use the AWS CodeBuild console to begin creating a build project. When you use the console to connect (or reconnect) with GitHub, on the GitHub Authorize application page that displays, for Organization access, choose Request access next to each repository you want to allow AWS CodeBuild to have access to. Then choose Authorize application. (After you have connected to your GitHub account, you do not need to finish creating the build project, and you may then leave the AWS CodeBuild console.) To instruct AWS CodeBuild to then use this connection, in the source object, set the auth object's type value to OAUTH.

" }, "buildspec":{ "shape":"String", @@ -1023,7 +1027,7 @@ "TimeOut":{ "type":"integer", "max":480, - "min":1 + "min":5 }, "Timestamp":{"type":"timestamp"}, "UpdateProjectInput":{ @@ -1083,6 +1087,7 @@ "min":1, "pattern":"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=@+\\\\-]*)$" }, + "WrapperBoolean":{"type":"boolean"}, "WrapperInt":{"type":"integer"}, "WrapperLong":{"type":"long"} }, diff --git a/botocore/data/codecommit/2015-04-13/examples-1.json b/botocore/data/codecommit/2015-04-13/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/codecommit/2015-04-13/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/codecommit/2015-04-13/paginators-1.json b/botocore/data/codecommit/2015-04-13/paginators-1.json index e4c9a903..dce8bf1a 100644 --- a/botocore/data/codecommit/2015-04-13/paginators-1.json +++ b/botocore/data/codecommit/2015-04-13/paginators-1.json @@ -1,14 +1,14 @@ { - "pagination": { - "ListBranches": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "branches" - }, - "ListRepositories": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "repositories" - } + "pagination": { + "ListBranches": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "branches" + }, + "ListRepositories": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "repositories" } -} \ No newline at end of file + } +} diff --git a/botocore/data/codedeploy/2014-10-06/examples-1.json b/botocore/data/codedeploy/2014-10-06/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/codedeploy/2014-10-06/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/codedeploy/2014-10-06/paginators-1.json b/botocore/data/codedeploy/2014-10-06/paginators-1.json new file mode 100644 index 00000000..cea07e68 --- /dev/null +++ b/botocore/data/codedeploy/2014-10-06/paginators-1.json @@ -0,0 +1,34 @@ +{ + "pagination": { + "ListApplicationRevisions": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "revisions" + }, + "ListApplications": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "applications" + }, + "ListDeploymentConfigs": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "deploymentConfigsList" + }, + "ListDeploymentGroups": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "deploymentGroups" + }, + "ListDeploymentInstances": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "instancesList" + }, + "ListDeployments": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "deployments" + } + } +} diff --git a/botocore/data/codedeploy/2014-10-06/service-2.json b/botocore/data/codedeploy/2014-10-06/service-2.json old mode 100755 new mode 100644 index 37c7269c..b9fcceec --- a/botocore/data/codedeploy/2014-10-06/service-2.json +++ b/botocore/data/codedeploy/2014-10-06/service-2.json @@ -145,7 +145,7 @@ {"shape":"DeploymentIsNotInReadyStateException"}, {"shape":"UnsupportedActionForDeploymentTypeException"} ], - "documentation":"

Starts the process of rerouting traffic from instances in the original environment to instances in thereplacement environment without waiting for a specified wait time to elapse. (Traffic rerouting, which is achieved by registering instances in the replacement environment with the load balancer, can start as soon as all instances have a status of Ready.)

" + "documentation":"

For a blue/green deployment, starts the process of rerouting traffic from instances in the original environment to instances in the replacement environment without waiting for a specified wait time to elapse. (Traffic rerouting, which is achieved by registering instances in the replacement environment with the load balancer, can start as soon as all instances have a status of Ready.)

" }, "CreateApplication":{ "name":"CreateApplication", @@ -187,7 +187,8 @@ {"shape":"DeploymentLimitExceededException"}, {"shape":"InvalidTargetInstancesException"}, {"shape":"InvalidAutoRollbackConfigException"}, - {"shape":"InvalidLoadBalancerInfoException"} + {"shape":"InvalidLoadBalancerInfoException"}, + {"shape":"InvalidFileExistsBehaviorException"} ], "documentation":"

Deploys an application revision through the specified deployment group.

" }, @@ -494,7 +495,8 @@ {"shape":"InvalidNextTokenException"}, {"shape":"InvalidDeploymentIdException"}, {"shape":"InvalidInstanceStatusException"}, - {"shape":"InvalidInstanceTypeException"} + {"shape":"InvalidInstanceTypeException"}, + {"shape":"InvalidDeploymentInstanceTypeException"} ], "documentation":"

Lists the instance for a deployment associated with the applicable IAM user or AWS account.

" }, @@ -519,6 +521,20 @@ ], "documentation":"

Lists the deployments in a deployment group for an application registered with the applicable IAM user or AWS account.

" }, + "ListGitHubAccountTokenNames":{ + "name":"ListGitHubAccountTokenNames", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGitHubAccountTokenNamesInput"}, + "output":{"shape":"ListGitHubAccountTokenNamesOutput"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceValidationException"} + ], + "documentation":"

Lists the names of stored connections to GitHub accounts.

" + }, "ListOnPremisesInstances":{ "name":"ListOnPremisesInstances", "http":{ @@ -765,6 +781,10 @@ "linkedToGitHub":{ "shape":"Boolean", "documentation":"

True if the user has authenticated with GitHub for the specified application; otherwise, false.

" + }, + "gitHubAccountName":{ + "shape":"GitHubAccountTokenName", + "documentation":"

The name for a connection to a GitHub account.

" } }, "documentation":"

Information about an application.

" @@ -870,7 +890,7 @@ "documentation":"

Information to get about the application revisions, including type and location.

" } }, - "documentation":"

Represents the input of a batch get application revisions operation.

" + "documentation":"

Represents the input of a BatchGetApplicationRevisions operation.

" }, "BatchGetApplicationRevisionsOutput":{ "type":"structure", @@ -888,7 +908,7 @@ "documentation":"

Additional information about the revisions, including the type and location.

" } }, - "documentation":"

Represents the output of a batch get application revisions operation.

" + "documentation":"

Represents the output of a BatchGetApplicationRevisions operation.

" }, "BatchGetApplicationsInput":{ "type":"structure", @@ -898,7 +918,7 @@ "documentation":"

A list of application names separated by spaces.

" } }, - "documentation":"

Represents the input of a batch get applications operation.

" + "documentation":"

Represents the input of a BatchGetApplications operation.

" }, "BatchGetApplicationsOutput":{ "type":"structure", @@ -908,7 +928,7 @@ "documentation":"

Information about the applications.

" } }, - "documentation":"

Represents the output of a batch get applications operation.

" + "documentation":"

Represents the output of a BatchGetApplications operation.

" }, "BatchGetDeploymentGroupsInput":{ "type":"structure", @@ -926,7 +946,7 @@ "documentation":"

The deployment groups' names.

" } }, - "documentation":"

Represents the input of a batch get deployment groups operation.

" + "documentation":"

Represents the input of a BatchGetDeploymentGroups operation.

" }, "BatchGetDeploymentGroupsOutput":{ "type":"structure", @@ -940,7 +960,7 @@ "documentation":"

Information about errors that may have occurred during the API call.

" } }, - "documentation":"

Represents the output of a batch get deployment groups operation.

" + "documentation":"

Represents the output of a BatchGetDeploymentGroups operation.

" }, "BatchGetDeploymentInstancesInput":{ "type":"structure", @@ -958,7 +978,7 @@ "documentation":"

The unique IDs of instances in the deployment group.

" } }, - "documentation":"

Represents the input of a batch get deployment instances operation.

" + "documentation":"

Represents the input of a BatchGetDeploymentInstances operation.

" }, "BatchGetDeploymentInstancesOutput":{ "type":"structure", @@ -972,7 +992,7 @@ "documentation":"

Information about errors that may have occurred during the API call.

" } }, - "documentation":"

Represents the output of a batch get deployment instance operation.

" + "documentation":"

Represents the output of a BatchGetDeploymentInstances operation.

" }, "BatchGetDeploymentsInput":{ "type":"structure", @@ -982,7 +1002,7 @@ "documentation":"

A list of deployment IDs, separated by spaces.

" } }, - "documentation":"

Represents the input of a batch get deployments operation.

" + "documentation":"

Represents the input of a BatchGetDeployments operation.

" }, "BatchGetDeploymentsOutput":{ "type":"structure", @@ -992,7 +1012,7 @@ "documentation":"

Information about the deployments.

" } }, - "documentation":"

Represents the output of a batch get deployments operation.

" + "documentation":"

Represents the output of a BatchGetDeployments operation.

" }, "BatchGetOnPremisesInstancesInput":{ "type":"structure", @@ -1002,7 +1022,7 @@ "documentation":"

The names of the on-premises instances about which to get information.

" } }, - "documentation":"

Represents the input of a batch get on-premises instances operation.

" + "documentation":"

Represents the input of a BatchGetOnPremisesInstances operation.

" }, "BatchGetOnPremisesInstancesOutput":{ "type":"structure", @@ -1012,7 +1032,7 @@ "documentation":"

Information about the on-premises instances.

" } }, - "documentation":"

Represents the output of a batch get on-premises instances operation.

" + "documentation":"

Represents the output of a BatchGetOnPremisesInstances operation.

" }, "BatchLimitExceededException":{ "type":"structure", @@ -1088,7 +1108,7 @@ "documentation":"

The name of the application. This name must be unique with the applicable IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a create application operation.

" + "documentation":"

Represents the input of a CreateApplication operation.

" }, "CreateApplicationOutput":{ "type":"structure", @@ -1098,7 +1118,7 @@ "documentation":"

A unique application ID.

" } }, - "documentation":"

Represents the output of a create application operation.

" + "documentation":"

Represents the output of a CreateApplication operation.

" }, "CreateDeploymentConfigInput":{ "type":"structure", @@ -1113,7 +1133,7 @@ "documentation":"

The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.

The type parameter takes either of the following values:

  • HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.

  • FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances.

The value parameter takes an integer.

For example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.

" } }, - "documentation":"

Represents the input of a create deployment configuration operation.

" + "documentation":"

Represents the input of a CreateDeploymentConfig operation.

" }, "CreateDeploymentConfigOutput":{ "type":"structure", @@ -1123,7 +1143,7 @@ "documentation":"

A unique deployment configuration ID.

" } }, - "documentation":"

Represents the output of a create deployment configuration operation.

" + "documentation":"

Represents the output of a CreateDeploymentConfig operation.

" }, "CreateDeploymentGroupInput":{ "type":"structure", @@ -1143,15 +1163,15 @@ }, "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

If specified, the deployment configuration name can be either one of the predefined configurations provided with AWS CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation.

CodeDeployDefault.OneAtATime is the default deployment configuration. It is used if a configuration isn't specified for the deployment or the deployment group.

For more information about the predefined deployment configurations in AWS CodeDeploy, see see Working with Deployment Groups in AWS CodeDeploy in the AWS CodeDeploy User Guide.

" + "documentation":"

If specified, the deployment configuration name can be either one of the predefined configurations provided with AWS CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation.

CodeDeployDefault.OneAtATime is the default deployment configuration. It is used if a configuration isn't specified for the deployment or the deployment group.

For more information about the predefined deployment configurations in AWS CodeDeploy, see Working with Deployment Groups in AWS CodeDeploy in the AWS CodeDeploy User Guide.

" }, "ec2TagFilters":{ "shape":"EC2TagFilterList", - "documentation":"

The Amazon EC2 tags on which to filter.

" + "documentation":"

The Amazon EC2 tags on which to filter. The deployment group will include EC2 instances with any of the specified tags.

" }, "onPremisesInstanceTagFilters":{ "shape":"TagFilterList", - "documentation":"

The on-premises instance tags on which to filter.

" + "documentation":"

The on-premises instance tags on which to filter. The deployment group will include on-premises instances with any of the specified tags.

" }, "autoScalingGroups":{ "shape":"AutoScalingGroupNameList", @@ -1167,7 +1187,7 @@ }, "alarmConfiguration":{ "shape":"AlarmConfiguration", - "documentation":"

Information to add about Amazon CloudWatch alarms when the deployment group is created.

" + "documentation":"

Information to add about Amazon CloudWatch alarms when the deployment group is created.

" }, "autoRollbackConfiguration":{ "shape":"AutoRollbackConfiguration", @@ -1175,7 +1195,7 @@ }, "deploymentStyle":{ "shape":"DeploymentStyle", - "documentation":"

Information about the type of deployment, standard or blue/green, that you want to run and whether to route deployment traffic behind a load balancer.

" + "documentation":"

Information about the type of deployment, in-place or blue/green, that you want to run and whether to route deployment traffic behind a load balancer.

" }, "blueGreenDeploymentConfiguration":{ "shape":"BlueGreenDeploymentConfiguration", @@ -1183,10 +1203,10 @@ }, "loadBalancerInfo":{ "shape":"LoadBalancerInfo", - "documentation":"

Information about the load balancer used in a blue/green deployment.

" + "documentation":"

Information about the load balancer used in a deployment.

" } }, - "documentation":"

Represents the input of a create deployment group operation.

" + "documentation":"

Represents the input of a CreateDeploymentGroup operation.

" }, "CreateDeploymentGroupOutput":{ "type":"structure", @@ -1196,7 +1216,7 @@ "documentation":"

A unique deployment group ID.

" } }, - "documentation":"

Represents the output of a create deployment group operation.

" + "documentation":"

Represents the output of a CreateDeploymentGroup operation.

" }, "CreateDeploymentInput":{ "type":"structure", @@ -1237,9 +1257,13 @@ "updateOutdatedInstancesOnly":{ "shape":"Boolean", "documentation":"

Indicates whether to deploy to all instances or only to instances that are not running the latest application revision.

" + }, + "fileExistsBehavior":{ + "shape":"FileExistsBehavior", + "documentation":"

Information about how AWS CodeDeploy handles files that already exist in a deployment target location but weren't part of the previous successful deployment.

The fileExistsBehavior parameter takes any of the following values:

  • DISALLOW: The deployment fails. This is also the default behavior if no option is specified.

  • OVERWRITE: The version of the file from the application revision currently being deployed replaces the version already on the instance.

  • RETAIN: The version of the file already on the instance is kept and used as part of the new deployment.

" } }, - "documentation":"

Represents the input of a create deployment operation.

" + "documentation":"

Represents the input of a CreateDeployment operation.

" }, "CreateDeploymentOutput":{ "type":"structure", @@ -1249,7 +1273,7 @@ "documentation":"

A unique deployment ID.

" } }, - "documentation":"

Represents the output of a create deployment operation.

" + "documentation":"

Represents the output of a CreateDeployment operation.

" }, "DeleteApplicationInput":{ "type":"structure", @@ -1260,7 +1284,7 @@ "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a delete application operation.

" + "documentation":"

Represents the input of a DeleteApplication operation.

" }, "DeleteDeploymentConfigInput":{ "type":"structure", @@ -1271,7 +1295,7 @@ "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a delete deployment configuration operation.

" + "documentation":"

Represents the input of a DeleteDeploymentConfig operation.

" }, "DeleteDeploymentGroupInput":{ "type":"structure", @@ -1289,7 +1313,7 @@ "documentation":"

The name of an existing deployment group for the specified application.

" } }, - "documentation":"

Represents the input of a delete deployment group operation.

" + "documentation":"

Represents the input of a DeleteDeploymentGroup operation.

" }, "DeleteDeploymentGroupOutput":{ "type":"structure", @@ -1299,7 +1323,7 @@ "documentation":"

If the output contains no data, and the corresponding deployment group contained at least one Auto Scaling group, AWS CodeDeploy successfully removed all corresponding Auto Scaling lifecycle event hooks from the Amazon EC2 instances in the Auto Scaling group. If the output contains data, AWS CodeDeploy could not remove some Auto Scaling lifecycle event hooks from the Amazon EC2 instances in the Auto Scaling group.

" } }, - "documentation":"

Represents the output of a delete deployment group operation.

" + "documentation":"

Represents the output of a DeleteDeploymentGroup operation.

" }, "DeploymentAlreadyCompletedException":{ "type":"structure", @@ -1458,7 +1482,7 @@ }, "deploymentStyle":{ "shape":"DeploymentStyle", - "documentation":"

Information about the type of deployment, either standard or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" + "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" }, "blueGreenDeploymentConfiguration":{ "shape":"BlueGreenDeploymentConfiguration", @@ -1466,7 +1490,15 @@ }, "loadBalancerInfo":{ "shape":"LoadBalancerInfo", - "documentation":"

Information about the load balancer to use in a blue/green deployment.

" + "documentation":"

Information about the load balancer to use in a deployment.

" + }, + "lastSuccessfulDeployment":{ + "shape":"LastDeploymentInfo", + "documentation":"

Information about the most recent successful deployment to the deployment group.

" + }, + "lastAttemptedDeployment":{ + "shape":"LastDeploymentInfo", + "documentation":"

Information about the most recent attempted deployment to the deployment group.

" } }, "documentation":"

Information about a deployment group.

" @@ -1525,6 +1557,10 @@ "shape":"DeploymentId", "documentation":"

The deployment ID.

" }, + "previousRevision":{ + "shape":"RevisionLocation", + "documentation":"

Information about the application revision that was deployed to the deployment group before the most recent successful deployment.

" + }, "revision":{ "shape":"RevisionLocation", "documentation":"

Information about the location of stored application artifacts and the service from which to retrieve them.

" @@ -1579,7 +1615,7 @@ }, "deploymentStyle":{ "shape":"DeploymentStyle", - "documentation":"

Information about the type of deployment, either standard or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" + "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" }, "targetInstances":{ "shape":"TargetInstances", @@ -1595,11 +1631,15 @@ }, "loadBalancerInfo":{ "shape":"LoadBalancerInfo", - "documentation":"

Information about the load balancer used in this blue/green deployment.

" + "documentation":"

Information about the load balancer used in the deployment.

" }, "additionalDeploymentStatusInfo":{ "shape":"AdditionalDeploymentStatusInfo", "documentation":"

Provides information about the results of a deployment, such as whether instances in the original environment in a blue/green deployment were not terminated.

" + }, + "fileExistsBehavior":{ + "shape":"FileExistsBehavior", + "documentation":"

Information about how AWS CodeDeploy handles files that already exist in a deployment target location but weren't part of the previous successful deployment.

  • DISALLOW: The deployment fails. This is also the default behavior if no option is specified.

  • OVERWRITE: The version of the file from the application revision currently being deployed replaces the version already on the instance.

  • RETAIN: The version of the file already on the instance is kept and used as part of the new deployment.

" } }, "documentation":"

Information about a deployment.

" @@ -1704,14 +1744,14 @@ "members":{ "deploymentType":{ "shape":"DeploymentType", - "documentation":"

Indicates whether to run a standard deployment or a blue/green deployment.

" + "documentation":"

Indicates whether to run an in-place deployment or a blue/green deployment.

" }, "deploymentOption":{ "shape":"DeploymentOption", "documentation":"

Indicates whether to route deployment traffic behind a load balancer.

" } }, - "documentation":"

Information about the type of deployment, either standard or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" + "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" }, "DeploymentType":{ "type":"string", @@ -1737,7 +1777,7 @@ "documentation":"

The name of the on-premises instance to deregister.

" } }, - "documentation":"

Represents the input of a deregister on-premises instance operation.

" + "documentation":"

Represents the input of a DeregisterOnPremisesInstance operation.

" }, "Description":{"type":"string"}, "DescriptionTooLongException":{ @@ -1786,7 +1826,7 @@ "documentation":"

The tag filter type:

  • KEY_ONLY: Key only.

  • VALUE_ONLY: Value only.

  • KEY_AND_VALUE: Key and value.

" } }, - "documentation":"

Information about a tag filter.

" + "documentation":"

Information about an EC2 tag filter.

" }, "EC2TagFilterList":{ "type":"list", @@ -1805,10 +1845,10 @@ "members":{ "name":{ "shape":"ELBName", - "documentation":"

The name of the load balancer that will be used to route traffic from original instances to replacement instances in a blue/green deployment.

" + "documentation":"

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.

" } }, - "documentation":"

Information about a load balancer in Elastic Load Balancing to use in a blue/green deployment.

" + "documentation":"

Information about a load balancer in Elastic Load Balancing to use in a deployment.

" }, "ELBInfoList":{ "type":"list", @@ -1854,6 +1894,14 @@ "documentation":"

Information about a deployment error.

" }, "ErrorMessage":{"type":"string"}, + "FileExistsBehavior":{ + "type":"string", + "enum":[ + "DISALLOW", + "OVERWRITE", + "RETAIN" + ] + }, "GenericRevisionInfo":{ "type":"structure", "members":{ @@ -1889,7 +1937,7 @@ "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a get application operation.

" + "documentation":"

Represents the input of a GetApplication operation.

" }, "GetApplicationOutput":{ "type":"structure", @@ -1899,7 +1947,7 @@ "documentation":"

Information about the application.

" } }, - "documentation":"

Represents the output of a get application operation.

" + "documentation":"

Represents the output of a GetApplication operation.

" }, "GetApplicationRevisionInput":{ "type":"structure", @@ -1917,7 +1965,7 @@ "documentation":"

Information about the application revision to get, including type and location.

" } }, - "documentation":"

Represents the input of a get application revision operation.

" + "documentation":"

Represents the input of a GetApplicationRevision operation.

" }, "GetApplicationRevisionOutput":{ "type":"structure", @@ -1935,7 +1983,7 @@ "documentation":"

General information about the revision.

" } }, - "documentation":"

Represents the output of a get application revision operation.

" + "documentation":"

Represents the output of a GetApplicationRevision operation.

" }, "GetDeploymentConfigInput":{ "type":"structure", @@ -1946,7 +1994,7 @@ "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a get deployment configuration operation.

" + "documentation":"

Represents the input of a GetDeploymentConfig operation.

" }, "GetDeploymentConfigOutput":{ "type":"structure", @@ -1956,7 +2004,7 @@ "documentation":"

Information about the deployment configuration.

" } }, - "documentation":"

Represents the output of a get deployment configuration operation.

" + "documentation":"

Represents the output of a GetDeploymentConfig operation.

" }, "GetDeploymentGroupInput":{ "type":"structure", @@ -1974,7 +2022,7 @@ "documentation":"

The name of an existing deployment group for the specified application.

" } }, - "documentation":"

Represents the input of a get deployment group operation.

" + "documentation":"

Represents the input of a GetDeploymentGroup operation.

" }, "GetDeploymentGroupOutput":{ "type":"structure", @@ -1984,7 +2032,7 @@ "documentation":"

Information about the deployment group.

" } }, - "documentation":"

Represents the output of a get deployment group operation.

" + "documentation":"

Represents the output of a GetDeploymentGroup operation.

" }, "GetDeploymentInput":{ "type":"structure", @@ -1995,7 +2043,7 @@ "documentation":"

A deployment ID associated with the applicable IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a get deployment operation.

" + "documentation":"

Represents the input of a GetDeployment operation.

" }, "GetDeploymentInstanceInput":{ "type":"structure", @@ -2013,7 +2061,7 @@ "documentation":"

The unique ID of an instance in the deployment group.

" } }, - "documentation":"

Represents the input of a get deployment instance operation.

" + "documentation":"

Represents the input of a GetDeploymentInstance operation.

" }, "GetDeploymentInstanceOutput":{ "type":"structure", @@ -2023,7 +2071,7 @@ "documentation":"

Information about the instance.

" } }, - "documentation":"

Represents the output of a get deployment instance operation.

" + "documentation":"

Represents the output of a GetDeploymentInstance operation.

" }, "GetDeploymentOutput":{ "type":"structure", @@ -2033,7 +2081,7 @@ "documentation":"

Information about the deployment.

" } }, - "documentation":"

Represents the output of a get deployment operation.

" + "documentation":"

Represents the output of a GetDeployment operation.

" }, "GetOnPremisesInstanceInput":{ "type":"structure", @@ -2044,7 +2092,7 @@ "documentation":"

The name of the on-premises instance about which to get information.

" } }, - "documentation":"

Represents the input of a get on-premises instance operation.

" + "documentation":"

Represents the input of a GetOnPremisesInstance operation.

" }, "GetOnPremisesInstanceOutput":{ "type":"structure", @@ -2054,7 +2102,19 @@ "documentation":"

Information about the on-premises instance.

" } }, - "documentation":"

Represents the output of a get on-premises instance operation.

" + "documentation":"

Represents the output of a GetOnPremisesInstance operation.

" + }, + "GitHubAccountTokenDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

No GitHub account connection exists with the named specified in the call.

", + "exception":true + }, + "GitHubAccountTokenName":{"type":"string"}, + "GitHubAccountTokenNameList":{ + "type":"list", + "member":{"shape":"GitHubAccountTokenName"} }, "GitHubLocation":{ "type":"structure", @@ -2347,6 +2407,13 @@ "documentation":"

At least one of the deployment IDs was specified in an invalid format.

", "exception":true }, + "InvalidDeploymentInstanceTypeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An instance type was specified for an in-place deployment. Instance types are supported for blue/green deployments only.

", + "exception":true + }, "InvalidDeploymentStatusException":{ "type":"structure", "members":{ @@ -2358,7 +2425,7 @@ "type":"structure", "members":{ }, - "documentation":"

An invalid deployment style was specified. Valid deployment types include \"IN_PLACE\" and \"BLUE_GREEN\". Valid deployment options for blue/green deployments include \"WITH_TRAFFIC_CONTROL\" and \"WITHOUT_TRAFFIC_CONTROL\".

", + "documentation":"

An invalid deployment style was specified. Valid deployment types include \"IN_PLACE\" and \"BLUE_GREEN\". Valid deployment options include \"WITH_TRAFFIC_CONTROL\" and \"WITHOUT_TRAFFIC_CONTROL\".

", "exception":true }, "InvalidEC2TagException":{ @@ -2368,6 +2435,13 @@ "documentation":"

The tag was specified in an invalid format.

", "exception":true }, + "InvalidFileExistsBehaviorException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An invalid fileExistsBehavior option was specified to determine how AWS CodeDeploy handles files or directories that already exist in a deployment target location but weren't part of the previous successful deployment. Valid values include \"DISALLOW\", \"OVERWRITE\", and \"RETAIN\".

", + "exception":true + }, "InvalidIamSessionArnException":{ "type":"structure", "members":{ @@ -2509,6 +2583,28 @@ "exception":true }, "Key":{"type":"string"}, + "LastDeploymentInfo":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The deployment ID.

" + }, + "status":{ + "shape":"DeploymentStatus", + "documentation":"

The status of the most recent deployment.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

A timestamp indicating when the most recent deployment to the deployment group completed.

" + }, + "createTime":{ + "shape":"Timestamp", + "documentation":"

A timestamp indicating when the most recent deployment to the deployment group started.

" + } + }, + "documentation":"

Information about the most recent attempted or successful deployment to a deployment group.

" + }, "LifecycleErrorCode":{ "type":"string", "enum":[ @@ -2603,7 +2699,7 @@ "documentation":"

An identifier returned from the previous list application revisions call. It can be used to return the next set of applications in the list.

" } }, - "documentation":"

Represents the input of a list application revisions operation.

" + "documentation":"

Represents the input of a ListApplicationRevisions operation.

" }, "ListApplicationRevisionsOutput":{ "type":"structure", @@ -2617,7 +2713,7 @@ "documentation":"

If a large amount of information is returned, an identifier will also be returned. It can be used in a subsequent list application revisions call to return the next set of application revisions in the list.

" } }, - "documentation":"

Represents the output of a list application revisions operation.

" + "documentation":"

Represents the output of a ListApplicationRevisions operation.

" }, "ListApplicationsInput":{ "type":"structure", @@ -2627,7 +2723,7 @@ "documentation":"

An identifier returned from the previous list applications call. It can be used to return the next set of applications in the list.

" } }, - "documentation":"

Represents the input of a list applications operation.

" + "documentation":"

Represents the input of a ListApplications operation.

" }, "ListApplicationsOutput":{ "type":"structure", @@ -2641,7 +2737,7 @@ "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list applications call to return the next set of applications, will also be returned. in the list.

" } }, - "documentation":"

Represents the output of a list applications operation.

" + "documentation":"

Represents the output of a ListApplications operation.

" }, "ListDeploymentConfigsInput":{ "type":"structure", @@ -2651,7 +2747,7 @@ "documentation":"

An identifier returned from the previous list deployment configurations call. It can be used to return the next set of deployment configurations in the list.

" } }, - "documentation":"

Represents the input of a list deployment configurations operation.

" + "documentation":"

Represents the input of a ListDeploymentConfigs operation.

" }, "ListDeploymentConfigsOutput":{ "type":"structure", @@ -2665,7 +2761,7 @@ "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment configurations call to return the next set of deployment configurations in the list.

" } }, - "documentation":"

Represents the output of a list deployment configurations operation.

" + "documentation":"

Represents the output of a ListDeploymentConfigs operation.

" }, "ListDeploymentGroupsInput":{ "type":"structure", @@ -2680,7 +2776,7 @@ "documentation":"

An identifier returned from the previous list deployment groups call. It can be used to return the next set of deployment groups in the list.

" } }, - "documentation":"

Represents the input of a list deployment groups operation.

" + "documentation":"

Represents the input of a ListDeploymentGroups operation.

" }, "ListDeploymentGroupsOutput":{ "type":"structure", @@ -2698,7 +2794,7 @@ "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment groups call to return the next set of deployment groups in the list.

" } }, - "documentation":"

Represents the output of a list deployment groups operation.

" + "documentation":"

Represents the output of a ListDeploymentGroups operation.

" }, "ListDeploymentInstancesInput":{ "type":"structure", @@ -2721,7 +2817,7 @@ "documentation":"

The set of instances in a blue/green deployment, either those in the original environment (\"BLUE\") or those in the replacement environment (\"GREEN\"), for which you want to view instance information.

" } }, - "documentation":"

Represents the input of a list deployment instances operation.

" + "documentation":"

Represents the input of a ListDeploymentInstances operation.

" }, "ListDeploymentInstancesOutput":{ "type":"structure", @@ -2735,7 +2831,7 @@ "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment instances call to return the next set of deployment instances in the list.

" } }, - "documentation":"

Represents the output of a list deployment instances operation.

" + "documentation":"

Represents the output of a ListDeploymentInstances operation.

" }, "ListDeploymentsInput":{ "type":"structure", @@ -2761,7 +2857,7 @@ "documentation":"

An identifier returned from the previous list deployments call. It can be used to return the next set of deployments in the list.

" } }, - "documentation":"

Represents the input of a list deployments operation.

" + "documentation":"

Represents the input of a ListDeployments operation.

" }, "ListDeploymentsOutput":{ "type":"structure", @@ -2775,7 +2871,31 @@ "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployments call to return the next set of deployments in the list.

" } }, - "documentation":"

Represents the output of a list deployments operation.

" + "documentation":"

Represents the output of a ListDeployments operation.

" + }, + "ListGitHubAccountTokenNamesInput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

An identifier returned from the previous ListGitHubAccountTokenNames call. It can be used to return the next set of names in the list.

" + } + }, + "documentation":"

Represents the input of a ListGitHubAccountTokenNames operation.

" + }, + "ListGitHubAccountTokenNamesOutput":{ + "type":"structure", + "members":{ + "tokenNameList":{ + "shape":"GitHubAccountTokenNameList", + "documentation":"

A list of names of connections to GitHub accounts.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent ListGitHubAccountTokenNames call to return the next set of names in the list.

" + } + }, + "documentation":"

Represents the output of a ListGitHubAccountTokenNames operation.

" }, "ListOnPremisesInstancesInput":{ "type":"structure", @@ -2793,7 +2913,7 @@ "documentation":"

An identifier returned from the previous list on-premises instances call. It can be used to return the next set of on-premises instances in the list.

" } }, - "documentation":"

Represents the input of a list on-premises instances operation.

" + "documentation":"

Represents the input of a ListOnPremisesInstances operation.

" }, "ListOnPremisesInstancesOutput":{ "type":"structure", @@ -2822,10 +2942,10 @@ "members":{ "elbInfoList":{ "shape":"ELBInfoList", - "documentation":"

An array containing information about the load balancer in Elastic Load Balancing to use in a blue/green deployment.

" + "documentation":"

An array containing information about the load balancer in Elastic Load Balancing to use in a deployment.

" } }, - "documentation":"

Information about the load balancer used in a blue/green deployment.

" + "documentation":"

Information about the load balancer used in a deployment.

" }, "LogTail":{"type":"string"}, "Message":{"type":"string"}, @@ -2838,7 +2958,7 @@ }, "type":{ "shape":"MinimumHealthyHostsType", - "documentation":"

The minimum healthy instance type:

  • HOST_COUNT: The minimum number of healthy instance as an absolute value.

  • FLEET_PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.

In an example of nine instance, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment will be successful if six or more instances are deployed to successfully; otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment will be successful if four or more instance are deployed to successfully; otherwise, the deployment fails.

In a call to the get deployment configuration operation, CodeDeployDefault.OneAtATime will return a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy will try to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment still succeeds.

" + "documentation":"

The minimum healthy instance type:

  • HOST_COUNT: The minimum number of healthy instance as an absolute value.

  • FLEET_PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.

In an example of nine instance, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment will be successful if six or more instances are deployed to successfully; otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment will be successful if four or more instance are deployed to successfully; otherwise, the deployment fails.

In a call to the get deployment configuration operation, CodeDeployDefault.OneAtATime will return a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy will try to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment still succeeds.

For more information, see AWS CodeDeploy Instance Health in the AWS CodeDeploy User Guide.

" } }, "documentation":"

Information about minimum healthy instance.

" @@ -2880,7 +3000,7 @@ "documentation":"

Information about the application revision to register, including type and location.

" } }, - "documentation":"

Represents the input of a register application revision operation.

" + "documentation":"

Represents the input of a RegisterApplicationRevision operation.

" }, "RegisterOnPremisesInstanceInput":{ "type":"structure", @@ -2924,9 +3044,16 @@ "documentation":"

The names of the on-premises instances from which to remove tags.

" } }, - "documentation":"

Represents the input of a remove tags from on-premises instances operation.

" + "documentation":"

Represents the input of a RemoveTagsFromOnPremisesInstances operation.

" }, "Repository":{"type":"string"}, + "ResourceValidationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified resource could not be validated.

", + "exception":true + }, "RevisionDoesNotExistException":{ "type":"structure", "members":{ @@ -3072,7 +3199,7 @@ "documentation":"

Indicates, when a deployment is stopped, whether instances that have been updated should be rolled back to the previous version of the application revision.

" } }, - "documentation":"

Represents the input of a stop deployment operation.

" + "documentation":"

Represents the input of a StopDeployment operation.

" }, "StopDeploymentOutput":{ "type":"structure", @@ -3086,7 +3213,7 @@ "documentation":"

An accompanying status message.

" } }, - "documentation":"

Represents the output of a stop deployment operation.

" + "documentation":"

Represents the output of a StopDeployment operation.

" }, "StopStatus":{ "type":"string", @@ -3255,7 +3382,7 @@ "documentation":"

The new name to give the application.

" } }, - "documentation":"

Represents the input of an update application operation.

" + "documentation":"

Represents the input of an UpdateApplication operation.

" }, "UpdateDeploymentGroupInput":{ "type":"structure", @@ -3302,7 +3429,7 @@ }, "alarmConfiguration":{ "shape":"AlarmConfiguration", - "documentation":"

Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.

" + "documentation":"

Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.

" }, "autoRollbackConfiguration":{ "shape":"AutoRollbackConfiguration", @@ -3310,7 +3437,7 @@ }, "deploymentStyle":{ "shape":"DeploymentStyle", - "documentation":"

Information about the type of deployment, either standard or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" + "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" }, "blueGreenDeploymentConfiguration":{ "shape":"BlueGreenDeploymentConfiguration", @@ -3318,10 +3445,10 @@ }, "loadBalancerInfo":{ "shape":"LoadBalancerInfo", - "documentation":"

Information about the load balancer used in a blue/green deployment.

" + "documentation":"

Information about the load balancer used in a deployment.

" } }, - "documentation":"

Represents the input of an update deployment group operation.

" + "documentation":"

Represents the input of an UpdateDeploymentGroup operation.

" }, "UpdateDeploymentGroupOutput":{ "type":"structure", @@ -3331,10 +3458,10 @@ "documentation":"

If the output contains no data, and the corresponding deployment group contained at least one Auto Scaling group, AWS CodeDeploy successfully removed all corresponding Auto Scaling lifecycle event hooks from the AWS account. If the output contains data, AWS CodeDeploy could not remove some Auto Scaling lifecycle event hooks from the AWS account.

" } }, - "documentation":"

Represents the output of an update deployment group operation.

" + "documentation":"

Represents the output of an UpdateDeploymentGroup operation.

" }, "Value":{"type":"string"}, "VersionId":{"type":"string"} }, - "documentation":"AWS CodeDeploy

Overview

This reference guide provides descriptions of the AWS CodeDeploy APIs. For more information about AWS CodeDeploy, see the AWS CodeDeploy User Guide.

Using the APIs

You can use the AWS CodeDeploy APIs to work with the following:

  • Applications are unique identifiers used by AWS CodeDeploy to ensure the correct combinations of revisions, deployment configurations, and deployment groups are being referenced during deployments.

    You can use the AWS CodeDeploy APIs to create, delete, get, list, and update applications.

  • Deployment configurations are sets of deployment rules and success and failure conditions used by AWS CodeDeploy during deployments.

    You can use the AWS CodeDeploy APIs to create, delete, get, and list deployment configurations.

  • Deployment groups are groups of instances to which application revisions can be deployed.

    You can use the AWS CodeDeploy APIs to create, delete, get, list, and update deployment groups.

  • Instances represent Amazon EC2 instances to which application revisions are deployed. Instances are identified by their Amazon EC2 tags or Auto Scaling group names. Instances belong to deployment groups.

    You can use the AWS CodeDeploy APIs to get and list instance.

  • Deployments represent the process of deploying revisions to instances.

    You can use the AWS CodeDeploy APIs to create, get, list, and stop deployments.

  • Application revisions are archive files stored in Amazon S3 buckets or GitHub repositories. These revisions contain source content (such as source code, web pages, executable files, and deployment scripts) along with an application specification (AppSpec) file. (The AppSpec file is unique to AWS CodeDeploy; it defines the deployment actions you want AWS CodeDeploy to execute.) For application revisions stored in Amazon S3 buckets, an application revision is uniquely identified by its Amazon S3 object key and its ETag, version, or both. For application revisions stored in GitHub repositories, an application revision is uniquely identified by its repository name and commit ID. Application revisions are deployed through deployment groups.

    You can use the AWS CodeDeploy APIs to get, list, and register application revisions.

" + "documentation":"AWS CodeDeploy

AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances or on-premises instances running in your own facility.

You can deploy a nearly unlimited variety of application content, such as code, web and configuration files, executables, packages, scripts, multimedia files, and so on. AWS CodeDeploy can deploy application content stored in Amazon S3 buckets, GitHub repositories, or Bitbucket repositories. You do not need to make changes to your existing code before you can use AWS CodeDeploy.

AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications, without many of the risks associated with error-prone manual deployments.

AWS CodeDeploy Components

Use the information in this guide to help you work with the following AWS CodeDeploy components:

  • Application: A name that uniquely identifies the application you want to deploy. AWS CodeDeploy uses this name, which functions as a container, to ensure the correct combination of revision, deployment configuration, and deployment group are referenced during a deployment.

  • Deployment group: A set of individual instances. A deployment group contains individually tagged instances, Amazon EC2 instances in Auto Scaling groups, or both.

  • Deployment configuration: A set of deployment rules and deployment success and failure conditions used by AWS CodeDeploy during a deployment.

  • Deployment: The process, and the components involved in the process, of installing content on one or more instances.

  • Application revisions: An archive file containing source content—source code, web pages, executable files, and deployment scripts—along with an application specification file (AppSpec file). Revisions are stored in Amazon S3 buckets or GitHub repositories. For Amazon S3, a revision is uniquely identified by its Amazon S3 object key and its ETag, version, or both. For GitHub, a revision is uniquely identified by its commit ID.

This guide also contains information to help you get details about the instances in your deployments and to make on-premises instances available for AWS CodeDeploy deployments.

AWS CodeDeploy Information Resources

" } diff --git a/botocore/data/codepipeline/2015-07-09/examples-1.json b/botocore/data/codepipeline/2015-07-09/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/codepipeline/2015-07-09/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/codepipeline/2015-07-09/paginators-1.json b/botocore/data/codepipeline/2015-07-09/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/codepipeline/2015-07-09/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/codepipeline/2015-07-09/service-2.json b/botocore/data/codepipeline/2015-07-09/service-2.json index a58da999..7e3019ec 100644 --- a/botocore/data/codepipeline/2015-07-09/service-2.json +++ b/botocore/data/codepipeline/2015-07-09/service-2.json @@ -216,6 +216,21 @@ ], "documentation":"

Gets a summary of all AWS CodePipeline action types associated with your account.

" }, + "ListPipelineExecutions":{ + "name":"ListPipelineExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPipelineExecutionsInput"}, + "output":{"shape":"ListPipelineExecutionsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"PipelineNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Gets a summary of the most recent executions for a pipeline.

" + }, "ListPipelines":{ "name":"ListPipelines", "http":{ @@ -575,7 +590,7 @@ }, "ActionConfigurationQueryableValue":{ "type":"string", - "max":20, + "max":50, "min":1, "pattern":"[a-zA-Z0-9_-]+" }, @@ -745,8 +760,14 @@ "shape":"ActionName", "documentation":"

The name of the action.

" }, - "currentRevision":{"shape":"ActionRevision"}, - "latestExecution":{"shape":"ActionExecution"}, + "currentRevision":{ + "shape":"ActionRevision", + "documentation":"

Represents information about the version (or revision) of an action.

" + }, + "latestExecution":{ + "shape":"ActionExecution", + "documentation":"

Represents information about the run of an action.

" + }, "entityUrl":{ "shape":"Url", "documentation":"

A URL link for more information about the state of the action, such as a deployment group details page.

" @@ -770,7 +791,10 @@ "outputArtifactDetails" ], "members":{ - "id":{"shape":"ActionTypeId"}, + "id":{ + "shape":"ActionTypeId", + "documentation":"

Represents information about an action type.

" + }, "settings":{ "shape":"ActionTypeSettings", "documentation":"

The settings for the action type.

" @@ -1003,14 +1027,14 @@ }, "location":{ "shape":"ArtifactStoreLocation", - "documentation":"

The location for storing the artifacts for a pipeline, such as an S3 bucket or folder.

" + "documentation":"

The Amazon S3 bucket used for storing the artifacts for a pipeline. You can specify the name of an S3 bucket but not a folder within the bucket. A folder to contain the pipeline artifacts is created for you based on the name of the pipeline. You can use any Amazon S3 bucket in the same AWS Region as the pipeline to store your pipeline artifacts.

" }, "encryptionKey":{ "shape":"EncryptionKey", "documentation":"

The encryption key used to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If this is undefined, the default key for Amazon S3 is used.

" } }, - "documentation":"

The Amazon S3 location where artifacts are stored for the pipeline. If this Amazon S3 bucket is created manually, it must meet the requirements for AWS CodePipeline. For more information, see the Concepts.

" + "documentation":"

The Amazon S3 bucket where artifacts are stored for the pipeline.

" }, "ArtifactStoreLocation":{ "type":"string", @@ -1079,13 +1103,22 @@ "shape":"Version", "documentation":"

The version identifier of the custom action.

" }, - "settings":{"shape":"ActionTypeSettings"}, + "settings":{ + "shape":"ActionTypeSettings", + "documentation":"

Returns information about the settings for an action type.

" + }, "configurationProperties":{ "shape":"ActionConfigurationPropertyList", "documentation":"

The configuration properties for the custom action.

You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see Create a Custom Action for a Pipeline.

" }, - "inputArtifactDetails":{"shape":"ArtifactDetails"}, - "outputArtifactDetails":{"shape":"ArtifactDetails"} + "inputArtifactDetails":{ + "shape":"ArtifactDetails", + "documentation":"

The details of the input artifact for the action, such as its commit ID.

" + }, + "outputArtifactDetails":{ + "shape":"ArtifactDetails", + "documentation":"

The details of the output artifact of the action, such as its commit ID.

" + } }, "documentation":"

Represents the input of a create custom action operation.

" }, @@ -1093,7 +1126,10 @@ "type":"structure", "required":["actionType"], "members":{ - "actionType":{"shape":"ActionType"} + "actionType":{ + "shape":"ActionType", + "documentation":"

Returns information about the details of an action type.

" + } }, "documentation":"

Represents the output of a create custom action operation.

" }, @@ -1101,14 +1137,20 @@ "type":"structure", "required":["pipeline"], "members":{ - "pipeline":{"shape":"PipelineDeclaration"} + "pipeline":{ + "shape":"PipelineDeclaration", + "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" + } }, "documentation":"

Represents the input of a create pipeline action.

" }, "CreatePipelineOutput":{ "type":"structure", "members":{ - "pipeline":{"shape":"PipelineDeclaration"} + "pipeline":{ + "shape":"PipelineDeclaration", + "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" + } }, "documentation":"

Represents the output of a create pipeline action.

" }, @@ -1400,7 +1442,10 @@ "GetPipelineOutput":{ "type":"structure", "members":{ - "pipeline":{"shape":"PipelineDeclaration"} + "pipeline":{ + "shape":"PipelineDeclaration", + "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" + } }, "documentation":"

Represents the output of a get pipeline action.

" }, @@ -1579,9 +1624,18 @@ "JobData":{ "type":"structure", "members":{ - "actionTypeId":{"shape":"ActionTypeId"}, - "actionConfiguration":{"shape":"ActionConfiguration"}, - "pipelineContext":{"shape":"PipelineContext"}, + "actionTypeId":{ + "shape":"ActionTypeId", + "documentation":"

Represents information about an action type.

" + }, + "actionConfiguration":{ + "shape":"ActionConfiguration", + "documentation":"

Represents information about an action configuration.

" + }, + "pipelineContext":{ + "shape":"PipelineContext", + "documentation":"

Represents information about a pipeline to a job worker.

" + }, "inputArtifacts":{ "shape":"ArtifactList", "documentation":"

The artifact supplied to the job.

" @@ -1590,12 +1644,18 @@ "shape":"ArtifactList", "documentation":"

The output of the job.

" }, - "artifactCredentials":{"shape":"AWSSessionCredentials"}, + "artifactCredentials":{ + "shape":"AWSSessionCredentials", + "documentation":"

Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the Amazon S3 bucket used to store artifact for the pipeline in AWS CodePipeline.

" + }, "continuationToken":{ "shape":"ContinuationToken", "documentation":"

A system-generated token, such as a AWS CodeDeploy deployment ID, that a job requires in order to continue the job asynchronously.

" }, - "encryptionKey":{"shape":"EncryptionKey"} + "encryptionKey":{ + "shape":"EncryptionKey", + "documentation":"

Represents information about the key used to encrypt data in the artifact store, such as an AWS Key Management Service (AWS KMS) key.

" + } }, "documentation":"

Represents additional information about a job required for a job worker to complete the job.

" }, @@ -1606,7 +1666,10 @@ "shape":"JobId", "documentation":"

The unique system-generated ID of the job.

" }, - "data":{"shape":"JobData"}, + "data":{ + "shape":"JobData", + "documentation":"

Represents additional information about a job required for a job worker to complete the job.

" + }, "accountId":{ "shape":"AccountId", "documentation":"

The AWS account ID associated with the job.

" @@ -1680,6 +1743,39 @@ }, "documentation":"

Represents the output of a list action types action.

" }, + "ListPipelineExecutionsInput":{ + "type":"structure", + "required":["pipelineName"], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline for which you want to get execution summary information.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. The available pipeline execution history is limited to the most recent 12 months, based on pipeline execution start times. Default value is 100.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token that was returned from the previous list pipeline executions call, which can be used to return the next set of pipeline executions in the list.

" + } + }, + "documentation":"

Represents the input of a list pipeline executions action.

" + }, + "ListPipelineExecutionsOutput":{ + "type":"structure", + "members":{ + "pipelineExecutionSummaries":{ + "shape":"PipelineExecutionSummaryList", + "documentation":"

A list of executions in the history of a pipeline.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used in the next list pipeline executions call to return the next set of pipeline executions. To view all items in the list, continue to call this operation with each subsequent token until no more nextToken values are returned.

" + } + }, + "documentation":"

Represents the output of a list pipeline executions action.

" + }, "ListPipelinesInput":{ "type":"structure", "members":{ @@ -1708,6 +1804,11 @@ "type":"integer", "min":1 }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, "MaximumArtifactCount":{ "type":"integer", "max":5, @@ -1759,7 +1860,10 @@ "shape":"StageContext", "documentation":"

The stage of the pipeline.

" }, - "action":{"shape":"ActionContext"} + "action":{ + "shape":"ActionContext", + "documentation":"

" + } }, "documentation":"

Represents information about a pipeline to a job worker.

" }, @@ -1780,7 +1884,10 @@ "shape":"RoleArn", "documentation":"

The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

" }, - "artifactStore":{"shape":"ArtifactStore"}, + "artifactStore":{ + "shape":"ArtifactStore", + "documentation":"

Represents the context of an action within the stage of a pipeline to a job worker.

" + }, "stages":{ "shape":"PipelineStageDeclarationList", "documentation":"

The stage in which to perform the action.

" @@ -1809,7 +1916,7 @@ }, "status":{ "shape":"PipelineExecutionStatus", - "documentation":"

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Succeeded: The pipeline execution completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution caught up and continued through the pipeline instead.

  • Failed: The pipeline did not complete successfully.

" + "documentation":"

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Succeeded: The pipeline execution completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution caught up and continued through the pipeline instead.

  • Failed: The pipeline execution did not complete successfully.

" }, "artifactRevisions":{ "shape":"ArtifactRevisionList", @@ -1838,6 +1945,32 @@ "Failed" ] }, + "PipelineExecutionSummary":{ + "type":"structure", + "members":{ + "pipelineExecutionId":{ + "shape":"PipelineExecutionId", + "documentation":"

The ID of the pipeline execution.

" + }, + "status":{ + "shape":"PipelineExecutionStatus", + "documentation":"

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Succeeded: The pipeline execution completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution caught up and continued through the pipeline instead.

  • Failed: The pipeline execution did not complete successfully.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The date and time when the pipeline execution began, in timestamp format.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The date and time of the last change to the pipeline execution, in timestamp format.

" + } + }, + "documentation":"

Summary information about a pipeline execution.

" + }, + "PipelineExecutionSummaryList":{ + "type":"list", + "member":{"shape":"PipelineExecutionSummary"} + }, "PipelineList":{ "type":"list", "member":{"shape":"PipelineSummary"} @@ -1903,7 +2036,10 @@ "type":"structure", "required":["actionTypeId"], "members":{ - "actionTypeId":{"shape":"ActionTypeId"}, + "actionTypeId":{ + "shape":"ActionTypeId", + "documentation":"

Represents information about an action type.

" + }, "maxBatchSize":{ "shape":"MaxBatchSize", "documentation":"

The maximum number of jobs to return in a poll for jobs call.

" @@ -1929,7 +2065,10 @@ "type":"structure", "required":["actionTypeId"], "members":{ - "actionTypeId":{"shape":"ActionTypeId"}, + "actionTypeId":{ + "shape":"ActionTypeId", + "documentation":"

Represents information about an action type.

" + }, "maxBatchSize":{ "shape":"MaxBatchSize", "documentation":"

The maximum number of jobs to return in a poll for jobs call.

" @@ -1968,7 +2107,10 @@ "shape":"ActionName", "documentation":"

The name of the action that will process the revision.

" }, - "actionRevision":{"shape":"ActionRevision"} + "actionRevision":{ + "shape":"ActionRevision", + "documentation":"

Represents information about the version (or revision) of an action.

" + } }, "documentation":"

Represents the input of a put action revision action.

" }, @@ -2086,7 +2228,10 @@ "shape":"ClientToken", "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" }, - "failureDetails":{"shape":"FailureDetails"} + "failureDetails":{ + "shape":"FailureDetails", + "documentation":"

Represents information about failure details.

" + } }, "documentation":"

Represents the input of a third party job failure result action.

" }, @@ -2105,12 +2250,18 @@ "shape":"ClientToken", "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" }, - "currentRevision":{"shape":"CurrentRevision"}, + "currentRevision":{ + "shape":"CurrentRevision", + "documentation":"

Represents information about a current revision.

" + }, "continuationToken":{ "shape":"ContinuationToken", "documentation":"

A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a partner action in progress. Future jobs will use this token in order to identify the running instance of the action. It can be reused to return additional information about the progress of the partner action. When the action is complete, no continuation token should be supplied.

" }, - "executionDetails":{"shape":"ExecutionDetails"} + "executionDetails":{ + "shape":"ExecutionDetails", + "documentation":"

The details of the actions taken and results produced on an artifact as it passes through stages in the pipeline.

" + } }, "documentation":"

Represents the input of a put third party job success result action.

" }, @@ -2362,9 +2513,18 @@ "ThirdPartyJobData":{ "type":"structure", "members":{ - "actionTypeId":{"shape":"ActionTypeId"}, - "actionConfiguration":{"shape":"ActionConfiguration"}, - "pipelineContext":{"shape":"PipelineContext"}, + "actionTypeId":{ + "shape":"ActionTypeId", + "documentation":"

Represents information about an action type.

" + }, + "actionConfiguration":{ + "shape":"ActionConfiguration", + "documentation":"

Represents information about an action configuration.

" + }, + "pipelineContext":{ + "shape":"PipelineContext", + "documentation":"

Represents information about a pipeline to a job worker.

" + }, "inputArtifacts":{ "shape":"ArtifactList", "documentation":"

The name of the artifact that will be worked upon by the action, if any. This name might be system-generated, such as \"MyApp\", or might be defined by the user when the action is created. The input artifact name must match the name of an output artifact generated by an action in an earlier action or stage of the pipeline.

" @@ -2373,7 +2533,10 @@ "shape":"ArtifactList", "documentation":"

The name of the artifact that will be the result of the action, if any. This name might be system-generated, such as \"MyBuiltApp\", or might be defined by the user when the action is created.

" }, - "artifactCredentials":{"shape":"AWSSessionCredentials"}, + "artifactCredentials":{ + "shape":"AWSSessionCredentials", + "documentation":"

Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the Amazon S3 bucket used to store artifact for the pipeline in AWS CodePipeline.

" + }, "continuationToken":{ "shape":"ContinuationToken", "documentation":"

A system-generated token, such as a AWS CodeDeploy deployment ID, that a job requires in order to continue the job asynchronously.

" diff --git a/botocore/data/codestar/2017-04-19/paginators-1.json b/botocore/data/codestar/2017-04-19/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/codestar/2017-04-19/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/codestar/2017-04-19/service-2.json b/botocore/data/codestar/2017-04-19/service-2.json new file mode 100644 index 00000000..92f54c6c --- /dev/null +++ b/botocore/data/codestar/2017-04-19/service-2.json @@ -0,0 +1,1063 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-04-19", + "endpointPrefix":"codestar", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"CodeStar", + "serviceFullName":"AWS CodeStar", + "signatureVersion":"v4", + "targetPrefix":"CodeStar_20170419", + "uid":"codestar-2017-04-19" + }, + "operations":{ + "AssociateTeamMember":{ + "name":"AssociateTeamMember", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateTeamMemberRequest"}, + "output":{"shape":"AssociateTeamMemberResult"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ProjectNotFoundException"}, + {"shape":"TeamMemberAlreadyAssociatedException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidServiceRoleException"}, + {"shape":"ProjectConfigurationException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds an IAM user to the team for an AWS CodeStar project.

" + }, + "CreateProject":{ + "name":"CreateProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProjectRequest"}, + "output":{"shape":"CreateProjectResult"}, + "errors":[ + {"shape":"ProjectAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ProjectCreationFailedException"}, + {"shape":"InvalidServiceRoleException"}, + {"shape":"ProjectConfigurationException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Reserved for future use. To create a project, use the AWS CodeStar console.

" + }, + "CreateUserProfile":{ + "name":"CreateUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserProfileRequest"}, + "output":{"shape":"CreateUserProfileResult"}, + "errors":[ + {"shape":"UserProfileAlreadyExistsException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Creates a profile for a user that includes user preferences, such as the display name and email address assocciated with the user, in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar.

" + }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProjectRequest"}, + "output":{"shape":"DeleteProjectResult"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidServiceRoleException"} + ], + "documentation":"

Deletes a project, including project resources. Does not delete users associated with the project, but does delete the IAM roles that allowed access to the project.

" + }, + "DeleteUserProfile":{ + "name":"DeleteUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserProfileRequest"}, + "output":{"shape":"DeleteUserProfileResult"}, + "errors":[ + {"shape":"ValidationException"} + ], + "documentation":"

Deletes a user profile in AWS CodeStar, including all personal preference data associated with that profile, such as display name and email address. It does not delete the history of that user, for example the history of commits made by that user.

" + }, + "DescribeProject":{ + "name":"DescribeProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProjectRequest"}, + "output":{"shape":"DescribeProjectResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidServiceRoleException"}, + {"shape":"ProjectConfigurationException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Describes a project and its resources.

" + }, + "DescribeUserProfile":{ + "name":"DescribeUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserProfileRequest"}, + "output":{"shape":"DescribeUserProfileResult"}, + "errors":[ + {"shape":"UserProfileNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Describes a user in AWS CodeStar and the user attributes across all projects.

" + }, + "DisassociateTeamMember":{ + "name":"DisassociateTeamMember", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateTeamMemberRequest"}, + "output":{"shape":"DisassociateTeamMemberResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidServiceRoleException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Removes a user from a project. Removing a user from a project also removes the IAM policies from that user that allowed access to the project and its resources. Disassociating a team member does not remove that user's profile from AWS CodeStar. It does not remove the user from IAM.

" + }, + "ListProjects":{ + "name":"ListProjects", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProjectsRequest"}, + "output":{"shape":"ListProjectsResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists all projects in AWS CodeStar associated with your AWS account.

" + }, + "ListResources":{ + "name":"ListResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourcesRequest"}, + "output":{"shape":"ListResourcesResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists resources associated with a project in AWS CodeStar.

" + }, + "ListTeamMembers":{ + "name":"ListTeamMembers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTeamMembersRequest"}, + "output":{"shape":"ListTeamMembersResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists all team members associated with a project.

" + }, + "ListUserProfiles":{ + "name":"ListUserProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUserProfilesRequest"}, + "output":{"shape":"ListUserProfilesResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists all the user profiles configured for your AWS account in AWS CodeStar.

" + }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProjectRequest"}, + "output":{"shape":"UpdateProjectResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Updates a project in AWS CodeStar.

" + }, + "UpdateTeamMember":{ + "name":"UpdateTeamMember", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTeamMemberRequest"}, + "output":{"shape":"UpdateTeamMemberResult"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidServiceRoleException"}, + {"shape":"ProjectConfigurationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"TeamMemberNotFoundException"} + ], + "documentation":"

Updates a team member's attributes in an AWS CodeStar project. For example, you can change a team member's role in the project, or change whether they have remote access to project resources.

" + }, + "UpdateUserProfile":{ + "name":"UpdateUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUserProfileRequest"}, + "output":{"shape":"UpdateUserProfileResult"}, + "errors":[ + {"shape":"UserProfileNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Updates a user's profile in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar.

" + } + }, + "shapes":{ + "AssociateTeamMemberRequest":{ + "type":"structure", + "required":[ + "projectId", + "userArn", + "projectRole" + ], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project to which you will add the IAM user.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A user- or system-generated token that identifies the entity that requested the team member association to the project. This token can be used to repeat the request.

" + }, + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) for the IAM user you want to add to the DevHub project.

" + }, + "projectRole":{ + "shape":"Role", + "documentation":"

The AWS CodeStar project role that will apply to this user. This role determines what actions a user can take in an AWS CodeStar project.

" + }, + "remoteAccessAllowed":{ + "shape":"RemoteAccessAllowed", + "documentation":"

Whether the team member is allowed to use an SSH public/private key pair to remotely access project resources, for example Amazon EC2 instances.

", + "box":true + } + } + }, + "AssociateTeamMemberResult":{ + "type":"structure", + "members":{ + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

The user- or system-generated token from the initial request that can be used to repeat the request.

" + } + } + }, + "ClientRequestToken":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[\\w:/-]+$" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Another modification is being made. That modification must complete before you can make your change.

", + "exception":true + }, + "CreateProjectRequest":{ + "type":"structure", + "required":[ + "name", + "id" + ], + "members":{ + "name":{ + "shape":"ProjectName", + "documentation":"

Reserved for future use.

" + }, + "id":{ + "shape":"ProjectId", + "documentation":"

Reserved for future use.

" + }, + "description":{ + "shape":"ProjectDescription", + "documentation":"

Reserved for future use.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

Reserved for future use.

" + } + } + }, + "CreateProjectResult":{ + "type":"structure", + "required":[ + "id", + "arn" + ], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

Reserved for future use.

" + }, + "arn":{ + "shape":"ProjectArn", + "documentation":"

Reserved for future use.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

Reserved for future use.

" + }, + "projectTemplateId":{ + "shape":"ProjectTemplateId", + "documentation":"

Reserved for future use.

" + } + } + }, + "CreateUserProfileRequest":{ + "type":"structure", + "required":[ + "userArn", + "displayName", + "emailAddress" + ], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The name that will be displayed as the friendly name for the user in AWS CodeStar.

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address that will be displayed as part of the user's profile in AWS CodeStar.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.

" + } + } + }, + "CreateUserProfileResult":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The name that is displayed as the friendly name for the user in AWS CodeStar.

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address that is displayed as part of the user's profile in AWS CodeStar.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user in AWS CodeStar. This is the public portion of the public/private keypair the user can use to access project resources if a project owner allows the user remote access to those resources.

" + }, + "createdTimestamp":{ + "shape":"CreatedTimestamp", + "documentation":"

The date the user profile was created, in timestamp format.

" + }, + "lastModifiedTimestamp":{ + "shape":"LastModifiedTimestamp", + "documentation":"

The date the user profile was last modified, in timestamp format.

" + } + } + }, + "CreatedTimestamp":{"type":"timestamp"}, + "DeleteProjectRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project to be deleted in AWS CodeStar.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A user- or system-generated token that identifies the entity that requested project deletion. This token can be used to repeat the request.

" + }, + "deleteStack":{ + "shape":"DeleteStack", + "documentation":"

Whether to send a delete request for the primary stack in AWS CloudFormation originally used to generate the project and its resources. This option will delete all AWS resources for the project (except for any buckets in Amazon S3) as well as deleting the project itself. Recommended for most use cases.

" + } + } + }, + "DeleteProjectResult":{ + "type":"structure", + "members":{ + "stackId":{ + "shape":"StackId", + "documentation":"

The ID of the primary stack in AWS CloudFormation that will be deleted as part of deleting the project and its resources.

" + }, + "projectArn":{ + "shape":"ProjectArn", + "documentation":"

The Amazon Resource Name (ARN) of the deleted project.

" + } + } + }, + "DeleteStack":{"type":"boolean"}, + "DeleteUserProfileRequest":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user to delete from AWS CodeStar.

" + } + } + }, + "DeleteUserProfileResult":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user deleted from AWS CodeStar.

" + } + } + }, + "DescribeProjectRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + } + } + }, + "DescribeProjectResult":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ProjectName", + "documentation":"

The display name for the project.

" + }, + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + }, + "arn":{ + "shape":"ProjectArn", + "documentation":"

The Amazon Resource Name (ARN) for the project.

" + }, + "description":{ + "shape":"ProjectDescription", + "documentation":"

The description of the project, if any.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A user- or system-generated token that identifies the entity that requested project creation.

" + }, + "createdTimeStamp":{ + "shape":"CreatedTimestamp", + "documentation":"

The date and time the project was created, in timestamp format.

" + }, + "stackId":{ + "shape":"StackId", + "documentation":"

The ID of the primary stack in AWS CloudFormation used to generate resources for the project.

" + }, + "projectTemplateId":{ + "shape":"ProjectTemplateId", + "documentation":"

The ID for the AWS CodeStar project template used to create the project.

" + } + } + }, + "DescribeUserProfileRequest":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user.

" + } + } + }, + "DescribeUserProfileResult":{ + "type":"structure", + "required":[ + "userArn", + "createdTimestamp", + "lastModifiedTimestamp" + ], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The display name shown for the user in AWS CodeStar projects. For example, this could be set to both first and last name (\"Mary Major\") or a single name (\"Mary\"). The display name is also used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are included in the display name, the first character that appears after the space will be used as the second character in the user initial icon. The initial icon displays a maximum of two characters, so a display name with more than one space (for example \"Mary Jane Major\") would generate an initial icon using the first character and the first character after the space (\"MJ\", not \"MM\").

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address for the user. Optional.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user. This SSH public key is associated with the user profile, and can be used in conjunction with the associated private key for access to project resources, such as Amazon EC2 instances, if a project owner grants remote access to those resources.

" + }, + "createdTimestamp":{ + "shape":"CreatedTimestamp", + "documentation":"

The date and time when the user profile was created in AWS CodeStar, in timestamp format.

" + }, + "lastModifiedTimestamp":{ + "shape":"LastModifiedTimestamp", + "documentation":"

The date and time when the user profile was last modified, in timestamp format.

" + } + } + }, + "DisassociateTeamMemberRequest":{ + "type":"structure", + "required":[ + "projectId", + "userArn" + ], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the AWS CodeStar project from which you want to remove a team member.

" + }, + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM user or group whom you want to remove from the project.

" + } + } + }, + "DisassociateTeamMemberResult":{ + "type":"structure", + "members":{ + } + }, + "Email":{ + "type":"string", + "max":128, + "min":3, + "pattern":"^[\\w-.+]+@[\\w-.+]+$" + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The next token is not valid.

", + "exception":true + }, + "InvalidServiceRoleException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The service role is not valid.

", + "exception":true + }, + "LastModifiedTimestamp":{"type":"timestamp"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A resource limit has been exceeded.

", + "exception":true + }, + "ListProjectsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token to be used to return the next set of results, if the results cannot be returned in one response.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum amount of data that can be contained in a single set of results.

", + "box":true + } + } + }, + "ListProjectsResult":{ + "type":"structure", + "required":["projects"], + "members":{ + "projects":{ + "shape":"ProjectsList", + "documentation":"

A list of projects.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" + } + } + }, + "ListResourcesRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token for the next set of results, if the results cannot be returned in one response.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

he maximum amount of data that can be contained in a single set of results.

", + "box":true + } + } + }, + "ListResourcesResult":{ + "type":"structure", + "members":{ + "resources":{ + "shape":"ResourcesResult", + "documentation":"

An array of resources associated with the project.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" + } + } + }, + "ListTeamMembersRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project for which you want to list team members.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token for the next set of results, if the results cannot be returned in one response.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of team members you want returned in a response.

", + "box":true + } + } + }, + "ListTeamMembersResult":{ + "type":"structure", + "required":["teamMembers"], + "members":{ + "teamMembers":{ + "shape":"TeamMemberResult", + "documentation":"

A list of team member objects for the project.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" + } + } + }, + "ListUserProfilesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token for the next set of results, if the results cannot be returned in one response.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a response.

", + "box":true + } + } + }, + "ListUserProfilesResult":{ + "type":"structure", + "required":["userProfiles"], + "members":{ + "userProfiles":{ + "shape":"UserProfilesList", + "documentation":"

All the user profiles configured in AWS CodeStar for an AWS account.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "PaginationToken":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[\\w/+=]+$" + }, + "ProjectAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An AWS CodeStar project with the same ID already exists in this region for the AWS account. AWS CodeStar project IDs must be unique within a region for the AWS account.

", + "exception":true + }, + "ProjectArn":{ + "type":"string", + "pattern":"^arn:aws[^:\\s]*:codestar:[^:\\s]+:[0-9]{12}:project\\/[a-z]([a-z0-9|-])+$" + }, + "ProjectConfigurationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Project configuration information is required but not specified.

", + "exception":true + }, + "ProjectCreationFailedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The project creation request was valid, but a nonspecific exception or error occurred during project creation. The project could not be created in AWS CodeStar.

", + "exception":true + }, + "ProjectDescription":{ + "type":"string", + "max":1024, + "pattern":"^$|^\\S(.*\\S)?$", + "sensitive":true + }, + "ProjectId":{ + "type":"string", + "max":15, + "min":2, + "pattern":"^[a-z][a-z0-9-]+$" + }, + "ProjectName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^\\S(.*\\S)?$", + "sensitive":true + }, + "ProjectNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified AWS CodeStar project was not found.

", + "exception":true + }, + "ProjectSummary":{ + "type":"structure", + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + }, + "projectArn":{ + "shape":"ProjectArn", + "documentation":"

The Amazon Resource Name (ARN) of the project.

" + } + }, + "documentation":"

Information about the metadata for a project.

" + }, + "ProjectTemplateId":{ + "type":"string", + "min":1, + "pattern":"^arn:aws[^:\\s]{0,5}:codestar:[^:\\s]+::project-template\\/[a-z0-9-]+$" + }, + "ProjectsList":{ + "type":"list", + "member":{"shape":"ProjectSummary"} + }, + "RemoteAccessAllowed":{"type":"boolean"}, + "Resource":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ResourceId", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

" + } + }, + "documentation":"

Information about a resource for a project.

" + }, + "ResourceId":{ + "type":"string", + "min":11, + "pattern":"^arn\\:aws\\:\\S.*\\:.*" + }, + "ResourcesResult":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "Role":{ + "type":"string", + "pattern":"^(Owner|Viewer|Contributor)$" + }, + "SshPublicKey":{ + "type":"string", + "max":16384, + "pattern":"^[\\t\\r\\n\\u0020-\\u00FF]*$" + }, + "StackId":{ + "type":"string", + "pattern":"^arn:aws[^:\\s]*:cloudformation:[^:\\s]+:[0-9]{12}:stack\\/[^:\\s]+\\/[^:\\s]+$" + }, + "TeamMember":{ + "type":"structure", + "required":[ + "userArn", + "projectRole" + ], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" + }, + "projectRole":{ + "shape":"Role", + "documentation":"

The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide.

" + }, + "remoteAccessAllowed":{ + "shape":"RemoteAccessAllowed", + "documentation":"

Whether the user is allowed to remotely access project resources using an SSH public/private key pair.

", + "box":true + } + }, + "documentation":"

Information about a team member in a project.

" + }, + "TeamMemberAlreadyAssociatedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The team member is already associated with a role in this project.

", + "exception":true + }, + "TeamMemberNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified team member was not found.

", + "exception":true + }, + "TeamMemberResult":{ + "type":"list", + "member":{"shape":"TeamMember"} + }, + "UpdateProjectRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project you want to update.

" + }, + "name":{ + "shape":"ProjectName", + "documentation":"

The name of the project you want to update.

" + }, + "description":{ + "shape":"ProjectDescription", + "documentation":"

The description of the project, if any.

" + } + } + }, + "UpdateProjectResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateTeamMemberRequest":{ + "type":"structure", + "required":[ + "projectId", + "userArn" + ], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + }, + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user for whom you want to change team membership attributes.

" + }, + "projectRole":{ + "shape":"Role", + "documentation":"

The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide.

" + }, + "remoteAccessAllowed":{ + "shape":"RemoteAccessAllowed", + "documentation":"

Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile. Even if this is set to True, the user must associate a public key with their profile before the user can access resources.

", + "box":true + } + } + }, + "UpdateTeamMemberResult":{ + "type":"structure", + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user whose team membership attributes were updated.

" + }, + "projectRole":{ + "shape":"Role", + "documentation":"

The project role granted to the user.

" + }, + "remoteAccessAllowed":{ + "shape":"RemoteAccessAllowed", + "documentation":"

Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile.

", + "box":true + } + } + }, + "UpdateUserProfileRequest":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The name that will be displayed as the friendly name for the user in AWS CodeStar.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The name that is displayed as the friendly name for the user in AWS CodeStar.

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address that is displayed as part of the user's profile in AWS CodeStar.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.

" + } + } + }, + "UpdateUserProfileResult":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The name that is displayed as the friendly name for the user in AWS CodeStar.

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address that is displayed as part of the user's profile in AWS CodeStar.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user in AWS CodeStar. This is the public portion of the public/private keypair the user can use to access project resources if a project owner allows the user remote access to those resources.

" + }, + "createdTimestamp":{ + "shape":"CreatedTimestamp", + "documentation":"

The date the user profile was created, in timestamp format.

" + }, + "lastModifiedTimestamp":{ + "shape":"LastModifiedTimestamp", + "documentation":"

The date the user profile was last modified, in timestamp format.

" + } + } + }, + "UserArn":{ + "type":"string", + "max":95, + "min":32, + "pattern":"arn:aws:iam::\\d{12}:user\\/[\\w-]+" + }, + "UserProfileAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A user profile with that name already exists in this region for the AWS account. AWS CodeStar user profile names must be unique within a region for the AWS account.

", + "exception":true + }, + "UserProfileDisplayName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^\\S(.*\\S)?$" + }, + "UserProfileNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The user profile was not found.

", + "exception":true + }, + "UserProfileSummary":{ + "type":"structure", + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The display name of a user in AWS CodeStar. For example, this could be set to both first and last name (\"Mary Major\") or a single name (\"Mary\"). The display name is also used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are included in the display name, the first character that appears after the space will be used as the second character in the user initial icon. The initial icon displays a maximum of two characters, so a display name with more than one space (for example \"Mary Jane Major\") would generate an initial icon using the first character and the first character after the space (\"MJ\", not \"MM\").

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address associated with the user.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.

" + } + }, + "documentation":"

Information about a user's profile in AWS CodeStar.

" + }, + "UserProfilesList":{ + "type":"list", + "member":{"shape":"UserProfileSummary"} + }, + "ValidationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified input is either not valid, or it could not be validated.

", + "exception":true + } + }, + "documentation":"AWS CodeStar

This is the API reference for AWS CodeStar. This reference provides descriptions of the operations and data types for the AWS CodeStar API along with usage examples.

You can use the AWS CodeStar API to work with:

Projects and their resources, by calling the following:

  • DeleteProject, which deletes a project in AWS CodeStar.

  • DescribeProject, which lists the attributes of a project.

  • ListProjects, which lists all AWS CodeStar projects associated with your AWS account.

  • ListResources, which lists the resources associated with an AWS CodeStar project.

  • UpdateProject, which updates the attributes of an AWS CodeStar project.

Teams and team members, by calling the following:

  • AssociateTeamMember, which adds an IAM user to the team for an AWS CodeStar project.

  • DisassociateTeamMember, which removes an IAM user from the team for an AWS CodeStar project.

  • ListTeamMembers, which lists all the IAM users in the team for an AWS CodeStar project, including their roles and attributes.

Users, by calling the following:

" +} diff --git a/botocore/data/cognito-identity/2014-06-30/examples-1.json b/botocore/data/cognito-identity/2014-06-30/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/cognito-identity/2014-06-30/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/cognito-identity/2014-06-30/paginators-1.json b/botocore/data/cognito-identity/2014-06-30/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/cognito-identity/2014-06-30/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/cognito-identity/2014-06-30/service-2.json b/botocore/data/cognito-identity/2014-06-30/service-2.json index ace0782b..cb6a478f 100644 --- a/botocore/data/cognito-identity/2014-06-30/service-2.json +++ b/botocore/data/cognito-identity/2014-06-30/service-2.json @@ -374,6 +374,11 @@ "ClientId":{ "shape":"CognitoIdentityProviderClientId", "documentation":"

The client ID for the Amazon Cognito Identity User Pool.

" + }, + "ServerSideTokenCheck":{ + "shape":"CognitoIdentityProviderTokenCheck", + "documentation":"

TRUE if server-side token validation is enabled for the identity provider’s token.

", + "box":true } }, "documentation":"

A provider representing an Amazon Cognito Identity User Pool and its client ID.

" @@ -394,6 +399,7 @@ "min":1, "pattern":"[\\w._:/-]+" }, + "CognitoIdentityProviderTokenCheck":{"type":"boolean"}, "ConcurrentModificationException":{ "type":"structure", "members":{ diff --git a/botocore/data/cognito-idp/2016-04-18/examples-1.json b/botocore/data/cognito-idp/2016-04-18/examples-1.json new file mode 100755 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/cognito-idp/2016-04-18/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/cognito-idp/2016-04-18/paginators-1.json b/botocore/data/cognito-idp/2016-04-18/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/cognito-idp/2016-04-18/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/cognito-idp/2016-04-18/service-2.json b/botocore/data/cognito-idp/2016-04-18/service-2.json old mode 100755 new mode 100644 index 16cad820..057e253e --- a/botocore/data/cognito-idp/2016-04-18/service-2.json +++ b/botocore/data/cognito-idp/2016-04-18/service-2.json @@ -95,7 +95,7 @@ {"shape":"UnsupportedUserStateException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Creates a new user in the specified user pool and sends a welcome message via email or phone (SMS). This message is based on a template that you configured in your call to CreateUserPool or UpdateUserPool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Requires developer credentials.

" + "documentation":"

Creates a new user in the specified user pool and sends a welcome message via email or phone (SMS). This message is based on a template that you configured in your call to CreateUserPool or UpdateUserPool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Requires developer credentials.

" }, "AdminDeleteUser":{ "name":"AdminDeleteUser", @@ -411,7 +411,7 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

Requires developer credentials.

" + "documentation":"

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Requires developer credentials.

" }, "AdminUserGlobalSignOut":{ "name":"AdminUserGlobalSignOut", @@ -476,7 +476,7 @@ {"shape":"UserNotConfirmedException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Confirms tracking of the device. This API call is the call that beings device tracking.

" + "documentation":"

Confirms tracking of the device. This API call is the call that begins device tracking.

" }, "ConfirmForgotPassword":{ "name":"ConfirmForgotPassword", @@ -503,7 +503,7 @@ {"shape":"UserNotConfirmedException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Allows a user to enter a code provided when they reset their password to update their password.

", + "documentation":"

Allows a user to enter a confirmation code to reset a forgotten password.

", "authtype":"none" }, "ConfirmSignUp":{ @@ -552,6 +552,25 @@ ], "documentation":"

Creates a new group in the specified user pool.

Requires developer credentials.

" }, + "CreateIdentityProvider":{ + "name":"CreateIdentityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIdentityProviderRequest"}, + "output":{"shape":"CreateIdentityProviderResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DuplicateProviderException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Creates an identity provider for a user pool.

" + }, "CreateUserImportJob":{ "name":"CreateUserImportJob", "http":{ @@ -606,10 +625,28 @@ {"shape":"TooManyRequestsException"}, {"shape":"LimitExceededException"}, {"shape":"NotAuthorizedException"}, + {"shape":"ScopeDoesNotExistException"}, + {"shape":"InvalidOAuthFlowException"}, {"shape":"InternalErrorException"} ], "documentation":"

Creates the user pool client.

" }, + "CreateUserPoolDomain":{ + "name":"CreateUserPoolDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserPoolDomainRequest"}, + "output":{"shape":"CreateUserPoolDomainResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Creates a new domain for a user pool.

" + }, "DeleteGroup":{ "name":"DeleteGroup", "http":{ @@ -626,6 +663,23 @@ ], "documentation":"

Deletes a group. Currently only groups with no members can be deleted.

Requires developer credentials.

" }, + "DeleteIdentityProvider":{ + "name":"DeleteIdentityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIdentityProviderRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"UnsupportedIdentityProviderException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Deletes an identity provider for a user pool.

" + }, "DeleteUser":{ "name":"DeleteUser", "http":{ @@ -700,6 +754,39 @@ ], "documentation":"

Allows the developer to delete the user pool client.

" }, + "DeleteUserPoolDomain":{ + "name":"DeleteUserPoolDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserPoolDomainRequest"}, + "output":{"shape":"DeleteUserPoolDomainResponse"}, + "errors":[ + {"shape":"NotAuthorizedException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Deletes a domain for a user pool.

" + }, + "DescribeIdentityProvider":{ + "name":"DescribeIdentityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIdentityProviderRequest"}, + "output":{"shape":"DescribeIdentityProviderResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Gets information about a specific identity provider.

" + }, "DescribeUserImportJob":{ "name":"DescribeUserImportJob", "http":{ @@ -752,6 +839,22 @@ ], "documentation":"

Client method for returning the configuration information and metadata of the specified user pool client.

" }, + "DescribeUserPoolDomain":{ + "name":"DescribeUserPoolDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserPoolDomainRequest"}, + "output":{"shape":"DescribeUserPoolDomainResponse"}, + "errors":[ + {"shape":"NotAuthorizedException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Gets information about a domain.

" + }, "ForgetDevice":{ "name":"ForgetDevice", "http":{ @@ -797,7 +900,7 @@ {"shape":"UserNotConfirmedException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Retrieves the password for the specified client ID or username.

", + "documentation":"

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. If a verified phone number exists for the user, the confirmation code is sent to the phone number. Otherwise, if a verified email exists, the confirmation code is sent to the email. If neither a verified phone number nor a verified email exists, InvalidParameterException is thrown. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

", "authtype":"none" }, "GetCSVHeader":{ @@ -855,6 +958,23 @@ ], "documentation":"

Gets a group.

Requires developer credentials.

" }, + "GetIdentityProviderByIdentifier":{ + "name":"GetIdentityProviderByIdentifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetIdentityProviderByIdentifierRequest"}, + "output":{"shape":"GetIdentityProviderByIdentifierResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Gets the specified identity provider.

" + }, "GetUser":{ "name":"GetUser", "http":{ @@ -986,6 +1106,23 @@ ], "documentation":"

Lists the groups associated with a user pool.

Requires developer credentials.

" }, + "ListIdentityProviders":{ + "name":"ListIdentityProviders", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListIdentityProvidersRequest"}, + "output":{"shape":"ListIdentityProvidersResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists information about all identity providers for a user pool.

" + }, "ListUserImportJobs":{ "name":"ListUserImportJobs", "http":{ @@ -1249,6 +1386,24 @@ ], "documentation":"

Updates the specified group with the specified attributes.

Requires developer credentials.

" }, + "UpdateIdentityProvider":{ + "name":"UpdateIdentityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateIdentityProviderRequest"}, + "output":{"shape":"UpdateIdentityProviderResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"UnsupportedIdentityProviderException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Updates identity provider information for a user pool.

" + }, "UpdateUserAttributes":{ "name":"UpdateUserAttributes", "http":{ @@ -1316,6 +1471,8 @@ {"shape":"InvalidParameterException"}, {"shape":"TooManyRequestsException"}, {"shape":"NotAuthorizedException"}, + {"shape":"ScopeDoesNotExistException"}, + {"shape":"InvalidOAuthFlowException"}, {"shape":"InternalErrorException"} ], "documentation":"

Allows the developer to update the specified user pool client and password policy.

" @@ -1346,6 +1503,7 @@ } }, "shapes":{ + "AWSAccountIdType":{"type":"string"}, "AddCustomAttributesRequest":{ "type":"structure", "required":[ @@ -1421,11 +1579,11 @@ "members":{ "AllowAdminCreateUserOnly":{ "shape":"BooleanType", - "documentation":"

Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

" + "documentation":"

Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

" }, "UnusedAccountValidityDays":{ "shape":"AdminCreateUserUnusedAccountValidityDaysType", - "documentation":"

The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter. The default value for this paameter is 7.

" + "documentation":"

The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter. The default value for this parameter is 7.

" }, "InviteMessageTemplate":{ "shape":"MessageTemplateType", @@ -1451,7 +1609,7 @@ }, "UserAttributes":{ "shape":"AttributeListType", - "documentation":"

An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than Username. However, any attributes that you specify as required (in CreateUserPool or in the Attributes tab of the console) must be supplied either by you (in your call to AdminCreateUser) or by the user (when he or she signs up in response to your welcome message).

To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the Users tab of the Amazon Cognito console for managing your user pools.

In your call to AdminCreateUser, you can set the email_verified attribute to True, and you can set the phone_number_verified attribute to True. (You cannot do this by calling other operations such as AdminUpdateUserAttributes.)

  • email: The email address of the user to whom the message that contains the code and username will be sent. Required if the email_verified attribute is set to True, or if \"EMAIL\" is specified in the DesiredDeliveryMediums parameter.

  • phone_number: The phone number of the user to whom the message that contains the code and username will be sent. Required if the phone_number_verified attribute is set to True, or if \"SMS\" is specified in the DesiredDeliveryMediums parameter.

" + "documentation":"

An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than Username. However, any attributes that you specify as required (in CreateUserPool or in the Attributes tab of the console) must be supplied either by you (in your call to AdminCreateUser) or by the user (when he or she signs up in response to your welcome message).

For custom attributes, you must prepend the custom: prefix to the attribute name.

To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the Users tab of the Amazon Cognito console for managing your user pools.

In your call to AdminCreateUser, you can set the email_verified attribute to True, and you can set the phone_number_verified attribute to True. (You can also do this by calling AdminUpdateUserAttributes.)

  • email: The email address of the user to whom the message that contains the code and username will be sent. Required if the email_verified attribute is set to True, or if \"EMAIL\" is specified in the DesiredDeliveryMediums parameter.

  • phone_number: The phone number of the user to whom the message that contains the code and username will be sent. Required if the phone_number_verified attribute is set to True, or if \"SMS\" is specified in the DesiredDeliveryMediums parameter.

" }, "ValidationData":{ "shape":"AttributeListType", @@ -1459,19 +1617,19 @@ }, "TemporaryPassword":{ "shape":"PasswordType", - "documentation":"

The user's temporary password. This password must conform to the password policy that you specified when you created the user pool.

The temporary password is valid only once. To complete the Admin Create User flow, the user must enter the temporary password in the sign-in page along with a new password to be used in all future sign-ins.

This parameter is not required. If you do not specify a value, Amazon Cognito generates one for you.

The temporary password can only be used until the user account expiration limit that you specified when you created the user pool. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter.

" + "documentation":"

The user's temporary password. This password must conform to the password policy that you specified when you created the user pool.

The temporary password is valid only once. To complete the Admin Create User flow, the user must enter the temporary password in the sign-in page along with a new password to be used in all future sign-ins.

This parameter is not required. If you do not specify a value, Amazon Cognito generates one for you.

The temporary password can only be used until the user account expiration limit that you specified when you created the user pool. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter.

" }, "ForceAliasCreation":{ "shape":"ForceAliasCreation", - "documentation":"

This parameter is only used if the phone_number_verified or email_verified attribute is set to True. Otherwise, it is ignored.

If this parameter is set to True and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias.

If this parameter is set to False, the API throws an AliasExistsException error if the alias already exists. The default value is False.

" + "documentation":"

This parameter is only used if the phone_number_verified or email_verified attribute is set to True. Otherwise, it is ignored.

If this parameter is set to True and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias.

If this parameter is set to False, the API throws an AliasExistsException error if the alias already exists. The default value is False.

" }, "MessageAction":{ "shape":"MessageActionType", - "documentation":"

Set to \"RESEND\" to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to \"SUPPRESS\" to suppress sending the message. Only one value can be specified.

" + "documentation":"

Set to \"RESEND\" to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to \"SUPPRESS\" to suppress sending the message. Only one value can be specified.

" }, "DesiredDeliveryMediums":{ "shape":"DeliveryMediumListType", - "documentation":"

Specify \"EMAIL\" if email will be used to send the welcome message. Specify \"SMS\" if the phone number will be used. The default value is \"SMS\". More than one value can be specified.

" + "documentation":"

Specify \"EMAIL\" if email will be used to send the welcome message. Specify \"SMS\" if the phone number will be used. The default value is \"SMS\". More than one value can be specified.

" } }, "documentation":"

Represents the request to create a user in the specified user pool.

" @@ -1509,7 +1667,7 @@ }, "UserAttributeNames":{ "shape":"AttributeNameListType", - "documentation":"

An array of strings representing the user attribute names you wish to delete.

" + "documentation":"

An array of strings representing the user attribute names you wish to delete.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" } }, "documentation":"

Represents the request to delete user attributes as an administrator.

" @@ -1575,7 +1733,7 @@ }, "Username":{ "shape":"UsernameType", - "documentation":"

The user name of the user you wish to ebable.

" + "documentation":"

The user name of the user you wish to enable.

" } }, "documentation":"

Represents the request that enables the user as an administrator.

" @@ -1710,19 +1868,19 @@ }, "ClientId":{ "shape":"ClientIdType", - "documentation":"

The client app ID.

" + "documentation":"

The app client ID.

" }, "AuthFlow":{ "shape":"AuthFlowType", - "documentation":"

The authentication flow.

" + "documentation":"

The authentication flow for this call to execute. The API action will depend on this value. For example:

  • REFRESH_TOKEN_AUTH will take in a valid refresh token and return new tokens.

  • USER_SRP_AUTH will take in USERNAME and SRPA and return the SRP variables to be used for next challenge execution.

Valid values include:

  • USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP) protocol.

  • REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access token and ID token by supplying a valid refresh token.

  • CUSTOM_AUTH: Custom authentication flow.

  • ADMIN_NO_SRP_AUTH: Non-SRP authentication flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled for calling the app client.

" }, "AuthParameters":{ "shape":"AuthParametersType", - "documentation":"

The authentication parameters.

" + "documentation":"

The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow:

  • For USER_SRP_AUTH: USERNAME (required), SRPA (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY

  • For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: USERNAME (required), SECRET_HASH (required if the app client is configured with a client secret), REFRESH_TOKEN (required), DEVICE_KEY

  • For ADMIN_NO_SRP_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), PASSWORD (required), DEVICE_KEY

  • For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), DEVICE_KEY

" }, "ClientMetadata":{ "shape":"ClientMetadataType", - "documentation":"

The client app metadata.

" + "documentation":"

This is a random key-value pair map which can contain any key and will be passed to your PreAuthentication Lambda trigger as-is. It can be used to implement additional validations around authentication.

" } }, "documentation":"

Initiates the authorization request, as an administrator.

" @@ -1732,19 +1890,19 @@ "members":{ "ChallengeName":{ "shape":"ChallengeNameType", - "documentation":"

The name of the challenge.

" + "documentation":"

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate with USERNAME and PASSWORD directly. An app client must be enabled to use this flow.

  • NEW_PASSWORD_REQUIRED: For users which are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

" }, "Session":{ "shape":"SessionType", - "documentation":"

The session.

" + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If AdminInitiateAuth or AdminRespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next AdminRespondToAuthChallenge API call.

" }, "ChallengeParameters":{ "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters.

" + "documentation":"

The challenge parameters. These are returned to you in the AdminInitiateAuth response if you need to pass another challenge. The responses in this parameter should be used to compute inputs to the next call (AdminRespondToAuthChallenge).

All challenges require USERNAME and SECRET_HASH (if applicable).

The value of the USER_IF_FOR_SRP attribute will be the user's actual username, not an alias (such as email address or phone number), even if you specified an alias in your call to AdminInitiateAuth. This is because, in the AdminRespondToAuthChallenge API ChallengeResponses, the USERNAME attribute cannot be an alias.

" }, "AuthenticationResult":{ "shape":"AuthenticationResultType", - "documentation":"

The result of the authentication response.

" + "documentation":"

The result of the authentication response. This is only returned if the caller does not need to pass another challenge. If the caller does need to pass another challenge before it gets tokens, ChallengeName, ChallengeParameters, and Session are returned.

" } }, "documentation":"

Initiates the authentication response, as an administrator.

" @@ -1887,19 +2045,19 @@ }, "ClientId":{ "shape":"ClientIdType", - "documentation":"

The client ID.

" + "documentation":"

The app client ID.

" }, "ChallengeName":{ "shape":"ChallengeNameType", - "documentation":"

The name of the challenge.

" + "documentation":"

The challenge name. For more information, see AdminInitiateAuth.

" }, "ChallengeResponses":{ "shape":"ChallengeResponsesType", - "documentation":"

The challenge response.

" + "documentation":"

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

  • SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME, SECRET_HASH (if app client is configured with client secret).

The value of the USERNAME attribute must be the user's actual username, not an alias (such as email address or phone number). To make this easier, the AdminInitiateAuth response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in your call to AdminInitiateAuth.

" }, "Session":{ "shape":"SessionType", - "documentation":"

The session.

" + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" } }, "documentation":"

The request to respond to the authentication challenge, as an administrator.

" @@ -1909,15 +2067,15 @@ "members":{ "ChallengeName":{ "shape":"ChallengeNameType", - "documentation":"

The name of the challenge.

" + "documentation":"

The name of the challenge. For more information, see AdminInitiateAuth.

" }, "Session":{ "shape":"SessionType", - "documentation":"

The session.

" + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If the InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" }, "ChallengeParameters":{ "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters.

" + "documentation":"

The challenge parameters. For more information, see AdminInitiateAuth.

" }, "AuthenticationResult":{ "shape":"AuthenticationResultType", @@ -1965,7 +2123,7 @@ "members":{ "UserPoolId":{ "shape":"UserPoolIdType", - "documentation":"

The user pool ID>

" + "documentation":"

The user pool ID.

" }, "Username":{ "shape":"UsernameType", @@ -2006,7 +2164,7 @@ }, "UserAttributes":{ "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

" + "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" } }, "documentation":"

Represents the request to update the user's attributes as an administrator.

" @@ -2083,6 +2241,11 @@ "type":"list", "member":{"shape":"AttributeType"} }, + "AttributeMappingType":{ + "type":"map", + "key":{"shape":"CustomAttributeNameType"}, + "value":{"shape":"StringType"} + }, "AttributeNameListType":{ "type":"list", "member":{"shape":"AttributeNameType"} @@ -2159,6 +2322,12 @@ "documentation":"

The result type of the authentication result.

" }, "BooleanType":{"type":"boolean"}, + "CallbackURLsListType":{ + "type":"list", + "member":{"shape":"RedirectUrlType"}, + "max":100, + "min":0 + }, "ChallengeNameType":{ "type":"string", "enum":[ @@ -2185,7 +2354,8 @@ "type":"structure", "required":[ "PreviousPassword", - "ProposedPassword" + "ProposedPassword", + "AccessToken" ], "members":{ "PreviousPassword":{ @@ -2363,11 +2533,11 @@ }, "ConfirmationCode":{ "shape":"ConfirmationCodeType", - "documentation":"

The confirmation code sent by a user's request to retrieve a forgotten password.

" + "documentation":"

The confirmation code sent by a user's request to retrieve a forgotten password. For more information, see ForgotPassword

" }, "Password":{ "shape":"PasswordType", - "documentation":"

The password sent by sent by a user's request to retrieve a forgotten password.

" + "documentation":"

The password sent by a user's request to retrieve a forgotten password.

" } }, "documentation":"

The request representing the confirmation for a password reset.

" @@ -2404,7 +2574,7 @@ }, "ForceAliasCreation":{ "shape":"ForceAliasCreation", - "documentation":"

Boolean to be specified to force user confirmation irrespective of existing alias. By default set to False. If this parameter is set to True and the phone number/email used for sign up confirmation already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user being confirmed. If set to False, the API will throw an AliasExistsException error.

" + "documentation":"

Boolean to be specified to force user confirmation irrespective of existing alias. By default set to False. If this parameter is set to True and the phone number/email used for sign up confirmation already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user being confirmed. If set to False, the API will throw an AliasExistsException error.

" } }, "documentation":"

Represents the request to confirm registration of a user.

" @@ -2459,6 +2629,51 @@ } } }, + "CreateIdentityProviderRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "ProviderName", + "ProviderType", + "ProviderDetails" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + }, + "ProviderType":{ + "shape":"IdentityProviderTypeType", + "documentation":"

The identity provider type.

" + }, + "ProviderDetails":{ + "shape":"ProviderDetailsType", + "documentation":"

The identity provider details, such as MetadataURL and MetadataFile.

" + }, + "AttributeMapping":{ + "shape":"AttributeMappingType", + "documentation":"

A mapping of identity provider attributes to standard and custom user pool attributes.

" + }, + "IdpIdentifiers":{ + "shape":"IdpIdentifiersListType", + "documentation":"

A list of identity provider identifiers.

" + } + } + }, + "CreateIdentityProviderResponse":{ + "type":"structure", + "required":["IdentityProvider"], + "members":{ + "IdentityProvider":{ + "shape":"IdentityProviderType", + "documentation":"

The newly created identity provider object.

" + } + } + }, "CreateUserImportJobRequest":{ "type":"structure", "required":[ @@ -2513,7 +2728,7 @@ }, "RefreshTokenValidity":{ "shape":"RefreshTokenValidityType", - "documentation":"

The validity of the refresh token, in days.

" + "documentation":"

The time limit, in days, after which the refresh token is no longer valid and cannot be used.

" }, "ReadAttributes":{ "shape":"ClientPermissionListType", @@ -2526,6 +2741,34 @@ "ExplicitAuthFlows":{ "shape":"ExplicitAuthFlowsListType", "documentation":"

The explicit authentication flows.

" + }, + "SupportedIdentityProviders":{ + "shape":"SupportedIdentityProvidersListType", + "documentation":"

A list of provider names for the identity providers that are supported on this client.

" + }, + "CallbackURLs":{ + "shape":"CallbackURLsListType", + "documentation":"

A list of allowed callback URLs for the identity providers.

" + }, + "LogoutURLs":{ + "shape":"LogoutURLsListType", + "documentation":"

A list of allowed logout URLs for the identity providers.

" + }, + "DefaultRedirectURI":{ + "shape":"RedirectUrlType", + "documentation":"

The default redirect URI. Must be in the CallbackURLs list.

" + }, + "AllowedOAuthFlows":{ + "shape":"OAuthFlowsType", + "documentation":"

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

Set to token to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly.

" + }, + "AllowedOAuthScopes":{ + "shape":"ScopeListType", + "documentation":"

A list of allowed OAuth scopes. Currently supported values are \"phone\", \"email\", \"openid\", and \"Cognito\".

" + }, + "AllowedOAuthFlowsUserPoolClient":{ + "shape":"BooleanType", + "documentation":"

Set to True if the client is allowed to follow the OAuth protocol when interacting with Cognito user pools.

" } }, "documentation":"

Represents the request to create a user pool client.

" @@ -2540,6 +2783,28 @@ }, "documentation":"

Represents the response from the server to create a user pool client.

" }, + "CreateUserPoolDomainRequest":{ + "type":"structure", + "required":[ + "Domain", + "UserPoolId" + ], + "members":{ + "Domain":{ + "shape":"DomainType", + "documentation":"

The domain string.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + } + } + }, + "CreateUserPoolDomainResponse":{ + "type":"structure", + "members":{ + } + }, "CreateUserPoolRequest":{ "type":"structure", "required":["PoolName"], @@ -2602,7 +2867,7 @@ }, "AdminCreateUserConfig":{ "shape":"AdminCreateUserConfigType", - "documentation":"

The configuration for AdminCreateUser requests.

" + "documentation":"

The configuration for AdminCreateUser requests.

" }, "Schema":{ "shape":"SchemaAttributesListType", @@ -2651,13 +2916,33 @@ } } }, + "DeleteIdentityProviderRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "ProviderName" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + } + } + }, "DeleteUserAttributesRequest":{ "type":"structure", - "required":["UserAttributeNames"], + "required":[ + "UserAttributeNames", + "AccessToken" + ], "members":{ "UserAttributeNames":{ "shape":"AttributeNameListType", - "documentation":"

An array of strings representing the user attribute names you wish to delete.

" + "documentation":"

An array of strings representing the user attribute names you wish to delete.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" }, "AccessToken":{ "shape":"TokenModelType", @@ -2690,6 +2975,28 @@ }, "documentation":"

Represents the request to delete a user pool client.

" }, + "DeleteUserPoolDomainRequest":{ + "type":"structure", + "required":[ + "Domain", + "UserPoolId" + ], + "members":{ + "Domain":{ + "shape":"DomainType", + "documentation":"

The domain string.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + } + } + }, + "DeleteUserPoolDomainResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteUserPoolRequest":{ "type":"structure", "required":["UserPoolId"], @@ -2703,6 +3010,7 @@ }, "DeleteUserRequest":{ "type":"structure", + "required":["AccessToken"], "members":{ "AccessToken":{ "shape":"TokenModelType", @@ -2722,6 +3030,33 @@ "EMAIL" ] }, + "DescribeIdentityProviderRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "ProviderName" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + } + } + }, + "DescribeIdentityProviderResponse":{ + "type":"structure", + "required":["IdentityProvider"], + "members":{ + "IdentityProvider":{ + "shape":"IdentityProviderType", + "documentation":"

The identity provider that was deleted.

" + } + } + }, "DescribeUserImportJobRequest":{ "type":"structure", "required":[ @@ -2778,6 +3113,25 @@ }, "documentation":"

Represents the response from the server from a request to describe the user pool client.

" }, + "DescribeUserPoolDomainRequest":{ + "type":"structure", + "required":["Domain"], + "members":{ + "Domain":{ + "shape":"DomainType", + "documentation":"

The domain string.

" + } + } + }, + "DescribeUserPoolDomainResponse":{ + "type":"structure", + "members":{ + "DomainDescription":{ + "shape":"DomainDescriptionType", + "documentation":"

A domain description object containing information about the domain.

" + } + } + }, "DescribeUserPoolRequest":{ "type":"structure", "required":["UserPoolId"], @@ -2879,6 +3233,67 @@ }, "documentation":"

The device type.

" }, + "DomainDescriptionType":{ + "type":"structure", + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "AWSAccountId":{ + "shape":"AWSAccountIdType", + "documentation":"

The AWS account ID for the user pool owner.

" + }, + "Domain":{ + "shape":"DomainType", + "documentation":"

The domain string.

" + }, + "S3Bucket":{ + "shape":"S3BucketType", + "documentation":"

The S3 bucket where the static files for this domain are stored.

" + }, + "CloudFrontDistribution":{ + "shape":"ArnType", + "documentation":"

The ARN of the CloudFront distribution.

" + }, + "Version":{ + "shape":"DomainVersionType", + "documentation":"

The app version.

" + }, + "Status":{ + "shape":"DomainStatusType", + "documentation":"

The domain status.

" + } + }, + "documentation":"

A container for information about a domain.

" + }, + "DomainStatusType":{ + "type":"string", + "enum":[ + "CREATING", + "DELETING", + "UPDATING", + "ACTIVE" + ] + }, + "DomainType":{ + "type":"string", + "max":1024, + "min":1 + }, + "DomainVersionType":{ + "type":"string", + "max":20, + "min":1 + }, + "DuplicateProviderException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when the provider is already supported by the user pool.

", + "exception":true + }, "EmailAddressType":{ "type":"string", "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+@[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" @@ -2899,7 +3314,7 @@ }, "EmailVerificationMessageType":{ "type":"string", - "max":2048, + "max":20000, "min":6, "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*\\{####\\}[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*" }, @@ -3057,9 +3472,39 @@ } } }, + "GetIdentityProviderByIdentifierRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "IdpIdentifier" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "IdpIdentifier":{ + "shape":"IdpIdentifierType", + "documentation":"

The identity provider ID.

" + } + } + }, + "GetIdentityProviderByIdentifierResponse":{ + "type":"structure", + "required":["IdentityProvider"], + "members":{ + "IdentityProvider":{ + "shape":"IdentityProviderType", + "documentation":"

The identity provider object.

" + } + } + }, "GetUserAttributeVerificationCodeRequest":{ "type":"structure", - "required":["AttributeName"], + "required":[ + "AccessToken", + "AttributeName" + ], "members":{ "AccessToken":{ "shape":"TokenModelType", @@ -3084,6 +3529,7 @@ }, "GetUserRequest":{ "type":"structure", + "required":["AccessToken"], "members":{ "AccessToken":{ "shape":"TokenModelType", @@ -3105,7 +3551,7 @@ }, "UserAttributes":{ "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

" + "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" }, "MFAOptions":{ "shape":"MFAOptionListType", @@ -3116,6 +3562,7 @@ }, "GlobalSignOutRequest":{ "type":"structure", + "required":["AccessToken"], "members":{ "AccessToken":{ "shape":"TokenModelType", @@ -3182,6 +3629,60 @@ }, "documentation":"

The group type.

" }, + "IdentityProviderType":{ + "type":"structure", + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + }, + "ProviderType":{ + "shape":"IdentityProviderTypeType", + "documentation":"

The identity provider type.

" + }, + "ProviderDetails":{ + "shape":"ProviderDetailsType", + "documentation":"

The identity provider details, such as MetadataURL and MetadataFile.

" + }, + "AttributeMapping":{ + "shape":"AttributeMappingType", + "documentation":"

A mapping of identity provider attributes to standard and custom user pool attributes.

" + }, + "IdpIdentifiers":{ + "shape":"IdpIdentifiersListType", + "documentation":"

A list of identity provider identifiers.

" + }, + "LastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date the identity provider was last modified.

" + }, + "CreationDate":{ + "shape":"DateType", + "documentation":"

The date the identity provider was created.

" + } + }, + "documentation":"

A container for information about an identity provider.

" + }, + "IdentityProviderTypeType":{ + "type":"string", + "enum":["SAML"] + }, + "IdpIdentifierType":{ + "type":"string", + "max":40, + "min":1, + "pattern":"[\\w\\s+=.@-]+" + }, + "IdpIdentifiersListType":{ + "type":"list", + "member":{"shape":"IdpIdentifierType"}, + "max":50, + "min":0 + }, "InitiateAuthRequest":{ "type":"structure", "required":[ @@ -3191,19 +3692,19 @@ "members":{ "AuthFlow":{ "shape":"AuthFlowType", - "documentation":"

The authentication flow.

" + "documentation":"

The authentication flow for this call to execute. The API action will depend on this value. For example:

  • REFRESH_TOKEN_AUTH will take in a valid refresh token and return new tokens.

  • USER_SRP_AUTH will take in USERNAME and SRPA and return the SRP variables to be used for next challenge execution.

Valid values include:

  • USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP) protocol.

  • REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access token and ID token by supplying a valid refresh token.

  • CUSTOM_AUTH: Custom authentication flow.

ADMIN_NO_SRP_AUTH is not a valid value.

" }, "AuthParameters":{ "shape":"AuthParametersType", - "documentation":"

The authentication parameters.

" + "documentation":"

The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow:

  • For USER_SRP_AUTH: USERNAME (required), SRPA (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY

  • For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: USERNAME (required), SECRET_HASH (required if the app client is configured with a client secret), REFRESH_TOKEN (required), DEVICE_KEY

  • For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), DEVICE_KEY

" }, "ClientMetadata":{ "shape":"ClientMetadataType", - "documentation":"

The client app's metadata.

" + "documentation":"

This is a random key-value pair map which can contain any key and will be passed to your PreAuthentication Lambda trigger as-is. It can be used to implement additional validations around authentication.

" }, "ClientId":{ "shape":"ClientIdType", - "documentation":"

The client ID.

" + "documentation":"

The app client ID.

" } }, "documentation":"

Initiates the authentication request.

" @@ -3213,19 +3714,19 @@ "members":{ "ChallengeName":{ "shape":"ChallengeNameType", - "documentation":"

The name of the challenge.

" + "documentation":"

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

Valid values include the following. Note that all of these challenges require USERNAME and SECRET_HASH (if applicable) in the parameters.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • NEW_PASSWORD_REQUIRED: For users which are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

" }, "Session":{ "shape":"SessionType", - "documentation":"

The session.

" + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If the InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" }, "ChallengeParameters":{ "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters.

" + "documentation":"

The challenge parameters. These are returned to you in the InitiateAuth response if you need to pass another challenge. The responses in this parameter should be used to compute inputs to the next call (RespondToAuthChallenge).

All challenges require USERNAME and SECRET_HASH (if applicable).

" }, "AuthenticationResult":{ "shape":"AuthenticationResultType", - "documentation":"

The result returned by the server in response to the request to initiate authentication.

" + "documentation":"

The result of the authentication response. This is only returned if the caller does not need to pass another challenge. If the caller does need to pass another challenge before it gets tokens, ChallengeName, ChallengeParameters, and Session are returned.

" } }, "documentation":"

Initiates the authentication response.

" @@ -3265,6 +3766,14 @@ "documentation":"

This exception is thrown when the Amazon Cognito service encounters an invalid AWS Lambda response.

", "exception":true }, + "InvalidOAuthFlowException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when the specified OAuth flow is invalid.

", + "exception":true + }, "InvalidParameterException":{ "type":"structure", "members":{ @@ -3433,10 +3942,47 @@ } } }, + "ListIdentityProvidersRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "MaxResults":{ + "shape":"ListProvidersLimitType", + "documentation":"

The maximum number of identity providers to return.

" + }, + "NextToken":{ + "shape":"PaginationKeyType", + "documentation":"

A pagination token.

" + } + } + }, + "ListIdentityProvidersResponse":{ + "type":"structure", + "required":["Providers"], + "members":{ + "Providers":{ + "shape":"ProvidersListType", + "documentation":"

A list of identity provider objects.

" + }, + "NextToken":{ + "shape":"PaginationKeyType", + "documentation":"

A pagination token.

" + } + } + }, "ListOfStringTypes":{ "type":"list", "member":{"shape":"StringType"} }, + "ListProvidersLimitType":{ + "type":"integer", + "max":60, + "min":1 + }, "ListUserImportJobsRequest":{ "type":"structure", "required":[ @@ -3454,7 +4000,7 @@ }, "PaginationToken":{ "shape":"PaginationKeyType", - "documentation":"

An identifier that was returned from the previous call to ListUserImportJobs, which can be used to return the next set of import jobs in the list.

" + "documentation":"

An identifier that was returned from the previous call to ListUserImportJobs, which can be used to return the next set of import jobs in the list.

" } }, "documentation":"

Represents the request to list the user import jobs.

" @@ -3579,15 +4125,15 @@ "members":{ "UserPoolId":{ "shape":"UserPoolIdType", - "documentation":"

The user pool ID for which you want to list users.

" + "documentation":"

The user pool ID for the user pool on which the search should be performed.

" }, "AttributesToGet":{ "shape":"SearchedAttributeNamesListType", - "documentation":"

The attributes to get from the request to list users.

" + "documentation":"

An array of strings, where each string is the name of a user attribute to be returned for each user in the search results. If the array is empty, all attributes are returned.

" }, "Limit":{ "shape":"QueryLimitType", - "documentation":"

The limit of the request to list users.

" + "documentation":"

Maximum number of users to be returned.

" }, "PaginationToken":{ "shape":"SearchPaginationTokenType", @@ -3595,7 +4141,7 @@ }, "Filter":{ "shape":"UserFilterType", - "documentation":"

The filter for the list users request.

" + "documentation":"

A filter string of the form \"AttributeName Filter-Type \"AttributeValue\"\". Quotation marks within the filter string must be escaped using the backslash (\\) character. For example, \"family_name = \\\"Reddy\\\"\".

  • AttributeName: The name of the attribute to search for. You can only search for one attribute at a time.

  • Filter-Type: For an exact match, use =, for example, \"given_name = \\\"Jon\\\"\". For a prefix (\"starts with\") match, use ^=, for example, \"given_name ^= \\\"Jon\\\"\".

  • AttributeValue: The attribute value that must be matched for each user.

If the filter string is empty, ListUsers returns all users in the user pool.

You can only search for the following standard attributes:

  • username (case-sensitive)

  • email

  • phone_number

  • name

  • given_name

  • family_name

  • preferred_username

  • cognito:user_status (called Enabled in the Console) (case-sensitive)

  • status (case-insensitive)

Custom attributes are not searchable.

For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito Developer Guide.

" } }, "documentation":"

Represents the request to list users.

" @@ -3614,6 +4160,12 @@ }, "documentation":"

The response from the request to list users.

" }, + "LogoutURLsListType":{ + "type":"list", + "member":{"shape":"RedirectUrlType"}, + "max":100, + "min":0 + }, "LongType":{"type":"long"}, "MFAMethodNotFoundException":{ "type":"structure", @@ -3692,7 +4244,7 @@ "documentation":"

The message returned when the Amazon Cognito service returns a not authorized exception.

" } }, - "documentation":"

This exception gets thrown when a user is not authorized.

", + "documentation":"

This exception is thrown when a user is not authorized.

", "exception":true }, "NumberAttributeConstraintsType":{ @@ -3709,6 +4261,20 @@ }, "documentation":"

The minimum and maximum value of an attribute that is of the number data type.

" }, + "OAuthFlowType":{ + "type":"string", + "enum":[ + "code", + "implicit", + "client_credentials" + ] + }, + "OAuthFlowsType":{ + "type":"list", + "member":{"shape":"OAuthFlowType"}, + "max":3, + "min":0 + }, "PaginationKey":{ "type":"string", "min":1, @@ -3793,6 +4359,45 @@ "documentation":"

This exception is thrown when a precondition is not met.

", "exception":true }, + "ProviderDescription":{ + "type":"structure", + "members":{ + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + }, + "ProviderType":{ + "shape":"IdentityProviderTypeType", + "documentation":"

The identity provider type.

" + }, + "LastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date the provider was last modified.

" + }, + "CreationDate":{ + "shape":"DateType", + "documentation":"

The date the provider was added to the user pool.

" + } + }, + "documentation":"

A container for identity provider details.

" + }, + "ProviderDetailsType":{ + "type":"map", + "key":{"shape":"StringType"}, + "value":{"shape":"StringType"} + }, + "ProviderNameType":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" + }, + "ProvidersListType":{ + "type":"list", + "member":{"shape":"ProviderDescription"}, + "max":50, + "min":0 + }, "QueryLimit":{ "type":"integer", "max":60, @@ -3803,6 +4408,12 @@ "max":60, "min":0 }, + "RedirectUrlType":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" + }, "RefreshTokenValidityType":{ "type":"integer", "max":3650, @@ -3860,19 +4471,19 @@ "members":{ "ClientId":{ "shape":"ClientIdType", - "documentation":"

The client ID.

" + "documentation":"

The app client ID.

" }, "ChallengeName":{ "shape":"ChallengeNameType", - "documentation":"

The name of the challenge.

" + "documentation":"

The challenge name. For more information, see InitiateAuth.

ADMIN_NO_SRP_AUTH is not a valid value.

" }, "Session":{ "shape":"SessionType", - "documentation":"

The session.

" + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" }, "ChallengeResponses":{ "shape":"ChallengeResponsesType", - "documentation":"

The responses to the authentication challenge.

" + "documentation":"

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

  • SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME, SECRET_HASH (if app client is configured with client secret).

" } }, "documentation":"

The request to respond to an authentication challenge.

" @@ -3882,15 +4493,15 @@ "members":{ "ChallengeName":{ "shape":"ChallengeNameType", - "documentation":"

The challenge name.

" + "documentation":"

The challenge name. For more information, see InitiateAuth.

" }, "Session":{ "shape":"SessionType", - "documentation":"

The session.

" + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If the InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" }, "ChallengeParameters":{ "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters.

" + "documentation":"

The challenge parameters. For more information, see InitiateAuth.

" }, "AuthenticationResult":{ "shape":"AuthenticationResultType", @@ -3899,6 +4510,12 @@ }, "documentation":"

The response to respond to the authentication challenge.

" }, + "S3BucketType":{ + "type":"string", + "max":1024, + "min":3, + "pattern":"^[0-9A-Za-z\\.\\-_]*(?This exception is thrown when the specified scope does not exist.

", + "exception":true + }, + "ScopeListType":{ + "type":"list", + "member":{"shape":"ScopeType"} + }, + "ScopeType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\x21\\x23-\\x5B\\x5D-\\x7E]+" + }, "SearchPaginationTokenType":{ "type":"string", "min":1, @@ -4013,7 +4648,7 @@ }, "UserAttributes":{ "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

" + "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" }, "ValidationData":{ "shape":"AttributeListType", @@ -4024,6 +4659,10 @@ }, "SignUpResponse":{ "type":"structure", + "required":[ + "UserConfirmed", + "UserSub" + ], "members":{ "UserConfirmed":{ "shape":"BooleanType", @@ -4032,6 +4671,10 @@ "CodeDeliveryDetails":{ "shape":"CodeDeliveryDetailsType", "documentation":"

The code delivery details returned by the server response to the user registration request.

" + }, + "UserSub":{ + "shape":"StringType", + "documentation":"

The UUID of the authenticated user. This is not the same as username.

" } }, "documentation":"

The response from the server for a registration request.

" @@ -4049,7 +4692,7 @@ "documentation":"

The external ID.

" } }, - "documentation":"

The SMS configuratoin type.

" + "documentation":"

The SMS configuration type.

" }, "SmsVerificationMessageType":{ "type":"string", @@ -4135,6 +4778,10 @@ "documentation":"

The type of constraints associated with an attribute of the string type.

" }, "StringType":{"type":"string"}, + "SupportedIdentityProvidersListType":{ + "type":"list", + "member":{"shape":"ProviderNameType"} + }, "TokenModelType":{ "type":"string", "pattern":"[A-Za-z0-9-_=.]+", @@ -4148,7 +4795,7 @@ "documentation":"

The message returned when the Amazon Cognito service returns a too many failed attempts exception.

" } }, - "documentation":"

This exception gets thrown when the user has made too many failed attempts for a given action (e.g., sign in).

", + "documentation":"

This exception is thrown when the user has made too many failed attempts for a given action (e.g., sign in).

", "exception":true }, "TooManyRequestsException":{ @@ -4159,7 +4806,7 @@ "documentation":"

The message returned when the Amazon Cognito service returns a too many requests exception.

" } }, - "documentation":"

This exception gets thrown when the user has made too many requests for a given operation.

", + "documentation":"

This exception is thrown when the user has made too many requests for a given operation.

", "exception":true }, "UnexpectedLambdaException":{ @@ -4170,7 +4817,15 @@ "documentation":"

The message returned when the Amazon Cognito service returns an unexpected AWS Lambda exception.

" } }, - "documentation":"

This exception gets thrown when the Amazon Cognito service encounters an unexpected exception with the AWS Lambda service.

", + "documentation":"

This exception is thrown when the Amazon Cognito service encounters an unexpected exception with the AWS Lambda service.

", + "exception":true + }, + "UnsupportedIdentityProviderException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when the specified identifier is not supported.

", "exception":true }, "UnsupportedUserStateException":{ @@ -4237,7 +4892,7 @@ }, "Precedence":{ "shape":"PrecedenceType", - "documentation":"

The new precedence value for the group. For more information about this parameter, see CreateGroupRequest.

" + "documentation":"

The new precedence value for the group. For more information about this parameter, see CreateGroup.

" } } }, @@ -4250,13 +4905,55 @@ } } }, + "UpdateIdentityProviderRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "ProviderName" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + }, + "ProviderDetails":{ + "shape":"ProviderDetailsType", + "documentation":"

The identity provider details to be updated, such as MetadataURL and MetadataFile.

" + }, + "AttributeMapping":{ + "shape":"AttributeMappingType", + "documentation":"

The identity provider attribute mapping to be changed.

" + }, + "IdpIdentifiers":{ + "shape":"IdpIdentifiersListType", + "documentation":"

A list of identity provider identifiers.

" + } + } + }, + "UpdateIdentityProviderResponse":{ + "type":"structure", + "required":["IdentityProvider"], + "members":{ + "IdentityProvider":{ + "shape":"IdentityProviderType", + "documentation":"

The identity provider object.

" + } + } + }, "UpdateUserAttributesRequest":{ "type":"structure", - "required":["UserAttributes"], + "required":[ + "UserAttributes", + "AccessToken" + ], "members":{ "UserAttributes":{ "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

" + "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" }, "AccessToken":{ "shape":"TokenModelType", @@ -4296,7 +4993,7 @@ }, "RefreshTokenValidity":{ "shape":"RefreshTokenValidityType", - "documentation":"

The validity of the refresh token, in days.

" + "documentation":"

The time limit, in days, after which the refresh token is no longer valid and cannot be used.

" }, "ReadAttributes":{ "shape":"ClientPermissionListType", @@ -4309,6 +5006,34 @@ "ExplicitAuthFlows":{ "shape":"ExplicitAuthFlowsListType", "documentation":"

Explicit authentication flows.

" + }, + "SupportedIdentityProviders":{ + "shape":"SupportedIdentityProvidersListType", + "documentation":"

A list of provider names for the identity providers that are supported on this client.

" + }, + "CallbackURLs":{ + "shape":"CallbackURLsListType", + "documentation":"

A list of allowed callback URLs for the identity providers.

" + }, + "LogoutURLs":{ + "shape":"LogoutURLsListType", + "documentation":"

A list ofallowed logout URLs for the identity providers.

" + }, + "DefaultRedirectURI":{ + "shape":"RedirectUrlType", + "documentation":"

The default redirect URI. Must be in the CallbackURLs list.

" + }, + "AllowedOAuthFlows":{ + "shape":"OAuthFlowsType", + "documentation":"

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

Set to token to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly.

" + }, + "AllowedOAuthScopes":{ + "shape":"ScopeListType", + "documentation":"

A list of allowed OAuth scopes. Currently supported values are \"phone\", \"email\", \"openid\", and \"Cognito\".

" + }, + "AllowedOAuthFlowsUserPoolClient":{ + "shape":"BooleanType", + "documentation":"

Set to TRUE if the client is allowed to follow the OAuth protocol when interacting with Cognito user pools.

" } }, "documentation":"

Represents the request to update the user pool client.

" @@ -4353,7 +5078,7 @@ }, "EmailVerificationSubject":{ "shape":"EmailVerificationSubjectType", - "documentation":"

The subject of the email verfication message.

" + "documentation":"

The subject of the email verification message.

" }, "SmsAuthenticationMessage":{ "shape":"SmsVerificationMessageType", @@ -4381,7 +5106,7 @@ }, "AdminCreateUserConfig":{ "shape":"AdminCreateUserConfigType", - "documentation":"

The configuration for AdminCreateUser requests.

" + "documentation":"

The configuration for AdminCreateUser requests.

" } }, "documentation":"

Represents the request to update the user pool.

" @@ -4449,11 +5174,11 @@ }, "PreSignedUrl":{ "shape":"PreSignedUrlType", - "documentation":"

The pre-signed URL to be used to upload the .csv file.

" + "documentation":"

The pre-signed URL to be used to upload the .csv file.

" }, "CreationDate":{ "shape":"DateType", - "documentation":"

The date when the user import job was created.

" + "documentation":"

The date the user import job was created.

" }, "StartDate":{ "shape":"DateType", @@ -4461,11 +5186,11 @@ }, "CompletionDate":{ "shape":"DateType", - "documentation":"

The date when the user imoprt job was completed.

" + "documentation":"

The date when the user import job was completed.

" }, "Status":{ "shape":"UserImportJobStatusType", - "documentation":"

The status of the user import job. One of the following:

  • Created - The job was created but not started.

  • Pending - A transition state. You have started the job, but it has not begun importing users yet.

  • InProgress - The job has started, and users are being imported.

  • Stopping - You have stopped the job, but the job has not stopped importing users yet.

  • Stopped - You have stopped the job, and the job has stopped importing users.

  • Succeeded - The job has completed successfully.

  • Failed - The job has stopped due to an error.

  • Expired - You created a job, but did not start the job within 24-48 hours. All data associated with the job was deleted, and the job cannot be started.

" + "documentation":"

The status of the user import job. One of the following:

  • Created - The job was created but not started.

  • Pending - A transition state. You have started the job, but it has not begun importing users yet.

  • InProgress - The job has started, and users are being imported.

  • Stopping - You have stopped the job, but the job has not stopped importing users yet.

  • Stopped - You have stopped the job, and the job has stopped importing users.

  • Succeeded - The job has completed successfully.

  • Failed - The job has stopped due to an error.

  • Expired - You created a job, but did not start the job within 24-48 hours. All data associated with the job was deleted, and the job cannot be started.

" }, "CloudWatchLogsRoleArn":{ "shape":"ArnType", @@ -4504,7 +5229,7 @@ "documentation":"

The message returned when the Amazon Cognito service returns a user validation exception with the AWS Lambda service.

" } }, - "documentation":"

This exception gets thrown when the Amazon Cognito service encounters a user validation exception with the AWS Lambda service.

", + "documentation":"

This exception is thrown when the Amazon Cognito service encounters a user validation exception with the AWS Lambda service.

", "exception":true }, "UserNotConfirmedException":{ @@ -4572,15 +5297,15 @@ }, "LastModifiedDate":{ "shape":"DateType", - "documentation":"

The last modified date from the user pool request of the client type.

" + "documentation":"

The date the user pool client was last modified.

" }, "CreationDate":{ "shape":"DateType", - "documentation":"

The creation date from the user pool request of the client type.

" + "documentation":"

The date the user pool client was created.

" }, "RefreshTokenValidity":{ "shape":"RefreshTokenValidityType", - "documentation":"

The validity of the refresh token, in days.

" + "documentation":"

The time limit, in days, after which the refresh token is no longer valid and cannot be used.

" }, "ReadAttributes":{ "shape":"ClientPermissionListType", @@ -4593,6 +5318,35 @@ "ExplicitAuthFlows":{ "shape":"ExplicitAuthFlowsListType", "documentation":"

The explicit authentication flows.

" + }, + "SupportedIdentityProviders":{ + "shape":"SupportedIdentityProvidersListType", + "documentation":"

A list of provider names for the identity providers that are supported on this client.

" + }, + "CallbackURLs":{ + "shape":"CallbackURLsListType", + "documentation":"

A list of allowed callback URLs for the identity providers.

" + }, + "LogoutURLs":{ + "shape":"LogoutURLsListType", + "documentation":"

A list ofallowed logout URLs for the identity providers.

" + }, + "DefaultRedirectURI":{ + "shape":"RedirectUrlType", + "documentation":"

The default redirect URI. Must be in the CallbackURLs list.

" + }, + "AllowedOAuthFlows":{ + "shape":"OAuthFlowsType", + "documentation":"

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

Set to token to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly.

" + }, + "AllowedOAuthScopes":{ + "shape":"ScopeListType", + "documentation":"

A list of allowed OAuth scopes. Currently supported values are \"phone\", \"email\", \"openid\", and \"Cognito\".

" + }, + "AllowedOAuthFlowsUserPoolClient":{ + "shape":"BooleanType", + "documentation":"

Set to TRUE if the client is allowed to follow the OAuth protocol when interacting with Cognito user pools.

", + "box":true } }, "documentation":"

A user pool of the client type.

" @@ -4618,11 +5372,11 @@ }, "LastModifiedDate":{ "shape":"DateType", - "documentation":"

The last modified date in a user pool description.

" + "documentation":"

The date the user pool description was last modified.

" }, "CreationDate":{ "shape":"DateType", - "documentation":"

The creation date in a user pool description.

" + "documentation":"

The date the user pool description was created.

" } }, "documentation":"

A user pool description.

" @@ -4656,7 +5410,7 @@ "members":{ "PasswordPolicy":{ "shape":"PasswordPolicyType", - "documentation":"

A container with information about the user pool password policy.

" + "documentation":"

A container for information about the user pool password policy.

" } }, "documentation":"

The type of policy in a user pool.

" @@ -4666,7 +5420,7 @@ "members":{ "message":{"shape":"MessageType"} }, - "documentation":"

This exception gets thrown when a user pool tag cannot be set or updated.

", + "documentation":"

This exception is thrown when a user pool tag cannot be set or updated.

", "exception":true }, "UserPoolTagsType":{ @@ -4687,11 +5441,11 @@ }, "Policies":{ "shape":"UserPoolPolicyType", - "documentation":"

A container describing the policies associated with a user pool.

" + "documentation":"

A container for the policies associated with a user pool.

" }, "LambdaConfig":{ "shape":"LambdaConfigType", - "documentation":"

A container describing the AWS Lambda triggers associated with a user pool.

" + "documentation":"

A container for the AWS Lambda triggers associated with a user pool.

" }, "Status":{ "shape":"StatusType", @@ -4699,11 +5453,11 @@ }, "LastModifiedDate":{ "shape":"DateType", - "documentation":"

The last modified date of a user pool.

" + "documentation":"

The date the user pool was last modified.

" }, "CreationDate":{ "shape":"DateType", - "documentation":"

The creation date of a user pool.

" + "documentation":"

The date the user pool was created.

" }, "SchemaAttributes":{ "shape":"SchemaAttributesListType", @@ -4759,7 +5513,7 @@ }, "SmsConfigurationFailure":{ "shape":"StringType", - "documentation":"

The reason why the SMS configuration cannot send the message(s) to your users.

" + "documentation":"

The reason why the SMS configuration cannot send the messages to your users.

" }, "EmailConfigurationFailure":{ "shape":"StringType", @@ -4767,10 +5521,10 @@ }, "AdminCreateUserConfig":{ "shape":"AdminCreateUserConfigType", - "documentation":"

The configuration for AdminCreateUser requests.

" + "documentation":"

The configuration for AdminCreateUser requests.

" } }, - "documentation":"

A container with information about the user pool type.

" + "documentation":"

A container for information about the user pool type.

" }, "UserStatusType":{ "type":"string", @@ -4854,6 +5608,7 @@ "VerifyUserAttributeRequest":{ "type":"structure", "required":[ + "AccessToken", "AttributeName", "Code" ], @@ -4880,5 +5635,5 @@ "documentation":"

A container representing the response from the server from the request to verify user attributes.

" } }, - "documentation":"

Using the Amazon Cognito Your User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito Your User Pools.

For more information, see the Amazon Cognito Documentation.

" + "documentation":"

Using the Amazon Cognito User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito User Pools.

For more information, see the Amazon Cognito Documentation.

" } diff --git a/botocore/data/config/2014-11-12/examples-1.json b/botocore/data/config/2014-11-12/examples-1.json new file mode 100755 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/config/2014-11-12/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/config/2014-11-12/paginators-1.json b/botocore/data/config/2014-11-12/paginators-1.json index 74a325c3..7b1f79b1 100644 --- a/botocore/data/config/2014-11-12/paginators-1.json +++ b/botocore/data/config/2014-11-12/paginators-1.json @@ -28,7 +28,8 @@ "GetResourceConfigHistory": { "input_token": "nextToken", "output_token": "nextToken", - "result_key": "configurationItems" + "result_key": "configurationItems", + "limit_key": "limit" }, "ListDiscoveredResources": { "input_token": "nextToken", diff --git a/botocore/data/config/2014-11-12/service-2.json b/botocore/data/config/2014-11-12/service-2.json old mode 100755 new mode 100644 index 5e89ead7..3258b407 --- a/botocore/data/config/2014-11-12/service-2.json +++ b/botocore/data/config/2014-11-12/service-2.json @@ -287,7 +287,7 @@ {"shape":"InsufficientPermissionsException"}, {"shape":"NoAvailableConfigurationRecorderException"} ], - "documentation":"

Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations.

You can use this action for custom Config rules and AWS managed Config rules. A custom Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides.

If you are adding a new custom Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

If you are adding a new AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see Using AWS Managed Config Rules.

For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

The maximum number of rules that AWS Config supports is 50.

For more information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" + "documentation":"

Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations.

You can use this action for custom Config rules and AWS managed Config rules. A custom Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides.

If you are adding a new custom Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

If you are adding an AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see About AWS Managed Config Rules.

For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

The maximum number of rules that AWS Config supports is 50.

For more information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" }, "PutConfigurationRecorder":{ "name":"PutConfigurationRecorder", @@ -587,7 +587,7 @@ }, "MaximumExecutionFrequency":{ "shape":"MaximumExecutionFrequency", - "documentation":"

The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for MaximumExecutionFrequency when:

  • You are using an AWS managed rule that is triggered at a periodic frequency.

  • Your custom rule is triggered when AWS Config delivers the configuration snapshot.

For more information, see ConfigSnapshotDeliveryProperties.

" + "documentation":"

The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for MaximumExecutionFrequency when:

  • You are using an AWS managed rule that is triggered at a periodic frequency.

  • Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

" }, "ConfigRuleState":{ "shape":"ConfigRuleState", @@ -955,7 +955,10 @@ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.

If you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon SNS Topic in the AWS Config Developer Guide.

" }, - "configSnapshotDeliveryProperties":{"shape":"ConfigSnapshotDeliveryProperties"} + "configSnapshotDeliveryProperties":{ + "shape":"ConfigSnapshotDeliveryProperties", + "documentation":"

The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.

" + } }, "documentation":"

The channel through which AWS Config delivers notifications and updated configuration states.

" }, @@ -1548,7 +1551,7 @@ "type":"structure", "members":{ }, - "documentation":"

The speNexcified token is invalid.

", + "documentation":"

The specified ResultToken is invalid.

", "exception":true }, "InvalidRoleException":{ @@ -1747,9 +1750,11 @@ "type":"structure", "required":["ConfigRule"], "members":{ - "ConfigRule":{"shape":"ConfigRule"} - }, - "documentation":"

" + "ConfigRule":{ + "shape":"ConfigRule", + "documentation":"

The rule that you want to add to your account.

" + } + } }, "PutConfigurationRecorderRequest":{ "type":"structure", @@ -1784,6 +1789,10 @@ "ResultToken":{ "shape":"String", "documentation":"

An encrypted token that associates an evaluation with an AWS Config rule. Identifies the rule and the event that triggered the evaluation

" + }, + "TestMode":{ + "shape":"Boolean", + "documentation":"

Use this parameter to specify a test run for PutEvaluations. You can verify whether your AWS Lambda function will deliver evaluation results to AWS Config. No updates occur to your existing evaluations, and evaluation results are not sent to AWS Config.

When TestMode is true, PutEvaluations doesn't require a valid value for the ResultToken parameter, but the value cannot be null.

" } }, "documentation":"

" @@ -1951,7 +1960,8 @@ "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", - "AWS::Redshift::EventSubscription" + "AWS::Redshift::EventSubscription", + "AWS::CloudWatch::Alarm" ] }, "ResourceTypeList":{ @@ -2026,7 +2036,7 @@ }, "MaximumExecutionFrequency":{ "shape":"MaximumExecutionFrequency", - "documentation":"

The frequency that you want AWS Config to run evaluations for a rule that is triggered periodically. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

" + "documentation":"

The frequency that you want AWS Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

" } }, "documentation":"

Provides the source and the message types that trigger AWS Config to evaluate your AWS resources against a rule. It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic. You can specify the parameter values for SourceDetail only for custom rules.

" diff --git a/botocore/data/cur/2017-01-06/examples-1.json b/botocore/data/cur/2017-01-06/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/cur/2017-01-06/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/cur/2017-01-06/paginators-1.json b/botocore/data/cur/2017-01-06/paginators-1.json new file mode 100644 index 00000000..7db4dfe1 --- /dev/null +++ b/botocore/data/cur/2017-01-06/paginators-1.json @@ -0,0 +1,10 @@ +{ + "pagination": { + "DescribeReportDefinitions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ReportDefinitions" + } + } +} diff --git a/botocore/data/dax/2017-04-19/paginators-1.json b/botocore/data/dax/2017-04-19/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/dax/2017-04-19/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/dax/2017-04-19/service-2.json b/botocore/data/dax/2017-04-19/service-2.json new file mode 100644 index 00000000..1dab8c8c --- /dev/null +++ b/botocore/data/dax/2017-04-19/service-2.json @@ -0,0 +1,1614 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-04-19", + "endpointPrefix":"dax", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"Amazon DAX", + "serviceFullName":"Amazon DynamoDB Accelerator (DAX)", + "signatureVersion":"v4", + "targetPrefix":"AmazonDAXV3", + "uid":"dax-2017-04-19" + }, + "operations":{ + "CreateCluster":{ + "name":"CreateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClusterRequest"}, + "output":{"shape":"CreateClusterResponse"}, + "errors":[ + {"shape":"ClusterAlreadyExistsFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InsufficientClusterCapacityFault"}, + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ClusterQuotaForCustomerExceededFault"}, + {"shape":"NodeQuotaForClusterExceededFault"}, + {"shape":"NodeQuotaForCustomerExceededFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Creates a DAX cluster. All nodes in the cluster run the same DAX caching software.

" + }, + "CreateParameterGroup":{ + "name":"CreateParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateParameterGroupRequest"}, + "output":{"shape":"CreateParameterGroupResponse"}, + "errors":[ + {"shape":"ParameterGroupQuotaExceededFault"}, + {"shape":"ParameterGroupAlreadyExistsFault"}, + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Creates a new parameter group. A parameter group is a collection of parameters that you apply to all of the nodes in a DAX cluster.

" + }, + "CreateSubnetGroup":{ + "name":"CreateSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSubnetGroupRequest"}, + "output":{"shape":"CreateSubnetGroupResponse"}, + "errors":[ + {"shape":"SubnetGroupAlreadyExistsFault"}, + {"shape":"SubnetGroupQuotaExceededFault"}, + {"shape":"SubnetQuotaExceededFault"}, + {"shape":"InvalidSubnet"} + ], + "documentation":"

Creates a new subnet group.

" + }, + "DecreaseReplicationFactor":{ + "name":"DecreaseReplicationFactor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DecreaseReplicationFactorRequest"}, + "output":{"shape":"DecreaseReplicationFactorResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"NodeNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Removes one or more nodes from a DAX cluster.

You cannot use DecreaseReplicationFactor to remove the last node in a DAX cluster. If you need to do this, use DeleteCluster instead.

" + }, + "DeleteCluster":{ + "name":"DeleteCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClusterRequest"}, + "output":{"shape":"DeleteClusterResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Deletes a previously provisioned DAX cluster. DeleteCluster deletes all associated nodes, node endpoints and the DAX cluster itself. When you receive a successful response from this action, DAX immediately begins deleting the cluster; you cannot cancel or revert this action.

" + }, + "DeleteParameterGroup":{ + "name":"DeleteParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteParameterGroupRequest"}, + "output":{"shape":"DeleteParameterGroupResponse"}, + "errors":[ + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Deletes the specified parameter group. You cannot delete a parameter group if it is associated with any DAX clusters.

" + }, + "DeleteSubnetGroup":{ + "name":"DeleteSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSubnetGroupRequest"}, + "output":{"shape":"DeleteSubnetGroupResponse"}, + "errors":[ + {"shape":"SubnetGroupInUseFault"}, + {"shape":"SubnetGroupNotFoundFault"} + ], + "documentation":"

Deletes a subnet group.

You cannot delete a subnet group if it is associated with any DAX clusters.

" + }, + "DescribeClusters":{ + "name":"DescribeClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClustersRequest"}, + "output":{"shape":"DescribeClustersResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns information about all provisioned DAX clusters if no cluster identifier is specified, or about a specific DAX cluster if a cluster identifier is supplied.

If the cluster is in the CREATING state, only cluster level information will be displayed until all of the nodes are successfully provisioned.

If the cluster is in the DELETING state, only cluster level information will be displayed.

If nodes are currently being added to the DAX cluster, node endpoint information and creation time for the additional nodes will not be displayed until they are completely provisioned. When the DAX cluster state is available, the cluster is ready for use.

If nodes are currently being removed from the DAX cluster, no endpoint information for the removed nodes is displayed.

" + }, + "DescribeDefaultParameters":{ + "name":"DescribeDefaultParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDefaultParametersRequest"}, + "output":{"shape":"DescribeDefaultParametersResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns the default system parameter information for the DAX caching software.

" + }, + "DescribeEvents":{ + "name":"DescribeEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsRequest"}, + "output":{"shape":"DescribeEventsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns events related to DAX clusters and parameter groups. You can obtain events specific to a particular DAX cluster or parameter group by providing the name as a parameter.

By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

" + }, + "DescribeParameterGroups":{ + "name":"DescribeParameterGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeParameterGroupsRequest"}, + "output":{"shape":"DescribeParameterGroupsResponse"}, + "errors":[ + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns a list of parameter group descriptions. If a parameter group name is specified, the list will contain only the descriptions for that group.

" + }, + "DescribeParameters":{ + "name":"DescribeParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeParametersRequest"}, + "output":{"shape":"DescribeParametersResponse"}, + "errors":[ + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns the detailed parameter list for a particular parameter group.

" + }, + "DescribeSubnetGroups":{ + "name":"DescribeSubnetGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSubnetGroupsRequest"}, + "output":{"shape":"DescribeSubnetGroupsResponse"}, + "errors":[ + {"shape":"SubnetGroupNotFoundFault"} + ], + "documentation":"

Returns a list of subnet group descriptions. If a subnet group name is specified, the list will contain only the description of that group.

" + }, + "IncreaseReplicationFactor":{ + "name":"IncreaseReplicationFactor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"IncreaseReplicationFactorRequest"}, + "output":{"shape":"IncreaseReplicationFactorResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InsufficientClusterCapacityFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"NodeQuotaForClusterExceededFault"}, + {"shape":"NodeQuotaForCustomerExceededFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Adds one or more nodes to a DAX cluster.

" + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidARNFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

List all of the tags for a DAX cluster. You can call ListTags up to 10 times per second, per account.

" + }, + "RebootNode":{ + "name":"RebootNode", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebootNodeRequest"}, + "output":{"shape":"RebootNodeResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"NodeNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Reboots a single node of a DAX cluster. The reboot action takes place as soon as possible. During the reboot, the node status is set to REBOOTING.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"InvalidARNFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Associates a set of tags with a DAX resource. You can call TagResource up to 5 times per second, per account.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidARNFault"}, + {"shape":"TagNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Removes the association of tags from a DAX resource. You can call UntagResource up to 5 times per second, per account.

" + }, + "UpdateCluster":{ + "name":"UpdateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateClusterRequest"}, + "output":{"shape":"UpdateClusterResponse"}, + "errors":[ + {"shape":"InvalidClusterStateFault"}, + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Modifies the settings for a DAX cluster. You can use this action to change one or more cluster configuration parameters by specifying the parameters and the new values.

" + }, + "UpdateParameterGroup":{ + "name":"UpdateParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateParameterGroupRequest"}, + "output":{"shape":"UpdateParameterGroupResponse"}, + "errors":[ + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Modifies the parameters of a parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

" + }, + "UpdateSubnetGroup":{ + "name":"UpdateSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSubnetGroupRequest"}, + "output":{"shape":"UpdateSubnetGroupResponse"}, + "errors":[ + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"SubnetQuotaExceededFault"}, + {"shape":"SubnetInUse"}, + {"shape":"InvalidSubnet"} + ], + "documentation":"

Modifies an existing subnet group.

" + } + }, + "shapes":{ + "AvailabilityZoneList":{ + "type":"list", + "member":{"shape":"String"} + }, + "AwsQueryErrorMessage":{"type":"string"}, + "ChangeType":{ + "type":"string", + "enum":[ + "IMMEDIATE", + "REQUIRES_REBOOT" + ] + }, + "Cluster":{ + "type":"structure", + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the DAX cluster.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the cluster.

" + }, + "ClusterArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

" + }, + "TotalNodes":{ + "shape":"IntegerOptional", + "documentation":"

The total number of nodes in the cluster.

" + }, + "ActiveNodes":{ + "shape":"IntegerOptional", + "documentation":"

The number of nodes in the cluster that are active (i.e., capable of serving requests).

" + }, + "NodeType":{ + "shape":"String", + "documentation":"

The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)

" + }, + "Status":{ + "shape":"String", + "documentation":"

The current status of the cluster.

" + }, + "ClusterDiscoveryEndpoint":{ + "shape":"Endpoint", + "documentation":"

The configuration endpoint for this DAX cluster, consisting of a DNS name and a port number. Client applications can specify this endpoint, rather than an individual node endpoint, and allow the DAX client software to intelligently route requests and responses to nodes in the DAX cluster.

" + }, + "NodeIdsToRemove":{ + "shape":"NodeIdentifierList", + "documentation":"

A list of nodes to be removed from the cluster.

" + }, + "Nodes":{ + "shape":"NodeList", + "documentation":"

A list of nodes that are currently in the cluster.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

A range of time when maintenance of DAX cluster software will be performed. For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.

" + }, + "NotificationConfiguration":{ + "shape":"NotificationConfiguration", + "documentation":"

Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

" + }, + "SubnetGroup":{ + "shape":"String", + "documentation":"

The subnet group where the DAX cluster is running.

" + }, + "SecurityGroups":{ + "shape":"SecurityGroupMembershipList", + "documentation":"

A list of security groups, and the status of each, for the nodes in the cluster.

" + }, + "IamRoleArn":{ + "shape":"String", + "documentation":"

A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.

" + }, + "ParameterGroup":{ + "shape":"ParameterGroupStatus", + "documentation":"

The parameter group being used by nodes in the cluster.

" + } + }, + "documentation":"

Contains all of the attributes of a specific DAX cluster.

" + }, + "ClusterAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You already have a DAX cluster with the given identifier.

", + "exception":true + }, + "ClusterList":{ + "type":"list", + "member":{"shape":"Cluster"} + }, + "ClusterNameList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ClusterNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested cluster ID does not refer to an existing DAX cluster.

", + "exception":true + }, + "ClusterQuotaForCustomerExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have attempted to exceed the maximum number of DAX clusters for your AWS account.

", + "exception":true + }, + "CreateClusterRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "NodeType", + "ReplicationFactor", + "IamRoleArn" + ], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The cluster identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.

  • The first character must be a letter.

  • A name cannot end with a hyphen or contain two consecutive hyphens.

" + }, + "NodeType":{ + "shape":"String", + "documentation":"

The compute and memory capacity of the nodes in the cluster.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the cluster.

" + }, + "ReplicationFactor":{ + "shape":"Integer", + "documentation":"

The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read replicas. To do this, set ReplicationFactor to 2 or more.

AWS recommends that you have at least two read replicas per cluster.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

The Availability Zones (AZs) in which the cluster nodes will be created. All nodes belonging to the cluster are placed in these Availability Zones. Use this parameter if you want to distribute the nodes across multiple AZs.

" + }, + "SubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group to be used for the replication group.

DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group must exist in the same VPC.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdentifierList", + "documentation":"

A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is system-generated.)

If this parameter is not specified, DAX assigns the default VPC security group to each node.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:05:00-sun:09:00

If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns a 60-minute maintenance window on a randomly selected day of the week.

" + }, + "NotificationTopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.

The Amazon SNS topic owner must be same as the DAX cluster owner.

" + }, + "IamRoleArn":{ + "shape":"String", + "documentation":"

A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.

" + }, + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The parameter group to be associated with the DAX cluster.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A set of tags to associate with the DAX cluster.

" + } + } + }, + "CreateClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster that you have created.

" + } + } + }, + "CreateParameterGroupRequest":{ + "type":"structure", + "required":["ParameterGroupName"], + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group to apply to all of the clusters in this replication group.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the parameter group.

" + } + } + }, + "CreateParameterGroupResponse":{ + "type":"structure", + "members":{ + "ParameterGroup":{ + "shape":"ParameterGroup", + "documentation":"

Represents the output of a CreateParameterGroup action.

" + } + } + }, + "CreateSubnetGroupRequest":{ + "type":"structure", + "required":[ + "SubnetGroupName", + "SubnetIds" + ], + "members":{ + "SubnetGroupName":{ + "shape":"String", + "documentation":"

A name for the subnet group. This value is stored as a lowercase string.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the subnet group

" + }, + "SubnetIds":{ + "shape":"SubnetIdentifierList", + "documentation":"

A list of VPC subnet IDs for the subnet group.

" + } + } + }, + "CreateSubnetGroupResponse":{ + "type":"structure", + "members":{ + "SubnetGroup":{ + "shape":"SubnetGroup", + "documentation":"

Represents the output of a CreateSubnetGroup operation.

" + } + } + }, + "DecreaseReplicationFactorRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "NewReplicationFactor" + ], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the DAX cluster from which you want to remove nodes.

" + }, + "NewReplicationFactor":{ + "shape":"Integer", + "documentation":"

The new number of nodes for the DAX cluster.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

The Availability Zone(s) from which to remove nodes.

" + }, + "NodeIdsToRemove":{ + "shape":"NodeIdentifierList", + "documentation":"

The unique identifiers of the nodes to be removed from the cluster.

" + } + } + }, + "DecreaseReplicationFactorResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster, after you have decreased its replication factor.

" + } + } + }, + "DeleteClusterRequest":{ + "type":"structure", + "required":["ClusterName"], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the cluster to be deleted.

" + } + } + }, + "DeleteClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster that is being deleted.

" + } + } + }, + "DeleteParameterGroupRequest":{ + "type":"structure", + "required":["ParameterGroupName"], + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group to delete.

" + } + } + }, + "DeleteParameterGroupResponse":{ + "type":"structure", + "members":{ + "DeletionMessage":{ + "shape":"String", + "documentation":"

A user-specified message for this action (i.e., a reason for deleting the parameter group).

" + } + } + }, + "DeleteSubnetGroupRequest":{ + "type":"structure", + "required":["SubnetGroupName"], + "members":{ + "SubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group to delete.

" + } + } + }, + "DeleteSubnetGroupResponse":{ + "type":"structure", + "members":{ + "DeletionMessage":{ + "shape":"String", + "documentation":"

A user-specified message for this action (i.e., a reason for deleting the subnet group).

" + } + } + }, + "DescribeClustersRequest":{ + "type":"structure", + "members":{ + "ClusterNames":{ + "shape":"ClusterNameList", + "documentation":"

The names of the DAX clusters being described.

" + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeClustersResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "Clusters":{ + "shape":"ClusterList", + "documentation":"

The descriptions of your DAX clusters, in response to a DescribeClusters request.

" + } + } + }, + "DescribeDefaultParametersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeDefaultParametersResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "Parameters":{ + "shape":"ParameterList", + "documentation":"

A list of parameters. Each element in the list represents one parameter.

" + } + } + }, + "DescribeEventsRequest":{ + "type":"structure", + "members":{ + "SourceName":{ + "shape":"String", + "documentation":"

The identifier of the event source for which events will be returned. If not specified, then all sources are included in the response.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

" + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format.

" + }, + "Duration":{ + "shape":"IntegerOptional", + "documentation":"

The number of minutes' worth of events to retrieve.

" + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeEventsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "Events":{ + "shape":"EventList", + "documentation":"

An array of events. Each element in the array represents one event.

" + } + } + }, + "DescribeParameterGroupsRequest":{ + "type":"structure", + "members":{ + "ParameterGroupNames":{ + "shape":"ParameterGroupNameList", + "documentation":"

The names of the parameter groups.

" + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeParameterGroupsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "ParameterGroups":{ + "shape":"ParameterGroupList", + "documentation":"

An array of parameter groups. Each element in the array represents one parameter group.

" + } + } + }, + "DescribeParametersRequest":{ + "type":"structure", + "required":["ParameterGroupName"], + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group.

" + }, + "Source":{ + "shape":"String", + "documentation":"

How the parameter is defined. For example, system denotes a system-defined parameter.

" + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeParametersResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "Parameters":{ + "shape":"ParameterList", + "documentation":"

A list of parameters within a parameter group. Each element in the list represents one parameter.

" + } + } + }, + "DescribeSubnetGroupsRequest":{ + "type":"structure", + "members":{ + "SubnetGroupNames":{ + "shape":"SubnetGroupNameList", + "documentation":"

The name of the subnet group.

" + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeSubnetGroupsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "SubnetGroups":{ + "shape":"SubnetGroupList", + "documentation":"

An array of subnet groups. Each element in the array represents a single subnet group.

" + } + } + }, + "Endpoint":{ + "type":"structure", + "members":{ + "Address":{ + "shape":"String", + "documentation":"

The DNS hostname of the endpoint.

" + }, + "Port":{ + "shape":"Integer", + "documentation":"

The port number that applications should use to connect to the endpoint.

" + } + }, + "documentation":"

Represents the information required for client programs to connect to the configuration endpoint for a DAX cluster, or to an individual node within the cluster.

" + }, + "Event":{ + "type":"structure", + "members":{ + "SourceName":{ + "shape":"String", + "documentation":"

The source of the event. For example, if the event occurred at the node level, the source would be the node ID.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

Specifies the origin of this event - a cluster, a parameter group, a node ID, etc.

" + }, + "Message":{ + "shape":"String", + "documentation":"

A user-defined message associated with the event.

" + }, + "Date":{ + "shape":"TStamp", + "documentation":"

The date and time when the event occurred.

" + } + }, + "documentation":"

Represents a single occurrence of something interesting within the system. Some examples of events are creating a DAX cluster, adding or removing a node, or rebooting a node.

" + }, + "EventList":{ + "type":"list", + "member":{"shape":"Event"} + }, + "IncreaseReplicationFactorRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "NewReplicationFactor" + ], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the DAX cluster that will receive additional nodes.

" + }, + "NewReplicationFactor":{ + "shape":"Integer", + "documentation":"

The new number of nodes for the DAX cluster.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

The Availability Zones (AZs) in which the cluster nodes will be created. All nodes belonging to the cluster are placed in these Availability Zones. Use this parameter if you want to distribute the nodes across multiple AZs.

" + } + } + }, + "IncreaseReplicationFactorResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster. with its new replication factor.

" + } + } + }, + "InsufficientClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

There are not enough system resources to create the cluster you requested (or to resize an already-existing cluster).

", + "exception":true + }, + "Integer":{"type":"integer"}, + "IntegerOptional":{"type":"integer"}, + "InvalidARNFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Amazon Resource Name (ARN) supplied in the request is not valid.

", + "exception":true + }, + "InvalidClusterStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested DAX cluster is not in the available state.

", + "exception":true + }, + "InvalidParameterCombinationException":{ + "type":"structure", + "members":{ + "message":{"shape":"AwsQueryErrorMessage"} + }, + "documentation":"

Two or more incompatible parameters were specified.

", + "exception":true + }, + "InvalidParameterGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

One or more parameters in a parameter group are in an invalid state.

", + "exception":true + }, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "message":{"shape":"AwsQueryErrorMessage"} + }, + "documentation":"

The value for a parameter is invalid.

", + "exception":true + }, + "InvalidSubnet":{ + "type":"structure", + "members":{ + }, + "documentation":"

An invalid subnet identifier was specified.

", + "exception":true + }, + "InvalidVPCNetworkStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The VPC network is in an invalid state.

", + "exception":true + }, + "IsModifiable":{ + "type":"string", + "enum":[ + "TRUE", + "FALSE", + "CONDITIONAL" + ] + }, + "KeyList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ListTagsRequest":{ + "type":"structure", + "required":["ResourceName"], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The name of the DAX resource to which the tags belong.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token.

" + } + } + }, + "ListTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags currently associated with the DAX cluster.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

If this value is present, there are additional results to be displayed. To retrieve them, call ListTags again, with NextToken set to this value.

" + } + } + }, + "Node":{ + "type":"structure", + "members":{ + "NodeId":{ + "shape":"String", + "documentation":"

A system-generated identifier for the node.

" + }, + "Endpoint":{ + "shape":"Endpoint", + "documentation":"

The endpoint for the node, consisting of a DNS name and a port number. Client applications can connect directly to a node endpoint, if desired (as an alternative to allowing DAX client software to intelligently route requests and responses to nodes in the DAX cluster.

" + }, + "NodeCreateTime":{ + "shape":"TStamp", + "documentation":"

The date and time (in UNIX epoch format) when the node was launched.

" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone (AZ) in which the node has been deployed.

" + }, + "NodeStatus":{ + "shape":"String", + "documentation":"

The current status of the node. For example: available.

" + }, + "ParameterGroupStatus":{ + "shape":"String", + "documentation":"

The status of the parameter group associated with this node. For example, in-sync.

" + } + }, + "documentation":"

Represents an individual node within a DAX cluster.

" + }, + "NodeIdentifierList":{ + "type":"list", + "member":{"shape":"String"} + }, + "NodeList":{ + "type":"list", + "member":{"shape":"Node"} + }, + "NodeNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

None of the nodes in the cluster have the given node ID.

", + "exception":true + }, + "NodeQuotaForClusterExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have attempted to exceed the maximum number of nodes for a DAX cluster.

", + "exception":true + }, + "NodeQuotaForCustomerExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have attempted to exceed the maximum number of nodes for your AWS account.

", + "exception":true + }, + "NodeTypeSpecificValue":{ + "type":"structure", + "members":{ + "NodeType":{ + "shape":"String", + "documentation":"

A node type to which the parameter value applies.

" + }, + "Value":{ + "shape":"String", + "documentation":"

The parameter value for this node type.

" + } + }, + "documentation":"

Represents a parameter value that is applicable to a particular node type.

" + }, + "NodeTypeSpecificValueList":{ + "type":"list", + "member":{"shape":"NodeTypeSpecificValue"} + }, + "NotificationConfiguration":{ + "type":"structure", + "members":{ + "TopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that identifies the topic.

" + }, + "TopicStatus":{ + "shape":"String", + "documentation":"

The current state of the topic.

" + } + }, + "documentation":"

Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

" + }, + "Parameter":{ + "type":"structure", + "members":{ + "ParameterName":{ + "shape":"String", + "documentation":"

The name of the parameter.

" + }, + "ParameterType":{ + "shape":"ParameterType", + "documentation":"

Determines whether the parameter can be applied to any nodes, or only nodes of a particular type.

" + }, + "ParameterValue":{ + "shape":"String", + "documentation":"

The value for the parameter.

" + }, + "NodeTypeSpecificValues":{ + "shape":"NodeTypeSpecificValueList", + "documentation":"

A list of node types, and specific parameter values for each node.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the parameter

" + }, + "Source":{ + "shape":"String", + "documentation":"

How the parameter is defined. For example, system denotes a system-defined parameter.

" + }, + "DataType":{ + "shape":"String", + "documentation":"

The data type of the parameter. For example, integer:

" + }, + "AllowedValues":{ + "shape":"String", + "documentation":"

A range of values within which the parameter can be set.

" + }, + "IsModifiable":{ + "shape":"IsModifiable", + "documentation":"

Whether the customer is allowed to modify the parameter.

" + }, + "ChangeType":{ + "shape":"ChangeType", + "documentation":"

The conditions under which changes to this parameter can be applied. For example, requires-reboot indicates that a new value for this parameter will only take effect if a node is rebooted.

" + } + }, + "documentation":"

Describes an individual setting that controls some aspect of DAX behavior.

" + }, + "ParameterGroup":{ + "type":"structure", + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the parameter group.

" + } + }, + "documentation":"

A named set of parameters that are applied to all of the nodes in a DAX cluster.

" + }, + "ParameterGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified parameter group already exists.

", + "exception":true + }, + "ParameterGroupList":{ + "type":"list", + "member":{"shape":"ParameterGroup"} + }, + "ParameterGroupNameList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified parameter group does not exist.

", + "exception":true + }, + "ParameterGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have attempted to exceed the maximum number of parameter groups.

", + "exception":true + }, + "ParameterGroupStatus":{ + "type":"structure", + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group.

" + }, + "ParameterApplyStatus":{ + "shape":"String", + "documentation":"

The status of parameter updates.

" + }, + "NodeIdsToReboot":{ + "shape":"NodeIdentifierList", + "documentation":"

The node IDs of one or more nodes to be rebooted.

" + } + }, + "documentation":"

The status of a parameter group.

" + }, + "ParameterList":{ + "type":"list", + "member":{"shape":"Parameter"} + }, + "ParameterNameValue":{ + "type":"structure", + "members":{ + "ParameterName":{ + "shape":"String", + "documentation":"

The name of the parameter.

" + }, + "ParameterValue":{ + "shape":"String", + "documentation":"

The value of the parameter.

" + } + }, + "documentation":"

An individual DAX parameter.

" + }, + "ParameterNameValueList":{ + "type":"list", + "member":{"shape":"ParameterNameValue"} + }, + "ParameterType":{ + "type":"string", + "enum":[ + "DEFAULT", + "NODE_TYPE_SPECIFIC" + ] + }, + "RebootNodeRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "NodeId" + ], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the DAX cluster containing the node to be rebooted.

" + }, + "NodeId":{ + "shape":"String", + "documentation":"

The system-assigned ID of the node to be rebooted.

" + } + } + }, + "RebootNodeResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster after a node has been rebooted.

" + } + } + }, + "SecurityGroupIdentifierList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SecurityGroupMembership":{ + "type":"structure", + "members":{ + "SecurityGroupIdentifier":{ + "shape":"String", + "documentation":"

The unique ID for this security group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of this security group.

" + } + }, + "documentation":"

An individual VPC security group and its status.

" + }, + "SecurityGroupMembershipList":{ + "type":"list", + "member":{"shape":"SecurityGroupMembership"} + }, + "SourceType":{ + "type":"string", + "enum":[ + "CLUSTER", + "PARAMETER_GROUP", + "SUBNET_GROUP" + ] + }, + "String":{"type":"string"}, + "Subnet":{ + "type":"structure", + "members":{ + "SubnetIdentifier":{ + "shape":"String", + "documentation":"

The system-assigned identifier for the subnet.

" + }, + "SubnetAvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone (AZ) for subnet subnet.

" + } + }, + "documentation":"

Represents the subnet associated with a DAX cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with DAX.

" + }, + "SubnetGroup":{ + "type":"structure", + "members":{ + "SubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the subnet group.

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.

" + }, + "Subnets":{ + "shape":"SubnetList", + "documentation":"

A list of subnets associated with the subnet group.

" + } + }, + "documentation":"

Represents the output of one of the following actions:

  • CreateSubnetGroup

  • ModifySubnetGroup

" + }, + "SubnetGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified subnet group already exists.

", + "exception":true + }, + "SubnetGroupInUseFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified subnet group is currently in use.

", + "exception":true + }, + "SubnetGroupList":{ + "type":"list", + "member":{"shape":"SubnetGroup"} + }, + "SubnetGroupNameList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested subnet group name does not refer to an existing subnet group.

", + "exception":true + }, + "SubnetGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request cannot be processed because it would exceed the allowed number of subnets in a subnet group.

", + "exception":true + }, + "SubnetIdentifierList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetInUse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested subnet is being used by another subnet group.

", + "exception":true + }, + "SubnetList":{ + "type":"list", + "member":{"shape":"Subnet"} + }, + "SubnetQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request cannot be processed because it would exceed the allowed number of subnets in a subnet group.

", + "exception":true + }, + "TStamp":{"type":"timestamp"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The key for the tag. Tag keys are case sensitive. Every DAX cluster can only have one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.

" + }, + "Value":{ + "shape":"String", + "documentation":"

The value of the tag. Tag values are case-sensitive and can be null.

" + } + }, + "documentation":"

A description of a tag. Every tag is a key-value pair. You can add up to 50 tags to a single DAX cluster.

AWS-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. AWS-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user:.

You cannot backdate the application of a tag.

" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The tag does not exist.

", + "exception":true + }, + "TagQuotaPerResourceExceeded":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have exceeded the maximum number of tags for this DAX cluster.

", + "exception":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceName", + "Tags" + ], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The name of the DAX resource to which tags should be added.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the DAX resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tags that are associated with the DAX resource.

" + } + } + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceName", + "TagKeys" + ], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The name of the DAX resource from which the tags should be removed.

" + }, + "TagKeys":{ + "shape":"KeyList", + "documentation":"

A list of tag keys. If the DAX cluster has any tags with these keys, then the tags are removed from the cluster.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The tag keys that have been removed from the cluster.

" + } + } + }, + "UpdateClusterRequest":{ + "type":"structure", + "required":["ClusterName"], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the DAX cluster to be modified.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the changes being made to the cluster.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

A range of time when maintenance of DAX cluster software will be performed. For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.

" + }, + "NotificationTopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that identifies the topic.

" + }, + "NotificationTopicStatus":{ + "shape":"String", + "documentation":"

The current state of the topic.

" + }, + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a parameter group for this cluster.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdentifierList", + "documentation":"

A list of user-specified security group IDs to be assigned to each node in the DAX cluster. If this parameter is not specified, DAX assigns the default VPC security group to each node.

" + } + } + }, + "UpdateClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster, after it has been modified.

" + } + } + }, + "UpdateParameterGroupRequest":{ + "type":"structure", + "required":[ + "ParameterGroupName", + "ParameterNameValues" + ], + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group.

" + }, + "ParameterNameValues":{ + "shape":"ParameterNameValueList", + "documentation":"

An array of name-value pairs for the parameters in the group. Each element in the array represents a single parameter.

" + } + } + }, + "UpdateParameterGroupResponse":{ + "type":"structure", + "members":{ + "ParameterGroup":{ + "shape":"ParameterGroup", + "documentation":"

The parameter group that has been modified.

" + } + } + }, + "UpdateSubnetGroupRequest":{ + "type":"structure", + "required":["SubnetGroupName"], + "members":{ + "SubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the subnet group.

" + }, + "SubnetIds":{ + "shape":"SubnetIdentifierList", + "documentation":"

A list of subnet IDs in the subnet group.

" + } + } + }, + "UpdateSubnetGroupResponse":{ + "type":"structure", + "members":{ + "SubnetGroup":{ + "shape":"SubnetGroup", + "documentation":"

The subnet group that has been modified.

" + } + } + } + }, + "documentation":"

DAX is a managed caching service engineered for Amazon DynamoDB. DAX dramatically speeds up database reads by caching frequently-accessed data from DynamoDB, so applications can access that data with sub-millisecond latency. You can create a DAX cluster easily, using the AWS Management Console. With a few simple modifications to your code, your application can begin taking advantage of the DAX cluster and realize significant improvements in read performance.

" +} diff --git a/botocore/data/devicefarm/2015-06-23/examples-1.json b/botocore/data/devicefarm/2015-06-23/examples-1.json new file mode 100644 index 00000000..3b9063f8 --- /dev/null +++ b/botocore/data/devicefarm/2015-06-23/examples-1.json @@ -0,0 +1,1242 @@ +{ + "version": "1.0", + "examples": { + "CreateDevicePool": [ + { + "input": { + "name": "MyDevicePool", + "description": "My Android devices", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "rules": [ + + ] + }, + "output": { + "devicePool": { + } + }, + "comments": { + "input": { + "name": "A device pool contains related devices, such as devices that run only on Android or that run only on iOS.", + "projectArn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example creates a new device pool named MyDevicePool inside an existing project.", + "id": "createdevicepool-example-1470862210860", + "title": "To create a new device pool" + } + ], + "CreateProject": [ + { + "input": { + "name": "MyProject" + }, + "output": { + "project": { + "name": "MyProject", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE", + "created": "1472660939.152" + } + }, + "comments": { + "input": { + "name": "A project in Device Farm is a workspace that contains test runs. A run is a test of a single app against one or more devices." + }, + "output": { + } + }, + "description": "The following example creates a new project named MyProject.", + "id": "createproject-example-1470862210860", + "title": "To create a new project" + } + ], + "CreateRemoteAccessSession": [ + { + "input": { + "name": "MySession", + "configuration": { + "billingMethod": "METERED" + }, + "deviceArn": "arn:aws:devicefarm:us-west-2::device:123EXAMPLE", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "remoteAccessSession": { + } + }, + "comments": { + "input": { + "deviceArn": "You can get the device ARN by using the list-devices CLI command.", + "projectArn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example creates a remote access session named MySession.", + "id": "to-create-a-remote-access-session-1470970668274", + "title": "To create a remote access session" + } + ], + "CreateUpload": [ + { + "input": { + "name": "MyAppiumPythonUpload", + "type": "APPIUM_PYTHON_TEST_PACKAGE", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "upload": { + "name": "MyAppiumPythonUpload", + "type": "APPIUM_PYTHON_TEST_PACKAGE", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:upload:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/b5340a65-3da7-4da6-a26e-12345EXAMPLE", + "created": "1472661404.186", + "status": "INITIALIZED", + "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A183774035805%3Aproject%3A5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE/uploads/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A183774035805%3Aupload%3A5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/b5340a65-3da7-4da6-a26e-12345EXAMPLE/MyAppiumPythonUpload?AWSAccessKeyId=1234567891011EXAMPLE&Expires=1472747804&Signature=1234567891011EXAMPLE" + } + }, + "comments": { + "input": { + "projectArn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example creates a new Appium Python test package upload inside an existing project.", + "id": "createupload-example-1470864711775", + "title": "To create a new test package upload" + } + ], + "DeleteDevicePool": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2::devicepool:123-456-EXAMPLE-GUID" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the device pool ARN by using the list-device-pools CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific device pool.", + "id": "deletedevicepool-example-1470866975494", + "title": "To delete a device pool" + } + ], + "DeleteProject": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific project.", + "id": "deleteproject-example-1470867374212", + "title": "To delete a project" + } + ], + "DeleteRemoteAccessSession": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the remote access session ARN by using the list-remote-access-sessions CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific remote access session.", + "id": "to-delete-a-specific-remote-access-session-1470971431677", + "title": "To delete a specific remote access session" + } + ], + "DeleteRun": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the run ARN by using the list-runs CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific test run.", + "id": "deleterun-example-1470867905129", + "title": "To delete a run" + } + ], + "DeleteUpload": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the upload ARN by using the list-uploads CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific upload.", + "id": "deleteupload-example-1470868363942", + "title": "To delete a specific upload" + } + ], + "GetAccountSettings": [ + { + "input": { + }, + "output": { + "accountSettings": { + "awsAccountNumber": "123456789101", + "unmeteredDevices": { + "ANDROID": 1, + "IOS": 2 + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns information about your Device Farm account settings.", + "id": "to-get-information-about-account-settings-1472567568189", + "title": "To get information about account settings" + } + ], + "GetDevice": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2::device:123EXAMPLE" + }, + "output": { + "device": { + "name": "LG G2 (Sprint)", + "arn": "arn:aws:devicefarm:us-west-2::device:A0E6E6E1059E45918208DF75B2B7EF6C", + "cpu": { + "architecture": "armeabi-v7a", + "clock": 2265.6, + "frequency": "MHz" + }, + "formFactor": "PHONE", + "heapSize": 256000000, + "image": "75B2B7EF6C12345EXAMPLE", + "manufacturer": "LG", + "memory": 16000000000, + "model": "G2 (Sprint)", + "os": "4.2.2", + "platform": "ANDROID", + "resolution": { + "height": 1920, + "width": 1080 + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns information about a specific device.", + "id": "getdevice-example-1470870602173", + "title": "To get information about a device" + } + ], + "GetDevicePool": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "devicePool": { + } + }, + "comments": { + "input": { + "arn": "You can obtain the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about a specific device pool, given a project ARN.", + "id": "getdevicepool-example-1470870873136", + "title": "To get information about a device pool" + } + ], + "GetDevicePoolCompatibility": [ + { + "input": { + "appArn": "arn:aws:devicefarm:us-west-2::app:123-456-EXAMPLE-GUID", + "devicePoolArn": "arn:aws:devicefarm:us-west-2::devicepool:123-456-EXAMPLE-GUID", + "testType": "APPIUM_PYTHON" + }, + "output": { + "compatibleDevices": [ + + ], + "incompatibleDevices": [ + + ] + }, + "comments": { + "input": { + "devicePoolArn": "You can get the device pool ARN by using the list-device-pools CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about the compatibility of a specific device pool, given its ARN.", + "id": "getdevicepoolcompatibility-example-1470925003466", + "title": "To get information about the compatibility of a device pool" + } + ], + "GetJob": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2::job:123-456-EXAMPLE-GUID" + }, + "output": { + "job": { + } + }, + "comments": { + "input": { + "arn": "You can get the job ARN by using the list-jobs CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about a specific job.", + "id": "getjob-example-1470928294268", + "title": "To get information about a job" + } + ], + "GetOfferingStatus": [ + { + "input": { + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "current": { + "D68B3C05-1BA6-4360-BC69-12345EXAMPLE": { + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + } + }, + "nextPeriod": { + "D68B3C05-1BA6-4360-BC69-12345EXAMPLE": { + "effectiveOn": "1472688000", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + } + } + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about Device Farm offerings available to your account.", + "id": "to-get-status-information-about-device-offerings-1472568124402", + "title": "To get status information about device offerings" + } + ], + "GetProject": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE" + }, + "output": { + "project": { + "name": "My Project", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE", + "created": "1472660939.152" + } + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific project.", + "id": "to-get-a-project-1470975038449", + "title": "To get information about a project" + } + ], + "GetRemoteAccessSession": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456" + }, + "output": { + "remoteAccessSession": { + } + }, + "comments": { + "input": { + "arn": "You can get the remote access session ARN by using the list-remote-access-sessions CLI command." + }, + "output": { + } + }, + "description": "The following example gets a specific remote access session.", + "id": "to-get-a-remote-access-session-1471014119414", + "title": "To get a remote access session" + } + ], + "GetRun": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE" + }, + "output": { + "run": { + "name": "My Test Run", + "type": "BUILTIN_EXPLORER", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE", + "billingMethod": "METERED", + "completedJobs": 0, + "counters": { + "errored": 0, + "failed": 0, + "passed": 0, + "skipped": 0, + "stopped": 0, + "total": 0, + "warned": 0 + }, + "created": "1472667509.852", + "deviceMinutes": { + "metered": 0.0, + "total": 0.0, + "unmetered": 0.0 + }, + "platform": "ANDROID", + "result": "PENDING", + "status": "RUNNING", + "totalJobs": 3 + } + }, + "comments": { + "input": { + "arn": "You can get the run ARN by using the list-runs CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific test run.", + "id": "to-get-a-test-run-1471015895657", + "title": "To get information about a test run" + } + ], + "GetSuite": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:suite:EXAMPLE-GUID-123-456" + }, + "output": { + "suite": { + } + }, + "comments": { + "input": { + "arn": "You can get the suite ARN by using the list-suites CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific test suite.", + "id": "to-get-information-about-a-test-suite-1471016525008", + "title": "To get information about a test suite" + } + ], + "GetTest": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:test:EXAMPLE-GUID-123-456" + }, + "output": { + "test": { + } + }, + "comments": { + "input": { + "arn": "You can get the test ARN by using the list-tests CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific test.", + "id": "to-get-information-about-a-specific-test-1471025744238", + "title": "To get information about a specific test" + } + ], + "GetUpload": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:EXAMPLE-GUID-123-456" + }, + "output": { + "upload": { + } + }, + "comments": { + "input": { + "arn": "You can get the test ARN by using the list-uploads CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific upload.", + "id": "to-get-information-about-a-specific-upload-1471025996221", + "title": "To get information about a specific upload" + } + ], + "InstallToRemoteAccessSession": [ + { + "input": { + "appArn": "arn:aws:devicefarm:us-west-2:123456789101:app:EXAMPLE-GUID-123-456", + "remoteAccessSessionArn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456" + }, + "output": { + "appUpload": { + } + }, + "comments": { + "input": { + "remoteAccessSessionArn": "You can get the remote access session ARN by using the list-remote-access-sessions CLI command." + }, + "output": { + } + }, + "description": "The following example installs a specific app to a device in a specific remote access session.", + "id": "to-install-to-a-remote-access-session-1471634453818", + "title": "To install to a remote access session" + } + ], + "ListArtifacts": [ + { + "input": { + "type": "SCREENSHOT", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456" + }, + "comments": { + "input": { + "arn": "Can also be used to list artifacts for a Job, Suite, or Test ARN." + }, + "output": { + } + }, + "description": "The following example lists screenshot artifacts for a specific run.", + "id": "to-list-artifacts-for-a-resource-1471635409527", + "title": "To list artifacts for a resource" + } + ], + "ListDevicePools": [ + { + "input": { + "type": "PRIVATE", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "devicePools": [ + { + "name": "Top Devices", + "arn": "arn:aws:devicefarm:us-west-2::devicepool:082d10e5-d7d7-48a5-ba5c-12345EXAMPLE", + "description": "Top devices", + "rules": [ + { + "value": "[\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\"]", + "attribute": "ARN", + "operator": "IN" + } + ] + }, + { + "name": "My Android Device Pool", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:devicepool:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/bf96e75a-28f6-4e61-b6a7-12345EXAMPLE", + "description": "Samsung Galaxy Android devices", + "rules": [ + { + "value": "[\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\"]", + "attribute": "ARN", + "operator": "IN" + } + ] + } + ] + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about the private device pools in a specific project.", + "id": "to-get-information-about-device-pools-1471635745170", + "title": "To get information about device pools" + } + ], + "ListDevices": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about the available devices in a specific project.", + "id": "to-get-information-about-devices-1471641699344", + "title": "To get information about devices" + } + ], + "ListJobs": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-jobs CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about jobs in a specific project.", + "id": "to-get-information-about-jobs-1471642228071", + "title": "To get information about jobs" + } + ], + "ListOfferingTransactions": [ + { + "input": { + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "offeringTransactions": [ + { + "cost": { + "amount": 0, + "currencyCode": "USD" + }, + "createdOn": "1470021420", + "offeringStatus": { + "type": "RENEW", + "effectiveOn": "1472688000", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 0 + }, + "transactionId": "03728003-d1ea-4851-abd6-12345EXAMPLE" + }, + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "createdOn": "1470021420", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1470021420", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "56820b6e-06bd-473a-8ff8-12345EXAMPLE" + }, + { + "cost": { + "amount": 175, + "currencyCode": "USD" + }, + "createdOn": "1465538520", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1465538520", + "offering": { + "type": "RECURRING", + "description": "Android Unmetered Device Slot", + "id": "8980F81C-00D7-469D-8EC6-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "953ae2c6-d760-4a04-9597-12345EXAMPLE" + }, + { + "cost": { + "amount": 8.07, + "currencyCode": "USD" + }, + "createdOn": "1459344300", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1459344300", + "offering": { + "type": "RECURRING", + "description": "iOS Unmetered Device Slot", + "id": "A53D4D73-A6F6-4B82-A0B0-12345EXAMPLE", + "platform": "IOS" + }, + "quantity": 1 + }, + "transactionId": "2baf9021-ae3e-47f5-ab52-12345EXAMPLE" + } + ] + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about Device Farm offering transactions.", + "id": "to-get-information-about-device-offering-transactions-1472561712315", + "title": "To get information about device offering transactions" + } + ], + "ListOfferings": [ + { + "input": { + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "offerings": [ + { + "type": "RECURRING", + "description": "iOS Unmetered Device Slot", + "id": "A53D4D73-A6F6-4B82-A0B0-12345EXAMPLE", + "platform": "IOS", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + }, + { + "type": "RECURRING", + "description": "Android Unmetered Device Slot", + "id": "8980F81C-00D7-469D-8EC6-12345EXAMPLE", + "platform": "ANDROID", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + }, + { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + }, + { + "type": "RECURRING", + "description": "iOS Remote Access Unmetered Device Slot", + "id": "552B4DAD-A6C9-45C4-94FB-12345EXAMPLE", + "platform": "IOS", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + } + ] + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about available device offerings.", + "id": "to-get-information-about-device-offerings-1472562810999", + "title": "To get information about device offerings" + } + ], + "ListProjects": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:7ad300ed-8183-41a7-bf94-12345EXAMPLE", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "projects": [ + { + "name": "My Test Project", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:project:7ad300ed-8183-41a7-bf94-12345EXAMPLE", + "created": "1453163262.105" + }, + { + "name": "Hello World", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:project:d6b087d9-56db-4e44-b9ec-12345EXAMPLE", + "created": "1470350112.439" + } + ] + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about the specified project in Device Farm.", + "id": "to-get-information-about-a-device-farm-project-1472564014388", + "title": "To get information about a Device Farm project" + } + ], + "ListRemoteAccessSessions": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "remoteAccessSessions": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the session by using the list-sessions CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about a specific Device Farm remote access session.", + "id": "to-get-information-about-a-remote-access-session-1472581144803", + "title": "To get information about a remote access session" + } + ], + "ListRuns": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "runs": [ + { + "name": "My Test Run", + "type": "BUILTIN_EXPLORER", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE", + "billingMethod": "METERED", + "completedJobs": 0, + "counters": { + "errored": 0, + "failed": 0, + "passed": 0, + "skipped": 0, + "stopped": 0, + "total": 0, + "warned": 0 + }, + "created": "1472667509.852", + "deviceMinutes": { + "metered": 0.0, + "total": 0.0, + "unmetered": 0.0 + }, + "platform": "ANDROID", + "result": "PENDING", + "status": "RUNNING", + "totalJobs": 3 + } + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the run by using the list-runs CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about a specific test run.", + "id": "to-get-information-about-test-runs-1472582711069", + "title": "To get information about a test run" + } + ], + "ListSamples": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "samples": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about samples, given a specific Device Farm project.", + "id": "to-get-information-about-samples-1472582847534", + "title": "To get information about samples" + } + ], + "ListSuites": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "suites": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about suites, given a specific Device Farm project.", + "id": "to-get-information-about-suites-1472583038218", + "title": "To get information about suites" + } + ], + "ListTests": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "tests": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about tests, given a specific Device Farm project.", + "id": "to-get-information-about-tests-1472617372212", + "title": "To get information about tests" + } + ], + "ListUniqueProblems": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "uniqueProblems": { + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about unique problems, given a specific Device Farm project.", + "id": "to-get-information-about-unique-problems-1472617781008", + "title": "To get information about unique problems" + } + ], + "ListUploads": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "uploads": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about uploads, given a specific Device Farm project.", + "id": "to-get-information-about-uploads-1472617943090", + "title": "To get information about uploads" + } + ], + "PurchaseOffering": [ + { + "input": { + "offeringId": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "quantity": 1 + }, + "output": { + "offeringTransaction": { + "cost": { + "amount": 8.07, + "currencyCode": "USD" + }, + "createdOn": "1472648340", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1472648340", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "d30614ed-1b03-404c-9893-12345EXAMPLE" + } + }, + "comments": { + "input": { + "offeringId": "You can get the offering ID by using the list-offerings CLI command." + }, + "output": { + } + }, + "description": "The following example purchases a specific device slot offering.", + "id": "to-purchase-a-device-slot-offering-1472648146343", + "title": "To purchase a device slot offering" + } + ], + "RenewOffering": [ + { + "input": { + "offeringId": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "quantity": 1 + }, + "output": { + "offeringTransaction": { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "createdOn": "1472648880", + "offeringStatus": { + "type": "RENEW", + "effectiveOn": "1472688000", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "e90f1405-8c35-4561-be43-12345EXAMPLE" + } + }, + "comments": { + "input": { + "offeringId": "You can get the offering ID by using the list-offerings CLI command." + }, + "output": { + } + }, + "description": "The following example renews a specific device slot offering.", + "id": "to-renew-a-device-slot-offering-1472648899785", + "title": "To renew a device slot offering" + } + ], + "ScheduleRun": [ + { + "input": { + "name": "MyRun", + "devicePoolArn": "arn:aws:devicefarm:us-west-2:123456789101:pool:EXAMPLE-GUID-123-456", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "test": { + "type": "APPIUM_JAVA_JUNIT", + "testPackageArn": "arn:aws:devicefarm:us-west-2:123456789101:test:EXAMPLE-GUID-123-456" + } + }, + "output": { + "run": { + } + }, + "comments": { + "input": { + "devicePoolArn": "You can get the Amazon Resource Name (ARN) of the device pool by using the list-pools CLI command.", + "projectArn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "testPackageArn": "You can get the Amazon Resource Name (ARN) of the test package by using the list-tests CLI command." + }, + "output": { + } + }, + "description": "The following example schedules a test run named MyRun.", + "id": "to-schedule-a-test-run-1472652429636", + "title": "To schedule a test run" + } + ], + "StopRun": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456" + }, + "output": { + "run": { + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the test run by using the list-runs CLI command." + }, + "output": { + } + }, + "description": "The following example stops a specific test run.", + "id": "to-stop-a-test-run-1472653770340", + "title": "To stop a test run" + } + ], + "UpdateDevicePool": [ + { + "input": { + "name": "NewName", + "arn": "arn:aws:devicefarm:us-west-2::devicepool:082d10e5-d7d7-48a5-ba5c-12345EXAMPLE", + "description": "NewDescription", + "rules": [ + { + "value": "True", + "attribute": "REMOTE_ACCESS_ENABLED", + "operator": "EQUALS" + } + ] + }, + "output": { + "devicePool": { + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the device pool by using the list-pools CLI command." + }, + "output": { + "devicePool": "Note: you cannot update curated device pools." + } + }, + "description": "The following example updates the specified device pool with a new name and description. It also enables remote access of devices in the device pool.", + "id": "to-update-a-device-pool-1472653887677", + "title": "To update a device pool" + } + ], + "UpdateProject": [ + { + "input": { + "name": "NewName", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:project:8f75187d-101e-4625-accc-12345EXAMPLE" + }, + "output": { + "project": { + "name": "NewName", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:project:8f75187d-101e-4625-accc-12345EXAMPLE", + "created": "1448400709.927" + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example updates the specified project with a new name.", + "id": "to-update-a-device-pool-1472653887677", + "title": "To update a device pool" + } + ] + } +} diff --git a/botocore/data/devicefarm/2015-06-23/paginators-1.json b/botocore/data/devicefarm/2015-06-23/paginators-1.json index ca744340..55ee7871 100644 --- a/botocore/data/devicefarm/2015-06-23/paginators-1.json +++ b/botocore/data/devicefarm/2015-06-23/paginators-1.json @@ -54,6 +54,24 @@ "input_token": "nextToken", "output_token": "nextToken", "result_key": "uploads" + }, + "GetOfferingStatus": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": [ + "current", + "nextPeriod" + ] + }, + "ListOfferingTransactions": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "offeringTransactions" + }, + "ListOfferings": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "offerings" } } } diff --git a/botocore/data/devicefarm/2015-06-23/service-2.json b/botocore/data/devicefarm/2015-06-23/service-2.json index 091b6616..3ff50b8e 100644 --- a/botocore/data/devicefarm/2015-06-23/service-2.json +++ b/botocore/data/devicefarm/2015-06-23/service-2.json @@ -27,6 +27,22 @@ ], "documentation":"

Creates a device pool.

" }, + "CreateNetworkProfile":{ + "name":"CreateNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNetworkProfileRequest"}, + "output":{"shape":"CreateNetworkProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Creates a network profile.

" + }, "CreateProject":{ "name":"CreateProject", "http":{ @@ -91,6 +107,22 @@ ], "documentation":"

Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system.

" }, + "DeleteNetworkProfile":{ + "name":"DeleteNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNetworkProfileRequest"}, + "output":{"shape":"DeleteNetworkProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Deletes a network profile.

" + }, "DeleteProject":{ "name":"DeleteProject", "http":{ @@ -235,6 +267,22 @@ ], "documentation":"

Gets information about a job.

" }, + "GetNetworkProfile":{ + "name":"GetNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNetworkProfileRequest"}, + "output":{"shape":"GetNetworkProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns information about a network profile.

" + }, "GetOfferingStatus":{ "name":"GetOfferingStatus", "http":{ @@ -428,6 +476,39 @@ ], "documentation":"

Gets information about jobs.

" }, + "ListNetworkProfiles":{ + "name":"ListNetworkProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListNetworkProfilesRequest"}, + "output":{"shape":"ListNetworkProfilesResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns the list of available network profiles.

" + }, + "ListOfferingPromotions":{ + "name":"ListOfferingPromotions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOfferingPromotionsRequest"}, + "output":{"shape":"ListOfferingPromotionsResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"NotEligibleException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns a list of offering promotions. Each offering promotion record contains the ID and description of the promotion. The API returns a NotEligible error if the caller is not permitted to invoke the operation. Contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" + }, "ListOfferingTransactions":{ "name":"ListOfferingTransactions", "http":{ @@ -689,6 +770,22 @@ ], "documentation":"

Modifies the name, description, and rules in a device pool given the attributes and the pool ARN. Rule updates are all-or-nothing, meaning they can only be updated as a whole (or not at all).

" }, + "UpdateNetworkProfile":{ + "name":"UpdateNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNetworkProfileRequest"}, + "output":{"shape":"UpdateNetworkProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Updates the network profile with specific settings.

" + }, "UpdateProject":{ "name":"UpdateProject", "http":{ @@ -726,10 +823,27 @@ "unmeteredRemoteAccessDevices":{ "shape":"PurchasedDevicesMap", "documentation":"

Returns the unmetered remote access devices you have purchased or want to purchase.

" + }, + "maxJobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The maximum number of minutes a test run will execute before it times out.

" + }, + "trialMinutes":{ + "shape":"TrialMinutes", + "documentation":"

Information about an AWS account's usage of free trial device minutes.

" + }, + "maxSlots":{ + "shape":"MaxSlotMap", + "documentation":"

The maximum number of device slots that the AWS account can purchase. Each maximum is expressed as an offering-id:number pair, where the offering-id represents one of the IDs returned by the ListOfferings command.

" + }, + "defaultJobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The default number of minutes (at the account level) a test run will execute before it times out. Default value is 60 minutes.

" } }, "documentation":"

A container for account-level settings within AWS Device Farm.

" }, + "AccountsCleanup":{"type":"boolean"}, "AmazonResourceName":{ "type":"string", "min":32 @@ -738,6 +852,7 @@ "type":"list", "member":{"shape":"AmazonResourceName"} }, + "AppPackagesCleanup":{"type":"boolean"}, "ArgumentException":{ "type":"structure", "members":{ @@ -919,6 +1034,72 @@ }, "documentation":"

Represents the result of a create device pool request.

" }, + "CreateNetworkProfileRequest":{ + "type":"structure", + "required":[ + "projectArn", + "name" + ], + "members":{ + "projectArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to create a network profile.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name you wish to specify for the new network profile.

" + }, + "description":{ + "shape":"Message", + "documentation":"

The description of the network profile.

" + }, + "type":{ + "shape":"NetworkProfileType", + "documentation":"

The type of network profile you wish to create. Valid values are listed below.

" + }, + "uplinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "downlinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "uplinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of transmitted packets that fail to arrive from 0 to 100 percent.

" + }, + "downlinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of received packets that fail to arrive from 0 to 100 percent.

" + } + } + }, + "CreateNetworkProfileResult":{ + "type":"structure", + "members":{ + "networkProfile":{ + "shape":"NetworkProfile", + "documentation":"

The network profile that is returned by the create network profile request.

" + } + } + }, "CreateProjectRequest":{ "type":"structure", "required":["name"], @@ -926,6 +1107,10 @@ "name":{ "shape":"Name", "documentation":"

The project's name.

" + }, + "defaultJobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

Sets the execution timeout value (in minutes) for a project. All test runs in this project will use the specified execution timeout value unless overridden when scheduling a run.

" } }, "documentation":"

Represents a request to the create project operation.

" @@ -1045,6 +1230,21 @@ }, "documentation":"

Represents the result of a delete device pool request.

" }, + "DeleteNetworkProfileRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the network profile you want to delete.

" + } + } + }, + "DeleteNetworkProfileResult":{ + "type":"structure", + "members":{ + } + }, "DeleteProjectRequest":{ "type":"structure", "required":["arn"], @@ -1148,7 +1348,10 @@ "shape":"CPU", "documentation":"

Information about the device's CPU.

" }, - "resolution":{"shape":"Resolution"}, + "resolution":{ + "shape":"Resolution", + "documentation":"

The resolution of the device.

" + }, "heapSize":{ "shape":"Long", "documentation":"

The device's heap size, expressed in bytes.

" @@ -1191,7 +1394,8 @@ "PLATFORM", "FORM_FACTOR", "MANUFACTURER", - "REMOTE_ACCESS_ENABLED" + "REMOTE_ACCESS_ENABLED", + "APPIUM_VERSION" ] }, "DeviceFormFactor":{ @@ -1255,7 +1459,10 @@ "DevicePoolCompatibilityResult":{ "type":"structure", "members":{ - "device":{"shape":"Device"}, + "device":{ + "shape":"Device", + "documentation":"

The device (phone or tablet) that you wish to return information about.

" + }, "compatible":{ "shape":"Boolean", "documentation":"

Whether the result was compatible with the device pool.

" @@ -1287,6 +1494,24 @@ "member":{"shape":"Device"} }, "Double":{"type":"double"}, + "ExecutionConfiguration":{ + "type":"structure", + "members":{ + "jobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The number of minutes a test run will execute before it times out.

" + }, + "accountsCleanup":{ + "shape":"AccountsCleanup", + "documentation":"

True if account cleanup is enabled at the beginning of the test; otherwise, false.

" + }, + "appPackagesCleanup":{ + "shape":"AppPackagesCleanup", + "documentation":"

True if app package cleanup is enabled at the beginning of the test; otherwise, false.

" + } + }, + "documentation":"

Represents configuration information about a test run, such as the execution timeout (in minutes).

" + }, "ExecutionResult":{ "type":"string", "enum":[ @@ -1327,7 +1552,10 @@ "GetAccountSettingsResult":{ "type":"structure", "members":{ - "accountSettings":{"shape":"AccountSettings"} + "accountSettings":{ + "shape":"AccountSettings", + "documentation":"

The account settings.

" + } }, "documentation":"

Represents the account settings return values from the GetAccountSettings request.

" }, @@ -1346,6 +1574,10 @@ "testType":{ "shape":"TestType", "documentation":"

The test type for the specified device pool.

Allowed values include the following:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + }, + "test":{ + "shape":"ScheduleRunTest", + "documentation":"

Information about the uploaded test to be run against the device pool.

" } }, "documentation":"

Represents a request to the get device pool compatibility operation.

" @@ -1378,7 +1610,10 @@ "GetDevicePoolResult":{ "type":"structure", "members":{ - "devicePool":{"shape":"DevicePool"} + "devicePool":{ + "shape":"DevicePool", + "documentation":"

An object containing information about the requested device pool.

" + } }, "documentation":"

Represents the result of a get device pool request.

" }, @@ -1396,7 +1631,10 @@ "GetDeviceResult":{ "type":"structure", "members":{ - "device":{"shape":"Device"} + "device":{ + "shape":"Device", + "documentation":"

An object containing information about the requested device.

" + } }, "documentation":"

Represents the result of a get device request.

" }, @@ -1414,10 +1652,32 @@ "GetJobResult":{ "type":"structure", "members":{ - "job":{"shape":"Job"} + "job":{ + "shape":"Job", + "documentation":"

An object containing information about the requested job.

" + } }, "documentation":"

Represents the result of a get job request.

" }, + "GetNetworkProfileRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the network profile you want to return information about.

" + } + } + }, + "GetNetworkProfileResult":{ + "type":"structure", + "members":{ + "networkProfile":{ + "shape":"NetworkProfile", + "documentation":"

The network profile.

" + } + } + }, "GetOfferingStatusRequest":{ "type":"structure", "members":{ @@ -1460,7 +1720,10 @@ "GetProjectResult":{ "type":"structure", "members":{ - "project":{"shape":"Project"} + "project":{ + "shape":"Project", + "documentation":"

The project you wish to get information about.

" + } }, "documentation":"

Represents the result of a get project request.

" }, @@ -1499,7 +1762,10 @@ "GetRunResult":{ "type":"structure", "members":{ - "run":{"shape":"Run"} + "run":{ + "shape":"Run", + "documentation":"

The run you wish to get results from.

" + } }, "documentation":"

Represents the result of a get run request.

" }, @@ -1517,7 +1783,10 @@ "GetSuiteResult":{ "type":"structure", "members":{ - "suite":{"shape":"Suite"} + "suite":{ + "shape":"Suite", + "documentation":"

A collection of one or more tests.

" + } }, "documentation":"

Represents the result of a get suite request.

" }, @@ -1535,7 +1804,10 @@ "GetTestResult":{ "type":"structure", "members":{ - "test":{"shape":"Test"} + "test":{ + "shape":"Test", + "documentation":"

A test condition that is evaluated.

" + } }, "documentation":"

Represents the result of a get test request.

" }, @@ -1553,7 +1825,10 @@ "GetUploadResult":{ "type":"structure", "members":{ - "upload":{"shape":"Upload"} + "upload":{ + "shape":"Upload", + "documentation":"

An app or a set of one or more tests to upload or that have been uploaded.

" + } }, "documentation":"

Represents the result of a get upload request.

" }, @@ -1577,7 +1852,7 @@ }, "type":{ "shape":"DeviceAttribute", - "documentation":"

The type of incompatibility.

Allowed values include:

  • ARN: The ARN.

  • FORM_FACTOR: The form factor (for example, phone or tablet).

  • MANUFACTURER: The manufacturer.

  • PLATFORM: The platform (for example, Android or iOS).

" + "documentation":"

The type of incompatibility.

Allowed values include:

  • ARN: The ARN.

  • FORM_FACTOR: The form factor (for example, phone or tablet).

  • MANUFACTURER: The manufacturer.

  • PLATFORM: The platform (for example, Android or iOS).

  • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.

  • APPIUM_VERSION: The Appium version for the test.

" } }, "documentation":"

Represents information about incompatibility.

" @@ -1607,7 +1882,10 @@ "InstallToRemoteAccessSessionResult":{ "type":"structure", "members":{ - "appUpload":{"shape":"Upload"} + "appUpload":{ + "shape":"Upload", + "documentation":"

An app to upload or that has been uploaded.

" + } }, "documentation":"

Represents the response from the server after AWS Device Farm makes a request to install to a remote access session.

" }, @@ -1655,7 +1933,10 @@ "shape":"Message", "documentation":"

A message about the job's result.

" }, - "device":{"shape":"Device"}, + "device":{ + "shape":"Device", + "documentation":"

The device (phone or tablet).

" + }, "deviceMinutes":{ "shape":"DeviceMinutes", "documentation":"

Represents the total (metered or unmetered) minutes used by the job.

" @@ -1663,6 +1944,7 @@ }, "documentation":"

Represents a device.

" }, + "JobTimeoutMinutes":{"type":"integer"}, "Jobs":{ "type":"list", "member":{"shape":"Job"} @@ -1804,6 +2086,59 @@ }, "documentation":"

Represents the result of a list jobs request.

" }, + "ListNetworkProfilesRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to list network profiles.

" + }, + "type":{ + "shape":"NetworkProfileType", + "documentation":"

The type of network profile you wish to return information about. Valid values are listed below.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListNetworkProfilesResult":{ + "type":"structure", + "members":{ + "networkProfiles":{ + "shape":"NetworkProfiles", + "documentation":"

A list of the available network profiles.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListOfferingPromotionsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListOfferingPromotionsResult":{ + "type":"structure", + "members":{ + "offeringPromotions":{ + "shape":"OfferingPromotions", + "documentation":"

Information about the offering promotions.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier to be used in the next call to this operation, to return the next set of items in the list.

" + } + } + }, "ListOfferingTransactionsRequest":{ "type":"structure", "members":{ @@ -2102,6 +2437,11 @@ "documentation":"

Represents a latitude and longitude pair, expressed in geographic coordinate system degrees (for example 47.6204, -122.3491).

Elevation is currently not supported.

" }, "Long":{"type":"long"}, + "MaxSlotMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"Integer"} + }, "Message":{ "type":"string", "max":16384, @@ -2131,6 +2471,71 @@ "max":256, "min":0 }, + "NetworkProfile":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the network profile.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the network profile.

" + }, + "description":{ + "shape":"Message", + "documentation":"

The description of the network profile.

" + }, + "type":{ + "shape":"NetworkProfileType", + "documentation":"

The type of network profile. Valid values are listed below.

" + }, + "uplinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "downlinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "uplinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of transmitted packets that fail to arrive from 0 to 100 percent.

" + }, + "downlinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of received packets that fail to arrive from 0 to 100 percent.

" + } + }, + "documentation":"

An array of settings that describes characteristics of a network profile.

" + }, + "NetworkProfileType":{ + "type":"string", + "enum":[ + "CURATED", + "PRIVATE" + ] + }, + "NetworkProfiles":{ + "type":"list", + "member":{"shape":"NetworkProfile"} + }, "NotEligibleException":{ "type":"structure", "members":{ @@ -2183,6 +2588,28 @@ "type":"string", "min":32 }, + "OfferingPromotion":{ + "type":"structure", + "members":{ + "id":{ + "shape":"OfferingPromotionIdentifier", + "documentation":"

The ID of the offering promotion.

" + }, + "description":{ + "shape":"Message", + "documentation":"

A string describing the offering promotion.

" + } + }, + "documentation":"

Represents information about an offering promotion.

" + }, + "OfferingPromotionIdentifier":{ + "type":"string", + "min":4 + }, + "OfferingPromotions":{ + "type":"list", + "member":{"shape":"OfferingPromotion"} + }, "OfferingStatus":{ "type":"structure", "members":{ @@ -2221,6 +2648,10 @@ "shape":"TransactionIdentifier", "documentation":"

The transaction ID of the offering transaction.

" }, + "offeringPromotionId":{ + "shape":"OfferingPromotionIdentifier", + "documentation":"

The ID that corresponds to a device offering promotion.

" + }, "createdOn":{ "shape":"DateTime", "documentation":"

The date on which an offering transaction was created.

" @@ -2257,6 +2688,11 @@ "max":1024, "min":4 }, + "PercentInteger":{ + "type":"integer", + "max":100, + "min":0 + }, "Problem":{ "type":"structure", "members":{ @@ -2320,6 +2756,10 @@ "shape":"Name", "documentation":"

The project's name.

" }, + "defaultJobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The default number of minutes (at the project level) a test run will execute before it times out. Default value is 60 minutes.

" + }, "created":{ "shape":"DateTime", "documentation":"

When the project was created.

" @@ -2341,6 +2781,10 @@ "quantity":{ "shape":"Integer", "documentation":"

The number of device slots you wish to purchase in an offering request.

" + }, + "offeringPromotionId":{ + "shape":"OfferingPromotionIdentifier", + "documentation":"

The ID of the offering promotion to be applied to the purchase.

" } }, "documentation":"

Represents a request for a purchase offering.

" @@ -2439,12 +2883,18 @@ "shape":"DateTime", "documentation":"

The date and time the remote access session was stopped.

" }, - "device":{"shape":"Device"}, + "device":{ + "shape":"Device", + "documentation":"

The device (phone or tablet) used in the remote access session.

" + }, "billingMethod":{ "shape":"BillingMethod", "documentation":"

The billing method of the remote access session. Possible values include METERED or UNMETERED. For more information about metered devices, see AWS Device Farm terminology.\"

" }, - "deviceMinutes":{"shape":"DeviceMinutes"}, + "deviceMinutes":{ + "shape":"DeviceMinutes", + "documentation":"

The number of minutes a device is used in a remote access sesssion (including setup and teardown minutes).

" + }, "endpoint":{ "shape":"String", "documentation":"

The endpoint for the remote access sesssion.

" @@ -2499,11 +2949,11 @@ "members":{ "attribute":{ "shape":"DeviceAttribute", - "documentation":"

The rule's stringified attribute. For example, specify the value as \"\\\"abc\\\"\".

Allowed values include:

  • ARN: The ARN.

  • FORM_FACTOR: The form factor (for example, phone or tablet).

  • MANUFACTURER: The manufacturer.

  • PLATFORM: The platform (for example, Android or iOS).

" + "documentation":"

The rule's stringified attribute. For example, specify the value as \"\\\"abc\\\"\".

Allowed values include:

  • ARN: The ARN.

  • FORM_FACTOR: The form factor (for example, phone or tablet).

  • MANUFACTURER: The manufacturer.

  • PLATFORM: The platform (for example, Android or iOS).

  • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.

  • APPIUM_VERSION: The Appium version for the test.

" }, "operator":{ "shape":"RuleOperator", - "documentation":"

The rule's operator.

  • EQUALS: The equals operator.

  • GREATER_THAN: The greater-than operator.

  • IN: The in operator.

  • LESS_THAN: The less-than operator.

  • NOT_IN: The not-in operator.

" + "documentation":"

The rule's operator.

  • EQUALS: The equals operator.

  • GREATER_THAN: The greater-than operator.

  • IN: The in operator.

  • LESS_THAN: The less-than operator.

  • NOT_IN: The not-in operator.

  • CONTAINS: The contains operator.

" }, "value":{ "shape":"String", @@ -2519,7 +2969,8 @@ "LESS_THAN", "GREATER_THAN", "IN", - "NOT_IN" + "NOT_IN", + "CONTAINS" ] }, "Rules":{ @@ -2588,6 +3039,10 @@ "deviceMinutes":{ "shape":"DeviceMinutes", "documentation":"

Represents the total (metered or unmetered) minutes used by the test run.

" + }, + "networkProfile":{ + "shape":"NetworkProfile", + "documentation":"

The network profile being used for a test run.

" } }, "documentation":"

Represents an app on a set of devices with a specific test and configuration.

" @@ -2705,6 +3160,10 @@ "configuration":{ "shape":"ScheduleRunConfiguration", "documentation":"

Information about the settings for the run to be scheduled.

" + }, + "executionConfiguration":{ + "shape":"ExecutionConfiguration", + "documentation":"

Specifies configuration information about a test run, such as the execution timeout (in minutes).

" } }, "documentation":"

Represents a request to the schedule run operation.

" @@ -2737,7 +3196,7 @@ }, "parameters":{ "shape":"TestParameters", - "documentation":"

The test's parameters, such as test framework parameters and fixture settings.

" + "documentation":"

The test's parameters, such as the following test framework parameters and fixture settings:

For Calabash tests:

  • profile: A cucumber profile, for example, \"my_profile_name\".

  • tags: You can limit execution to features or scenarios that have (or don't have) certain tags, for example, \"@smoke\" or \"@smoke,~@wip\".

For Appium tests (all types):

  • appium_version: The Appium version. Currently supported values are \"1.4.16\", \"1.6.3\", \"latest\", and \"default\".

    • “latest” will run the latest Appium version supported by Device Farm (1.6.3).

    • For “default”, Device Farm will choose a compatible version of Appium for the device. The current behavior is to run 1.4.16 on Android devices and iOS 9 and earlier, 1.6.3 for iOS 10 and later.

    • This behavior is subject to change.

For Fuzz tests (Android only):

  • event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.

  • throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.

  • seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.

For Explorer tests:

  • username: A username to use if the Explorer encounters a login form. If not supplied, no username will be inserted.

  • password: A password to use if the Explorer encounters a login form. If not supplied, no password will be inserted.

For Instrumentation:

  • filter: A test filter string. Examples:

    • Running a single test case: \"com.android.abc.Test1\"

    • Running a single test: \"com.android.abc.Test1#smoke\"

    • Running multiple tests: \"com.android.abc.Test1,com.android.abc.Test2\"

For XCTest and XCTestUI:

  • filter: A test filter string. Examples:

    • Running a single test class: \"LoginTests\"

    • Running a multiple test classes: \"LoginTests,SmokeTests\"

    • Running a single test: \"LoginTests/testValid\"

    • Running multiple tests: \"LoginTests/testValid,LoginTests/testInvalid\"

For UIAutomator:

  • filter: A test filter string. Examples:

    • Running a single test case: \"com.android.abc.Test1\"

    • Running a single test: \"com.android.abc.Test1#smoke\"

    • Running multiple tests: \"com.android.abc.Test1,com.android.abc.Test2\"

" } }, "documentation":"

Represents additional test settings.

" @@ -2788,7 +3247,10 @@ "StopRunResult":{ "type":"structure", "members":{ - "run":{"shape":"Run"} + "run":{ + "shape":"Run", + "documentation":"

The run that was stopped.

" + } }, "documentation":"

Represents the results of your stop run attempt.

" }, @@ -2929,6 +3391,20 @@ "type":"string", "min":32 }, + "TrialMinutes":{ + "type":"structure", + "members":{ + "total":{ + "shape":"Double", + "documentation":"

The total number of free trial minutes that the account started with.

" + }, + "remaining":{ + "shape":"Double", + "documentation":"

The number of free trial minutes remaining in the account.

" + } + }, + "documentation":"

Represents information about free trial device minutes for an AWS account.

" + }, "URL":{ "type":"string", "max":2048, @@ -2983,10 +3459,76 @@ "UpdateDevicePoolResult":{ "type":"structure", "members":{ - "devicePool":{"shape":"DevicePool"} + "devicePool":{ + "shape":"DevicePool", + "documentation":"

The device pool you just updated.

" + } }, "documentation":"

Represents the result of an update device pool request.

" }, + "UpdateNetworkProfileRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the project that you wish to update network profile settings.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the network profile about which you are returning information.

" + }, + "description":{ + "shape":"Message", + "documentation":"

The descriptoin of the network profile about which you are returning information.

" + }, + "type":{ + "shape":"NetworkProfileType", + "documentation":"

The type of network profile you wish to return information about. Valid values are listed below.

" + }, + "uplinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "downlinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "uplinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of transmitted packets that fail to arrive from 0 to 100 percent.

" + }, + "downlinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of received packets that fail to arrive from 0 to 100 percent.

" + } + } + }, + "UpdateNetworkProfileResult":{ + "type":"structure", + "members":{ + "networkProfile":{ + "shape":"NetworkProfile", + "documentation":"

A list of the available network profiles.

" + } + } + }, "UpdateProjectRequest":{ "type":"structure", "required":["arn"], @@ -2998,6 +3540,10 @@ "name":{ "shape":"Name", "documentation":"

A string representing the new name of the project that you are updating.

" + }, + "defaultJobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The number of minutes a test run in the project will execute before it times out.

" } }, "documentation":"

Represents a request to the update project operation.

" @@ -3005,7 +3551,10 @@ "UpdateProjectResult":{ "type":"structure", "members":{ - "project":{"shape":"Project"} + "project":{ + "shape":"Project", + "documentation":"

The project you wish to update.

" + } }, "documentation":"

Represents the result of an update project request.

" }, diff --git a/botocore/data/directconnect/2012-10-25/examples-1.json b/botocore/data/directconnect/2012-10-25/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/directconnect/2012-10-25/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/directconnect/2012-10-25/paginators-1.json b/botocore/data/directconnect/2012-10-25/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/directconnect/2012-10-25/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/directconnect/2012-10-25/service-2.json b/botocore/data/directconnect/2012-10-25/service-2.json index e8cc8478..81bf2a11 100644 --- a/botocore/data/directconnect/2012-10-25/service-2.json +++ b/botocore/data/directconnect/2012-10-25/service-2.json @@ -23,7 +23,22 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates a hosted connection on an interconnect.

Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the given interconnect.

This is intended for use by AWS Direct Connect partners only.

" + "documentation":"

Deprecated in favor of AllocateHostedConnection.

Creates a hosted connection on an interconnect.

Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the given interconnect.

This is intended for use by AWS Direct Connect partners only.

", + "deprecated":true + }, + "AllocateHostedConnection":{ + "name":"AllocateHostedConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AllocateHostedConnectionRequest"}, + "output":{"shape":"Connection"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates a hosted connection on an interconnect or a link aggregation group (LAG).

Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the given interconnect or LAG.

This is intended for use by AWS Direct Connect partners only.

" }, "AllocatePrivateVirtualInterface":{ "name":"AllocatePrivateVirtualInterface", @@ -37,7 +52,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Provisions a private virtual interface to be owned by a different customer.

The owner of a connection calls this function to provision a private virtual interface which will be owned by another AWS customer.

Virtual interfaces created using this function must be confirmed by the virtual interface owner by calling ConfirmPrivateVirtualInterface. Until this step has been completed, the virtual interface will be in 'Confirming' state, and will not be available for handling traffic.

" + "documentation":"

Provisions a private virtual interface to be owned by another AWS customer.

Virtual interfaces created using this action must be confirmed by the virtual interface owner by using the ConfirmPrivateVirtualInterface action. Until then, the virtual interface will be in 'Confirming' state, and will not be available for handling traffic.

" }, "AllocatePublicVirtualInterface":{ "name":"AllocatePublicVirtualInterface", @@ -53,6 +68,48 @@ ], "documentation":"

Provisions a public virtual interface to be owned by a different customer.

The owner of a connection calls this function to provision a public virtual interface which will be owned by another AWS customer.

Virtual interfaces created using this function must be confirmed by the virtual interface owner by calling ConfirmPublicVirtualInterface. Until this step has been completed, the virtual interface will be in 'Confirming' state, and will not be available for handling traffic.

When creating an IPv6 public virtual interface (addressFamily is 'ipv6'), the customer and amazon address fields should be left blank to use auto-assigned IPv6 space. Custom IPv6 Addresses are currently not supported.

" }, + "AssociateConnectionWithLag":{ + "name":"AssociateConnectionWithLag", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateConnectionWithLagRequest"}, + "output":{"shape":"Connection"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Associates an existing connection with a link aggregation group (LAG). The connection is interrupted and re-established as a member of the LAG (connectivity to AWS will be interrupted). The connection must be hosted on the same AWS Direct Connect endpoint as the LAG, and its bandwidth must match the bandwidth for the LAG. You can reassociate a connection that's currently associated with a different LAG; however, if removing the connection will cause the original LAG to fall below its setting for minimum number of operational connections, the request fails.

Any virtual interfaces that are directly associated with the connection are automatically re-associated with the LAG. If the connection was originally associated with a different LAG, the virtual interfaces remain associated with the original LAG.

For interconnects, any hosted connections are automatically re-associated with the LAG. If the interconnect was originally associated with a different LAG, the hosted connections remain associated with the original LAG.

" + }, + "AssociateHostedConnection":{ + "name":"AssociateHostedConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateHostedConnectionRequest"}, + "output":{"shape":"Connection"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Associates a hosted connection and its virtual interfaces with a link aggregation group (LAG) or interconnect. If the target interconnect or LAG has an existing hosted connection with a conflicting VLAN number or IP address, the operation fails. This action temporarily interrupts the hosted connection's connectivity to AWS as it is being migrated.

This is intended for use by AWS Direct Connect partners only.

" + }, + "AssociateVirtualInterface":{ + "name":"AssociateVirtualInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateVirtualInterfaceRequest"}, + "output":{"shape":"VirtualInterface"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Associates a virtual interface with a specified link aggregation group (LAG) or connection. Connectivity to AWS is temporarily interrupted as the virtual interface is being migrated. If the target connection or LAG has an associated virtual interface with a conflicting VLAN number or a conflicting IP address, the operation fails.

Virtual interfaces associated with a hosted connection cannot be associated with a LAG; hosted connections must be migrated along with their virtual interfaces using AssociateHostedConnection.

Hosted virtual interfaces (an interface for which the owner of the connection is not the owner of physical connection) can only be reassociated by the owner of the physical connection.

" + }, "ConfirmConnection":{ "name":"ConfirmConnection", "http":{ @@ -121,7 +178,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates a new connection between the customer network and a specific AWS Direct Connect location.

A connection links your internal network to an AWS Direct Connect location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router. An AWS Direct Connect location provides access to Amazon Web Services in the region it is associated with. You can establish connections with AWS Direct Connect locations in multiple regions, but a connection in one region does not provide connectivity to other regions.

" + "documentation":"

Creates a new connection between the customer network and a specific AWS Direct Connect location.

A connection links your internal network to an AWS Direct Connect location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router. An AWS Direct Connect location provides access to Amazon Web Services in the region it is associated with. You can establish connections with AWS Direct Connect locations in multiple regions, but a connection in one region does not provide connectivity to other regions.

You can automatically add the new connection to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new connection is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no connection will be created.

" }, "CreateInterconnect":{ "name":"CreateInterconnect", @@ -135,7 +192,21 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates a new interconnect between a AWS Direct Connect partner's network and a specific AWS Direct Connect location.

An interconnect is a connection which is capable of hosting other connections. The AWS Direct Connect partner can use an interconnect to provide sub-1Gbps AWS Direct Connect service to tier 2 customers who do not have their own connections. Like a standard connection, an interconnect links the AWS Direct Connect partner's network to an AWS Direct Connect location over a standard 1 Gbps or 10 Gbps Ethernet fiber-optic cable. One end is connected to the partner's router, the other to an AWS Direct Connect router.

For each end customer, the AWS Direct Connect partner provisions a connection on their interconnect by calling AllocateConnectionOnInterconnect. The end customer can then connect to AWS resources by creating a virtual interface on their connection, using the VLAN assigned to them by the AWS Direct Connect partner.

This is intended for use by AWS Direct Connect partners only.

" + "documentation":"

Creates a new interconnect between a AWS Direct Connect partner's network and a specific AWS Direct Connect location.

An interconnect is a connection which is capable of hosting other connections. The AWS Direct Connect partner can use an interconnect to provide sub-1Gbps AWS Direct Connect service to tier 2 customers who do not have their own connections. Like a standard connection, an interconnect links the AWS Direct Connect partner's network to an AWS Direct Connect location over a standard 1 Gbps or 10 Gbps Ethernet fiber-optic cable. One end is connected to the partner's router, the other to an AWS Direct Connect router.

You can automatically add the new interconnect to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new interconnect is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no interconnect will be created.

For each end customer, the AWS Direct Connect partner provisions a connection on their interconnect by calling AllocateConnectionOnInterconnect. The end customer can then connect to AWS resources by creating a virtual interface on their connection, using the VLAN assigned to them by the AWS Direct Connect partner.

This is intended for use by AWS Direct Connect partners only.

" + }, + "CreateLag":{ + "name":"CreateLag", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLagRequest"}, + "output":{"shape":"Lag"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates a new link aggregation group (LAG) with the specified number of bundled physical connections between the customer network and a specific AWS Direct Connect location. A LAG is a logical interface that uses the Link Aggregation Control Protocol (LACP) to aggregate multiple 1 gigabit or 10 gigabit interfaces, allowing you to treat them as a single interface.

All connections in a LAG must use the same bandwidth (for example, 10 Gbps), and must terminate at the same AWS Direct Connect endpoint.

You can have up to 10 connections per LAG. Regardless of this limit, if you request more connections for the LAG than AWS Direct Connect can allocate on a single endpoint, no LAG is created.

You can specify an existing physical connection or interconnect to include in the LAG (which counts towards the total number of connections). Doing so interrupts the current physical connection or hosted connections, and re-establishes them as a member of the LAG. The LAG will be created on the same AWS Direct Connect endpoint to which the connection terminates. Any virtual interfaces associated with the connection are automatically disassociated and re-associated with the LAG. The connection ID does not change.

If the AWS account used to create a LAG is a registered AWS Direct Connect partner, the LAG is automatically enabled to host sub-connections. For a LAG owned by a partner, any associated virtual interfaces cannot be directly configured.

" }, "CreatePrivateVirtualInterface":{ "name":"CreatePrivateVirtualInterface", @@ -207,6 +278,20 @@ ], "documentation":"

Deletes the specified interconnect.

This is intended for use by AWS Direct Connect partners only.

" }, + "DeleteLag":{ + "name":"DeleteLag", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLagRequest"}, + "output":{"shape":"Lag"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Deletes a link aggregation group (LAG). You cannot delete a LAG if it has active virtual interfaces or hosted connections.

" + }, "DeleteVirtualInterface":{ "name":"DeleteVirtualInterface", "http":{ @@ -233,7 +318,8 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Returns the LOA-CFA for a Connection.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that your APN partner or service provider uses when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect user guide.

" + "documentation":"

Deprecated in favor of DescribeLoa.

Returns the LOA-CFA for a Connection.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that your APN partner or service provider uses when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect user guide.

", + "deprecated":true }, "DescribeConnections":{ "name":"DescribeConnections", @@ -261,7 +347,22 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Return a list of connections that have been provisioned on the given interconnect.

This is intended for use by AWS Direct Connect partners only.

" + "documentation":"

Deprecated in favor of DescribeHostedConnections.

Returns a list of connections that have been provisioned on the given interconnect.

This is intended for use by AWS Direct Connect partners only.

", + "deprecated":true + }, + "DescribeHostedConnections":{ + "name":"DescribeHostedConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHostedConnectionsRequest"}, + "output":{"shape":"Connections"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Returns a list of hosted connections that have been provisioned on the given interconnect or link aggregation group (LAG).

This is intended for use by AWS Direct Connect partners only.

" }, "DescribeInterconnectLoa":{ "name":"DescribeInterconnectLoa", @@ -275,7 +376,8 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Returns the LOA-CFA for an Interconnect.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect user guide.

" + "documentation":"

Deprecated in favor of DescribeLoa.

Returns the LOA-CFA for an Interconnect.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect user guide.

", + "deprecated":true }, "DescribeInterconnects":{ "name":"DescribeInterconnects", @@ -291,6 +393,34 @@ ], "documentation":"

Returns a list of interconnects owned by the AWS account.

If an interconnect ID is provided, it will only return this particular interconnect.

" }, + "DescribeLags":{ + "name":"DescribeLags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLagsRequest"}, + "output":{"shape":"Lags"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Describes the link aggregation groups (LAGs) in your account.

If a LAG ID is provided, only information about the specified LAG is returned.

" + }, + "DescribeLoa":{ + "name":"DescribeLoa", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLoaRequest"}, + "output":{"shape":"Loa"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Returns the LOA-CFA for a connection, interconnect, or link aggregation group (LAG).

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect user guide.

" + }, "DescribeLocations":{ "name":"DescribeLocations", "http":{ @@ -343,7 +473,21 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Displays all virtual interfaces for an AWS account. Virtual interfaces deleted fewer than 15 minutes before DescribeVirtualInterfaces is called are also returned. If a connection ID is included then only virtual interfaces associated with this connection will be returned. If a virtual interface ID is included then only a single virtual interface will be returned.

A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer.

If a connection ID is provided, only virtual interfaces provisioned on the specified connection will be returned. If a virtual interface ID is provided, only this particular virtual interface will be returned.

" + "documentation":"

Displays all virtual interfaces for an AWS account. Virtual interfaces deleted fewer than 15 minutes before you make the request are also returned. If you specify a connection ID, only the virtual interfaces associated with the connection are returned. If you specify a virtual interface ID, then only a single virtual interface is returned.

A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer.

" + }, + "DisassociateConnectionFromLag":{ + "name":"DisassociateConnectionFromLag", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateConnectionFromLagRequest"}, + "output":{"shape":"Connection"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Disassociates a connection from a link aggregation group (LAG). The connection is interrupted and re-established as a standalone connection (the connection is not deleted; to delete the connection, use the DeleteConnection request). If the LAG has associated virtual interfaces or hosted connections, they remain associated with the LAG. A disassociated connection owned by an AWS Direct Connect partner is automatically converted to an interconnect.

If disassociating the connection will cause the LAG to fall below its setting for minimum number of operational connections, the request fails, except when it's the last member of the LAG. If all connections are disassociated, the LAG continues to exist as an empty LAG with no physical connections.

" }, "TagResource":{ "name":"TagResource", @@ -374,12 +518,26 @@ {"shape":"DirectConnectClientException"} ], "documentation":"

Removes one or more tags from the specified Direct Connect resource.

" + }, + "UpdateLag":{ + "name":"UpdateLag", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateLagRequest"}, + "output":{"shape":"Lag"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Updates the attributes of a link aggregation group (LAG).

You can update the following attributes:

  • The name of the LAG.

  • The value for the minimum number of connections that must be operational for the LAG itself to be operational.

When you create a LAG, the default value for the minimum number of operational connections is zero (0). If you update this value, and the number of operational connections falls below the specified value, the LAG will automatically go down to avoid overutilization of the remaining connections. Adjusting this value should be done with care as it could force the LAG down if the value is set higher than the current number of operational connections.

" } }, "shapes":{ "ASN":{ "type":"integer", - "documentation":"

Autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

Example: 65000

" + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

Example: 65000

" }, "AddressFamily":{ "type":"string", @@ -401,7 +559,7 @@ "members":{ "bandwidth":{ "shape":"Bandwidth", - "documentation":"

Bandwidth of the connection.

Example: \"500Mbps\"

Default: None

Values: 50M, 100M, 200M, 300M, 400M, or 500M

" + "documentation":"

Bandwidth of the connection.

Example: \"500Mbps\"

Default: None

Values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, or 500Mbps

" }, "connectionName":{ "shape":"ConnectionName", @@ -422,6 +580,39 @@ }, "documentation":"

Container for the parameters to the AllocateConnectionOnInterconnect operation.

" }, + "AllocateHostedConnectionRequest":{ + "type":"structure", + "required":[ + "connectionId", + "ownerAccount", + "bandwidth", + "connectionName", + "vlan" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the interconnect or LAG on which the connection will be provisioned.

Example: dxcon-456abc78 or dxlag-abc123

Default: None

" + }, + "ownerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The numeric account ID of the customer for whom the connection will be provisioned.

Example: 123443215678

Default: None

" + }, + "bandwidth":{ + "shape":"Bandwidth", + "documentation":"

The bandwidth of the connection.

Example: 500Mbps

Default: None

Values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, or 500Mbps

" + }, + "connectionName":{ + "shape":"ConnectionName", + "documentation":"

The name of the provisioned connection.

Example: \"500M Connection to AWS\"

Default: None

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The dedicated VLAN provisioned to the hosted connection.

Example: 101

Default: None

" + } + }, + "documentation":"

Container for the parameters to theHostedConnection operation.

" + }, "AllocatePrivateVirtualInterfaceRequest":{ "type":"structure", "required":[ @@ -472,9 +663,67 @@ "type":"string", "documentation":"

IP address assigned to the Amazon interface.

Example: 192.168.1.1/30 or 2001:db8::1/125

" }, + "AssociateConnectionWithLagRequest":{ + "type":"structure", + "required":[ + "connectionId", + "lagId" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

Example: dxcon-abc123

Default: None

" + }, + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG with which to associate the connection.

Example: dxlag-abc123

Default: None

" + } + }, + "documentation":"

Container for the parameters to the AssociateConnectionWithLag operation.

" + }, + "AssociateHostedConnectionRequest":{ + "type":"structure", + "required":[ + "connectionId", + "parentConnectionId" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the hosted connection.

Example: dxcon-abc123

Default: None

" + }, + "parentConnectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the interconnect or the LAG.

Example: dxcon-abc123 or dxlag-abc123

Default: None

" + } + }, + "documentation":"

Container for the parameters to the AssociateHostedConnection operation.

" + }, + "AssociateVirtualInterfaceRequest":{ + "type":"structure", + "required":[ + "virtualInterfaceId", + "connectionId" + ], + "members":{ + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

Example: dxvif-123dfg56

Default: None

" + }, + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the LAG or connection with which to associate the virtual interface.

Example: dxlag-abc123 or dxcon-abc123

Default: None

" + } + }, + "documentation":"

Container for the parameters to the AssociateVirtualInterface operation.

" + }, + "AwsDevice":{ + "type":"string", + "documentation":"

An abstract ID for the physical Direct Connect endpoint.

Example: EQC50-abcdef123456

" + }, "BGPAuthKey":{ "type":"string", - "documentation":"

Authentication key for BGP configuration.

Example: asdf34example

" + "documentation":"

The authentication key for BGP configuration.

Example: asdf34example

" }, "BGPPeer":{ "type":"structure", @@ -517,6 +766,7 @@ "type":"string", "documentation":"

Bandwidth of the connection.

Example: 1Gbps

Default: None

" }, + "BooleanFlag":{"type":"boolean"}, "CIDR":{"type":"string"}, "ConfirmConnectionRequest":{ "type":"structure", @@ -593,14 +843,19 @@ }, "loaIssueTime":{ "shape":"LoaIssueTime", - "documentation":"

The time of the most recent call to DescribeConnectionLoa for this Connection.

" + "documentation":"

The time of the most recent call to DescribeLoa for this connection.

" + }, + "lagId":{"shape":"LagId"}, + "awsDevice":{ + "shape":"AwsDevice", + "documentation":"

The Direct Connection endpoint which the physical connection terminates on.

" } }, "documentation":"

A connection represents the physical network connection between the AWS Direct Connect location and the customer.

" }, "ConnectionId":{ "type":"string", - "documentation":"

ID of the connection.

Example: dxcon-fg5678gh

Default: None

" + "documentation":"

The ID of the connection. This field is also used as the ID type for operations that use multiple connection types (LAG, interconnect, and/or connection).

Example: dxcon-fg5678gh

Default: None

" }, "ConnectionList":{ "type":"list", @@ -635,6 +890,7 @@ }, "documentation":"

A structure containing a list of connections.

" }, + "Count":{"type":"integer"}, "CreateBGPPeerRequest":{ "type":"structure", "members":{ @@ -666,7 +922,8 @@ "members":{ "location":{"shape":"LocationCode"}, "bandwidth":{"shape":"Bandwidth"}, - "connectionName":{"shape":"ConnectionName"} + "connectionName":{"shape":"ConnectionName"}, + "lagId":{"shape":"LagId"} }, "documentation":"

Container for the parameters to the CreateConnection operation.

" }, @@ -689,10 +946,43 @@ "location":{ "shape":"LocationCode", "documentation":"

Where the interconnect is located

Example: EqSV5

Default: None

" - } + }, + "lagId":{"shape":"LagId"} }, "documentation":"

Container for the parameters to the CreateInterconnect operation.

" }, + "CreateLagRequest":{ + "type":"structure", + "required":[ + "numberOfConnections", + "location", + "connectionsBandwidth", + "lagName" + ], + "members":{ + "numberOfConnections":{ + "shape":"Count", + "documentation":"

The number of physical connections initially provisioned and bundled by the LAG.

Default: None

" + }, + "location":{ + "shape":"LocationCode", + "documentation":"

The AWS Direct Connect location in which the LAG should be allocated.

Example: EqSV5

Default: None

" + }, + "connectionsBandwidth":{ + "shape":"Bandwidth", + "documentation":"

The bandwidth of the individual physical connections bundled by the LAG.

Default: None

Available values: 1Gbps, 10Gbps

" + }, + "lagName":{ + "shape":"LagName", + "documentation":"

The name of the LAG.

Example: \"3x10G LAG to AWS\"

Default: None

" + }, + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of an existing connection to migrate to the LAG.

Default: None

" + } + }, + "documentation":"

Container for the parameters to the CreateLag operation.

" + }, "CreatePrivateVirtualInterfaceRequest":{ "type":"structure", "required":[ @@ -769,6 +1059,17 @@ }, "documentation":"

The response received when DeleteInterconnect is called.

" }, + "DeleteLagRequest":{ + "type":"structure", + "required":["lagId"], + "members":{ + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG to delete.

Example: dxlag-abc123

Default: None

" + } + }, + "documentation":"

Container for the parameters to the DeleteLag operation.

" + }, "DeleteVirtualInterfaceRequest":{ "type":"structure", "required":["virtualInterfaceId"], @@ -822,6 +1123,17 @@ }, "documentation":"

Container for the parameters to the DescribeConnections operation.

" }, + "DescribeHostedConnectionsRequest":{ + "type":"structure", + "required":["connectionId"], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the interconnect or LAG on which the hosted connections are provisioned.

Example: dxcon-abc123 or dxlag-abc123

Default: None

" + } + }, + "documentation":"

Container for the parameters to the DescribeHostedConnections operation.

" + }, "DescribeInterconnectLoaRequest":{ "type":"structure", "required":["interconnectId"], @@ -849,6 +1161,35 @@ }, "documentation":"

Container for the parameters to the DescribeInterconnects operation.

" }, + "DescribeLagsRequest":{ + "type":"structure", + "members":{ + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

Example: dxlag-abc123

Default: None

" + } + }, + "documentation":"

Container for the parameters to the DescribeLags operation.

" + }, + "DescribeLoaRequest":{ + "type":"structure", + "required":["connectionId"], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of a connection, LAG, or interconnect for which to get the LOA-CFA information.

Example: dxcon-abc123 or dxlag-abc123

Default: None

" + }, + "providerName":{ + "shape":"ProviderName", + "documentation":"

The name of the service provider who establishes connectivity on your behalf. If you supply this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.

Default: None

" + }, + "loaContentType":{ + "shape":"LoaContentType", + "documentation":"

A standard media type indicating the content type of the LOA-CFA document. Currently, the only supported value is \"application/pdf\".

Default: application/pdf

" + } + }, + "documentation":"

Container for the parameters to the DescribeLoa operation.

" + }, "DescribeTagsRequest":{ "type":"structure", "required":["resourceArns"], @@ -900,6 +1241,24 @@ "documentation":"

A server-side error occurred during the API call. The error message will contain additional details about the cause.

", "exception":true }, + "DisassociateConnectionFromLagRequest":{ + "type":"structure", + "required":[ + "connectionId", + "lagId" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection to disassociate from the LAG.

Example: dxcon-abc123

Default: None

" + }, + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

Example: dxlag-abc123

Default: None

" + } + }, + "documentation":"

Container for the parameters to the DisassociateConnectionFromLag operation.

" + }, "DuplicateTagKeysException":{ "type":"structure", "members":{ @@ -920,6 +1279,11 @@ "loaIssueTime":{ "shape":"LoaIssueTime", "documentation":"

The time of the most recent call to DescribeInterconnectLoa for this Interconnect.

" + }, + "lagId":{"shape":"LagId"}, + "awsDevice":{ + "shape":"AwsDevice", + "documentation":"

The Direct Connection endpoint which the physical connection terminates on.

" } }, "documentation":"

An interconnect is a connection that can host other connections.

Like a standard AWS Direct Connect connection, an interconnect represents the physical connection between an AWS Direct Connect partner's network and a specific Direct Connect location. An AWS Direct Connect partner who owns an interconnect can provision hosted connections on the interconnect for their end customers, thereby providing the end customers with connectivity to AWS services.

The resources of the interconnect, including bandwidth and VLAN numbers, are shared by all of the hosted connections on the interconnect, and the owner of the interconnect determines how these resources are assigned.

" @@ -939,7 +1303,7 @@ }, "InterconnectState":{ "type":"string", - "documentation":"

State of the interconnect.

  • Requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • Pending>: The interconnect has been approved, and is being initialized.

  • Available: The network link is up, and the interconnect is ready for use.

  • Down: The network link is down.

  • Deleting: The interconnect is in the process of being deleted.

  • Deleted: The interconnect has been deleted.

", + "documentation":"

State of the interconnect.

  • Requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • Pending: The interconnect has been approved, and is being initialized.

  • Available: The network link is up, and the interconnect is ready for use.

  • Down: The network link is down.

  • Deleting: The interconnect is in the process of being deleted.

  • Deleted: The interconnect has been deleted.

", "enum":[ "requested", "pending", @@ -959,6 +1323,80 @@ }, "documentation":"

A structure containing a list of interconnects.

" }, + "Lag":{ + "type":"structure", + "members":{ + "connectionsBandwidth":{ + "shape":"Bandwidth", + "documentation":"

The individual bandwidth of the physical connections bundled by the LAG.

Available values: 1Gbps, 10Gbps

" + }, + "numberOfConnections":{ + "shape":"Count", + "documentation":"

The number of physical connections bundled by the LAG, up to a maximum of 10.

" + }, + "lagId":{"shape":"LagId"}, + "ownerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The owner of the LAG.

" + }, + "lagName":{ + "shape":"LagName", + "documentation":"

The name of the LAG.

" + }, + "lagState":{"shape":"LagState"}, + "location":{"shape":"LocationCode"}, + "region":{"shape":"Region"}, + "minimumLinks":{ + "shape":"Count", + "documentation":"

The minimum number of physical connections that must be operational for the LAG itself to be operational. If the number of operational connections drops below this setting, the LAG state changes to down. This value can help to ensure that a LAG is not overutilized if a significant number of its bundled connections go down.

" + }, + "awsDevice":{ + "shape":"AwsDevice", + "documentation":"

The AWS Direct Connection endpoint that hosts the LAG.

" + }, + "connections":{ + "shape":"ConnectionList", + "documentation":"

A list of connections bundled by this LAG.

" + }, + "allowsHostedConnections":{ + "shape":"BooleanFlag", + "documentation":"

Indicates whether the LAG can host other connections.

This is intended for use by AWS Direct Connect partners only.

" + } + }, + "documentation":"

Describes a link aggregation group (LAG). A LAG is a connection that uses the Link Aggregation Control Protocol (LACP) to logically aggregate a bundle of physical connections. Like an interconnect, it can host other connections. All connections in a LAG must terminate on the same physical AWS Direct Connect endpoint, and must be the same bandwidth.

" + }, + "LagId":{ + "type":"string", + "documentation":"

The ID of the LAG.

Example: dxlag-fg5678gh

" + }, + "LagList":{ + "type":"list", + "member":{"shape":"Lag"}, + "documentation":"

A list of LAGs.

" + }, + "LagName":{"type":"string"}, + "LagState":{ + "type":"string", + "documentation":"

The state of the LAG.

  • Requested: The initial state of a LAG. The LAG stays in the requested state until the Letter of Authorization (LOA) is available.

  • Pending: The LAG has been approved, and is being initialized.

  • Available: The network link is established, and the LAG is ready for use.

  • Down: The network link is down.

  • Deleting: The LAG is in the process of being deleted.

  • Deleted: The LAG has been deleted.

", + "enum":[ + "requested", + "pending", + "available", + "down", + "deleting", + "deleted" + ] + }, + "Lags":{ + "type":"structure", + "members":{ + "lags":{ + "shape":"LagList", + "documentation":"

A list of LAGs.

" + } + }, + "documentation":"

A structure containing a list of LAGs.

" + }, "Loa":{ "type":"structure", "members":{ @@ -1234,6 +1672,25 @@ }, "documentation":"

The response received when UntagResource is called.

" }, + "UpdateLagRequest":{ + "type":"structure", + "required":["lagId"], + "members":{ + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG to update.

Example: dxlag-abc123

Default: None

" + }, + "lagName":{ + "shape":"LagName", + "documentation":"

The name for the LAG.

Example: \"3x10G LAG to AWS\"

Default: None

" + }, + "minimumLinks":{ + "shape":"Count", + "documentation":"

The minimum number of physical connections that must be operational for the LAG itself to be operational.

Default: None

" + } + }, + "documentation":"

Container for the parameters to the UpdateLag operation.

" + }, "VLAN":{ "type":"integer", "documentation":"

The VLAN ID.

Example: 101

" @@ -1300,7 +1757,7 @@ }, "VirtualInterfaceId":{ "type":"string", - "documentation":"

ID of the virtual interface.

Example: dxvif-123dfg56

Default: None

" + "documentation":"

The ID of the virtual interface.

Example: dxvif-123dfg56

Default: None

" }, "VirtualInterfaceList":{ "type":"list", @@ -1313,7 +1770,7 @@ }, "VirtualInterfaceState":{ "type":"string", - "documentation":"

State of the virtual interface.

  • Confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • Verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • Pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • Available: A virtual interface that is able to forward traffic.

  • Down: A virtual interface that is BGP down.

  • Deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • Deleted: A virtual interface that cannot forward traffic.

  • Rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the 'Confirming' state is deleted by the virtual interface owner, the virtual interface will enter the 'Rejected' state.

", + "documentation":"

State of the virtual interface.

  • Confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • Verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • Pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • Available: A virtual interface that is able to forward traffic.

  • Down: A virtual interface that is BGP down.

  • Deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • Deleted: A virtual interface that cannot forward traffic.

  • Rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the 'Confirming' state is deleted by the virtual interface owner, the virtual interface will enter the 'Rejected' state.

", "enum":[ "confirming", "verifying", diff --git a/botocore/data/discovery/2015-11-01/examples-1.json b/botocore/data/discovery/2015-11-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/discovery/2015-11-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/discovery/2015-11-01/paginators-1.json b/botocore/data/discovery/2015-11-01/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/discovery/2015-11-01/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/discovery/2015-11-01/service-2.json b/botocore/data/discovery/2015-11-01/service-2.json index 1146cea5..9c721e06 100644 --- a/botocore/data/discovery/2015-11-01/service-2.json +++ b/botocore/data/discovery/2015-11-01/service-2.json @@ -123,7 +123,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"ServerInternalErrorException"} ], - "documentation":"

Retrieves attributes for a list of configuration item IDs. All of the supplied IDs must be for the same asset type (server, application, process, or connection). Output fields are specific to the asset type selected. For example, the output for a server configuration item includes a list of attributes about the server, such as host name, operating system, and number of network cards.

For a complete list of outputs for each asset type, see Querying Discovered Configuration Items.

" + "documentation":"

Retrieves attributes for a list of configuration item IDs. All of the supplied IDs must be for the same asset type (server, application, process, or connection). Output fields are specific to the asset type selected. For example, the output for a server configuration item includes a list of attributes about the server, such as host name, operating system, and number of network cards.

For a complete list of outputs for each asset type, see Using the DescribeConfigurations Action.

" }, "DescribeExportConfigurations":{ "name":"DescribeExportConfigurations", @@ -140,7 +140,24 @@ {"shape":"InvalidParameterValueException"}, {"shape":"ServerInternalErrorException"} ], - "documentation":"

Retrieves the status of a given export process. You can retrieve status from a maximum of 100 processes.

" + "documentation":"

Deprecated. Use DescribeExportTasks instead.

Retrieves the status of a given export process. You can retrieve status from a maximum of 100 processes.

", + "deprecated":true + }, + "DescribeExportTasks":{ + "name":"DescribeExportTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeExportTasksRequest"}, + "output":{"shape":"DescribeExportTasksResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"} + ], + "documentation":"

Retrieve status of one or more export tasks. You can retrieve the status of up to 100 export tasks.

" }, "DescribeTags":{ "name":"DescribeTags", @@ -189,7 +206,8 @@ {"shape":"ServerInternalErrorException"}, {"shape":"OperationNotPermittedException"} ], - "documentation":"

Exports all discovered configuration data to an Amazon S3 bucket or an application that enables you to view and evaluate the data. Data includes tags and tag associations, processes, connections, servers, and system performance. This API returns an export ID which you can query using the DescribeExportConfigurations API. The system imposes a limit of two configuration exports in six hours.

" + "documentation":"

Deprecated. Use StartExportTask instead.

Exports all discovered configuration data to an Amazon S3 bucket or an application that enables you to view and evaluate the data. Data includes tags and tag associations, processes, connections, servers, and system performance. This API returns an export ID that you can query using the DescribeExportConfigurations API. The system imposes a limit of two configuration exports in six hours.

", + "deprecated":true }, "GetDiscoverySummary":{ "name":"GetDiscoverySummary", @@ -222,7 +240,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"ServerInternalErrorException"} ], - "documentation":"

Retrieves a list of configuration items according to criteria you specify in a filter. The filter criteria identify relationship requirements.

" + "documentation":"

Retrieves a list of configuration items according to criteria that you specify in a filter. The filter criteria identifies the relationship requirements.

" }, "ListServerNeighbors":{ "name":"ListServerNeighbors", @@ -238,7 +256,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"ServerInternalErrorException"} ], - "documentation":"

Retrieves a list of servers which are one network hop away from a specified server.

" + "documentation":"

Retrieves a list of servers that are one network hop away from a specified server.

" }, "StartDataCollectionByAgentIds":{ "name":"StartDataCollectionByAgentIds", @@ -254,7 +272,24 @@ {"shape":"InvalidParameterValueException"}, {"shape":"ServerInternalErrorException"} ], - "documentation":"

Instructs the specified agents or Connectors to start collecting data.

" + "documentation":"

Instructs the specified agents or connectors to start collecting data.

" + }, + "StartExportTask":{ + "name":"StartExportTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartExportTaskRequest"}, + "output":{"shape":"StartExportTaskResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Export the configuration data about discovered configuration items and relationships to an S3 bucket in a specified format.

" }, "StopDataCollectionByAgentIds":{ "name":"StopDataCollectionByAgentIds", @@ -270,7 +305,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"ServerInternalErrorException"} ], - "documentation":"

Instructs the specified agents or Connectors to stop collecting data.

" + "documentation":"

Instructs the specified agents or connectors to stop collecting data.

" }, "UpdateApplication":{ "name":"UpdateApplication", @@ -295,18 +330,18 @@ "members":{ "agentId":{ "shape":"String", - "documentation":"

The agent/Connector ID.

" + "documentation":"

The agent/connector ID.

" }, "operationSucceeded":{ "shape":"Boolean", - "documentation":"

Information about the status of the StartDataCollection and StopDataCollection operations. The system has recorded the data collection operation. The agent/Connector receives this command the next time it polls for a new command.

" + "documentation":"

Information about the status of the StartDataCollection and StopDataCollection operations. The system has recorded the data collection operation. The agent/connector receives this command the next time it polls for a new command.

" }, "description":{ "shape":"String", "documentation":"

A description of the operation performed.

" } }, - "documentation":"

Information about agents or Connectors that were instructed to start collecting data. Information includes the agent/Connector ID, a description of the operation, and whether or not the agent/Connector configuration was updated.

" + "documentation":"

Information about agents or connectors that were instructed to start collecting data. Information includes the agent/connector ID, a description of the operation, and whether the agent/connector configuration was updated.

" }, "AgentConfigurationStatusList":{ "type":"list", @@ -358,7 +393,7 @@ }, "registeredTime":{ "shape":"String", - "documentation":"

Agent's first registration time stamp in UTC.

" + "documentation":"

Agent's first registration timestamp in UTC.

" } }, "documentation":"

Information about agents or connectors associated with the user’s AWS account. Information includes agent or connector IDs, IP addresses, media access control (MAC) addresses, agent or connector health, hostname where the agent or connector resides, and agent version for each agent.

" @@ -368,14 +403,14 @@ "members":{ "ipAddress":{ "shape":"String", - "documentation":"

The IP address for the host where the agent/Connector resides.

" + "documentation":"

The IP address for the host where the agent/connector resides.

" }, "macAddress":{ "shape":"String", - "documentation":"

The MAC address for the host where the agent/Connector resides.

" + "documentation":"

The MAC address for the host where the agent/connector resides.

" } }, - "documentation":"

Network details about the host where the agent/Connector resides.

" + "documentation":"

Network details about the host where the agent/connector resides.

" }, "AgentNetworkInfoList":{ "type":"list", @@ -461,19 +496,19 @@ "members":{ "configurationType":{ "shape":"ConfigurationItemType", - "documentation":"

A type of IT asset that you want to tag.

" + "documentation":"

A type of IT asset to tag.

" }, "configurationId":{ "shape":"ConfigurationId", - "documentation":"

The configuration ID for the item you want to tag. You can specify a list of keys and values.

" + "documentation":"

The configuration ID for the item to tag. You can specify a list of keys and values.

" }, "key":{ "shape":"TagKey", - "documentation":"

A type of tag to filter on. For example, serverType.

" + "documentation":"

A type of tag on which to filter. For example, serverType.

" }, "value":{ "shape":"TagValue", - "documentation":"

A value to filter on. For example key = serverType and value = web server.

" + "documentation":"

A value on which to filter. For example key = serverType and value = web server.

" }, "timeOfCreation":{ "shape":"TimeStamp", @@ -669,7 +704,7 @@ }, "filters":{ "shape":"Filters", - "documentation":"

You can filter the request using various logical operators and a key-value format. For example:

{\"key\": \"collectionStatus\", \"value\": \"STARTED\"}

For a complete list of filter options and guidance about using them with this action, see Managing AWS Application Discovery Service Agents and the AWS Application Discovery Connector .

" + "documentation":"

You can filter the request using various logical operators and a key-value format. For example:

{\"key\": \"collectionStatus\", \"value\": \"STARTED\"}

" }, "maxResults":{ "shape":"Integer", @@ -735,7 +770,7 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

A token to get the next set of results. For example, if you specified 100 IDs for DescribeExportConfigurationsRequest$exportIds but set DescribeExportConfigurationsRequest$maxResults to 10, you will get results in a set of 10. Use the token in the query to get the next set of 10.

" + "documentation":"

A token to get the next set of results. For example, if you specify 100 IDs for DescribeExportConfigurationsRequest$exportIds but set DescribeExportConfigurationsRequest$maxResults to 10, you get results in a set of 10. Use the token in the query to get the next set of 10.

" } } }, @@ -748,7 +783,37 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

A token to get the next set of results. For example, if you specified 100 IDs for DescribeExportConfigurationsRequest$exportIds but set DescribeExportConfigurationsRequest$maxResults to 10, you will get results in a set of 10. Use the token in the query to get the next set of 10.

" + "documentation":"

A token to get the next set of results. For example, if you specify 100 IDs for DescribeExportConfigurationsRequest$exportIds but set DescribeExportConfigurationsRequest$maxResults to 10, you get results in a set of 10. Use the token in the query to get the next set of 10.

" + } + } + }, + "DescribeExportTasksRequest":{ + "type":"structure", + "members":{ + "exportIds":{ + "shape":"ExportIds", + "documentation":"

One or more unique identifiers used to query the status of an export request.

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of volume results returned by DescribeExportTasks in paginated output. When this parameter is used, DescribeExportTasks only returns maxResults results in a single page along with a nextToken response element.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value returned from a previous paginated DescribeExportTasks request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

" + } + } + }, + "DescribeExportTasksResponse":{ + "type":"structure", + "members":{ + "exportsInfo":{ + "shape":"ExportsInfo", + "documentation":"

Contains one or more sets of export request details. When the status of a request is SUCCEEDED, the response includes a URL for an Amazon S3 bucket where you can view the data in a CSV file.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value to include in a future DescribeExportTasks request. When the results of a DescribeExportTasks request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" } } }, @@ -757,7 +822,7 @@ "members":{ "filters":{ "shape":"TagFilters", - "documentation":"

You can filter the list using a key-value format. You can separate these items by using logical operators. Allowed filters include tagKey, tagValue, and configurationId.

For a complete list of filter options and guidance about using them with this action, see Managing AWS Application Discovery Service Agents and the AWS Application Discovery Connector .

" + "documentation":"

You can filter the list using a key-value format. You can separate these items by using logical operators. Allowed filters include tagKey, tagValue, and configurationId.

" }, "maxResults":{ "shape":"Integer", @@ -791,11 +856,11 @@ "members":{ "applicationConfigurationId":{ "shape":"ApplicationId", - "documentation":"

Configuration ID of an application from which each item will be disassociated.

" + "documentation":"

Configuration ID of an application from which each item is disassociated.

" }, "configurationIds":{ "shape":"ConfigurationIdList", - "documentation":"

Configuration ID of each item be be disassociated from an application.

" + "documentation":"

Configuration ID of each item to be disassociated from an application.

" } } }, @@ -813,6 +878,17 @@ } } }, + "ExportDataFormat":{ + "type":"string", + "enum":[ + "CSV", + "GRAPHML" + ] + }, + "ExportDataFormats":{ + "type":"list", + "member":{"shape":"ExportDataFormat"} + }, "ExportIds":{ "type":"list", "member":{"shape":"ConfigurationsExportId"} @@ -844,7 +920,7 @@ }, "exportRequestTime":{ "shape":"ExportRequestTime", - "documentation":"

The time the configuration data export was initiated.

" + "documentation":"

The time that the configuration data export was initiated.

" } }, "documentation":"

Information regarding the export status of the discovered data. The value is an array of objects.

" @@ -877,14 +953,14 @@ }, "values":{ "shape":"FilterValues", - "documentation":"

A string value that you want to filter on. For example, if you choose the destinationServer.osVersion filter name, you could specify Ubuntu for the value.

" + "documentation":"

A string value on which to filter. For example, if you choose the destinationServer.osVersion filter name, you could specify Ubuntu for the value.

" }, "condition":{ "shape":"Condition", "documentation":"

A conditional operator. The following operators are valid: EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS. If you specify multiple filters, the system utilizes all filters as though concatenated by AND. If you specify multiple values for a particular filter, the system differentiates the values using OR. Calling either DescribeConfigurations or ListConfigurations returns attributes of matching configuration items.

" } }, - "documentation":"

A filter that can use conditional operators.

for a complete list of filters and guidance for using them with the Application Discovery Service, see Querying Discovered Configuration Items.

" + "documentation":"

A filter that can use conditional operators.

For more information about filters, see Querying Discovered Configuration Items.

" }, "FilterName":{"type":"string"}, "FilterValue":{"type":"string"}, @@ -909,19 +985,19 @@ "members":{ "servers":{ "shape":"Long", - "documentation":"

Number of servers discovered.

" + "documentation":"

The number of servers discovered.

" }, "applications":{ "shape":"Long", - "documentation":"

Number of applications discovered.

" + "documentation":"

The number of applications discovered.

" }, "serversMappedToApplications":{ "shape":"Long", - "documentation":"

Number of servers mapped to applications.

" + "documentation":"

The number of servers mapped to applications.

" }, "serversMappedtoTags":{ "shape":"Long", - "documentation":"

Number of servers mapped to tags.

" + "documentation":"

The number of servers mapped to tags.

" }, "agentSummary":{ "shape":"CustomerAgentInfo", @@ -956,11 +1032,11 @@ "members":{ "configurationType":{ "shape":"ConfigurationItemType", - "documentation":"

A valid configuration identified by the Discovery Service.

" + "documentation":"

A valid configuration identified by Application Discovery Service.

" }, "filters":{ "shape":"Filters", - "documentation":"

You can filter the request using various logical operators and a key-value format. For example:

{\"key\": \"serverType\", \"value\": \"webServer\"}

For a complete list of filter options and guidance about using them with this action, see Querying Discovered Configuration Items.

" + "documentation":"

You can filter the request using various logical operators and a key-value format. For example:

{\"key\": \"serverType\", \"value\": \"webServer\"}

For a complete list of filter options and guidance about using them with this action, see Querying Discovered Configuration Items.

" }, "maxResults":{ "shape":"Integer", @@ -972,7 +1048,7 @@ }, "orderBy":{ "shape":"OrderByList", - "documentation":"

Certain filter criteria return output that can be sorted in ascending or descending order. For a list of output characteristics for each filter, see Querying Discovered Configuration Items.

" + "documentation":"

Certain filter criteria return output that can be sorted in ascending or descending order. For a list of output characteristics for each filter, see Using the ListConfigurations Action.

" } } }, @@ -1045,23 +1121,23 @@ "members":{ "sourceServerId":{ "shape":"ConfigurationId", - "documentation":"

ID of server that opened the network connection.

" + "documentation":"

The ID of the server that opened the network connection.

" }, "destinationServerId":{ "shape":"ConfigurationId", - "documentation":"

ID of the server that accepted the networker connection.

" + "documentation":"

The ID of the server that accepted the network connection.

" }, "destinationPort":{ "shape":"BoxedInteger", - "documentation":"

Destination network port for the connection.

" + "documentation":"

The destination network port for the connection.

" }, "transportProtocol":{ "shape":"String", - "documentation":"

Network protocol used for the connection.

" + "documentation":"

The network protocol used for the connection.

" }, "connectionsCount":{ "shape":"Long", - "documentation":"

Number of open network connections with the neighboring server.

" + "documentation":"

The number of open network connections with the neighboring server.

" } }, "documentation":"

Details about neighboring servers.

" @@ -1085,14 +1161,14 @@ "members":{ "fieldName":{ "shape":"String", - "documentation":"

Field to order on.

" + "documentation":"

The field on which to order.

" }, "sortOrder":{ "shape":"orderString", "documentation":"

Ordering direction.

" } }, - "documentation":"

Field and direction for ordered output.

" + "documentation":"

A field and direction for ordered output.

" }, "OrderByList":{ "type":"list", @@ -1121,7 +1197,7 @@ "members":{ "agentIds":{ "shape":"AgentIds", - "documentation":"

The IDs of the agents or Connectors that you want to start collecting data. If you send a request to an agent/Connector ID that you do not have permission to contact, according to your AWS account, the service does not throw an exception. Instead, it returns the error in the Description field. If you send a request to multiple agents/Connectors and you do not have permission to contact some of those agents/Connectors, the system does not throw an exception. Instead, the system shows Failed in the Description field.

" + "documentation":"

The IDs of the agents or connectors from which to start collecting data. If you send a request to an agent/connector ID that you do not have permission to contact, according to your AWS account, the service does not throw an exception. Instead, it returns the error in the Description field. If you send a request to multiple agents/connectors and you do not have permission to contact some of those agents/connectors, the system does not throw an exception. Instead, the system shows Failed in the Description field.

" } } }, @@ -1130,7 +1206,25 @@ "members":{ "agentsConfigurationStatus":{ "shape":"AgentConfigurationStatusList", - "documentation":"

Information about agents or the Connector that were instructed to start collecting data. Information includes the agent/Connector ID, a description of the operation performed, and whether or not the agent/Connector configuration was updated.

" + "documentation":"

Information about agents or the connector that were instructed to start collecting data. Information includes the agent/connector ID, a description of the operation performed, and whether the agent/connector configuration was updated.

" + } + } + }, + "StartExportTaskRequest":{ + "type":"structure", + "members":{ + "exportDataFormat":{ + "shape":"ExportDataFormats", + "documentation":"

The file format for the returned export data. Default value is CSV.

" + } + } + }, + "StartExportTaskResponse":{ + "type":"structure", + "members":{ + "exportId":{ + "shape":"ConfigurationsExportId", + "documentation":"

A unique identifier used to query the status of an export request.

" } } }, @@ -1140,7 +1234,7 @@ "members":{ "agentIds":{ "shape":"AgentIds", - "documentation":"

The IDs of the agents or Connectors that you want to stop collecting data.

" + "documentation":"

The IDs of the agents or connectors from which to stop collecting data.

" } } }, @@ -1149,7 +1243,7 @@ "members":{ "agentsConfigurationStatus":{ "shape":"AgentConfigurationStatusList", - "documentation":"

Information about agents or the Connector that were instructed to stop collecting data. Information includes the agent/Connector ID, a description of the operation performed, and whether or not the agent/Connector configuration was updated.

" + "documentation":"

Information about the agents or connector that were instructed to stop collecting data. Information includes the agent/connector ID, a description of the operation performed, and whether the agent/connector configuration was updated.

" } } }, @@ -1163,11 +1257,11 @@ "members":{ "key":{ "shape":"TagKey", - "documentation":"

A type of tag to filter on.

" + "documentation":"

The type of tag on which to filter.

" }, "value":{ "shape":"TagValue", - "documentation":"

A value for a tag key to filter on.

" + "documentation":"

A value for a tag key on which to filter.

" } }, "documentation":"

Metadata that help you categorize IT assets.

" @@ -1181,14 +1275,14 @@ "members":{ "name":{ "shape":"FilterName", - "documentation":"

A name of a tag filter.

" + "documentation":"

A name of the tag filter.

" }, "values":{ "shape":"FilterValues", - "documentation":"

Values of a tag filter.

" + "documentation":"

Values for the tag filter.

" } }, - "documentation":"

The name of a tag filter. Valid names are: tagKey, tagValue, configurationId.

" + "documentation":"

The tag filter. Valid names are: tagKey, tagValue, configurationId.

" }, "TagFilters":{ "type":"list", @@ -1235,5 +1329,5 @@ ] } }, - "documentation":"AWS Application Discovery Service

AWS Application Discovery Service helps you plan application migration projects by automatically identifying servers, virtual machines (VMs), software, and software dependencies running in your on-premises data centers. Application Discovery Service also collects application performance data, which can help you assess the outcome of your migration. The data collected by Application Discovery Service is securely retained in an Amazon-hosted and managed database in the cloud. You can export the data as a CSV or XML file into your preferred visualization tool or cloud-migration solution to plan your migration. For more information, see the Application Discovery Service FAQ.

Application Discovery Service offers two modes of operation.

  • Agentless discovery mode is recommended for environments that use VMware vCenter Server. This mode doesn't require you to install an agent on each host. Agentless discovery gathers server information regardless of the operating systems, which minimizes the time required for initial on-premises infrastructure assessment. Agentless discovery doesn't collect information about software and software dependencies. It also doesn't work in non-VMware environments. We recommend that you use agent-based discovery for non-VMware environments and if you want to collect information about software and software dependencies. You can also run agent-based and agentless discovery simultaneously. Use agentless discovery to quickly complete the initial infrastructure assessment and then install agents on select hosts to gather information about software and software dependencies.

  • Agent-based discovery mode collects a richer set of data than agentless discovery by using Amazon software, the AWS Application Discovery Agent, which you install on one or more hosts in your data center. The agent captures infrastructure and application information, including an inventory of installed software applications, system and process performance, resource utilization, and network dependencies between workloads. The information collected by agents is secured at rest and in transit to the Application Discovery Service database in the cloud.

Application Discovery Service integrates with application discovery solutions from AWS Partner Network (APN) partners. Third-party application discovery tools can query the Application Discovery Service and write to the Application Discovery Service database using a public API. You can then import the data into either a visualization tool or cloud-migration solution.

Application Discovery Service doesn't gather sensitive information. All data is handled according to the AWS Privacy Policy. You can operate Application Discovery Service using offline mode to inspect collected data before it is shared with the service.

Your AWS account must be granted access to Application Discovery Service, a process called whitelisting. This is true for AWS partners and customers alike. To request access, sign up for the AWS Application Discovery Service here. We will send you information about how to get started.

This API reference provides descriptions, syntax, and usage examples for each of the actions and data types for the Application Discovery Service. The topic for each action shows the API request parameters and the response. Alternatively, you can use one of the AWS SDKs to access an API that is tailored to the programming language or platform that you're using. For more information, see AWS SDKs.

This guide is intended for use with the AWS Application Discovery Service User Guide .

" + "documentation":"AWS Application Discovery Service

AWS Application Discovery Service helps you plan application migration projects by automatically identifying servers, virtual machines (VMs), software, and software dependencies running in your on-premises data centers. Application Discovery Service also collects application performance data, which can help you assess the outcome of your migration. The data collected by Application Discovery Service is securely retained in an Amazon-hosted and managed database in the cloud. You can export the data as a CSV or XML file into your preferred visualization tool or cloud-migration solution to plan your migration. For more information, see the Application Discovery Service FAQ.

Application Discovery Service offers two modes of operation.

  • Agentless discovery mode is recommended for environments that use VMware vCenter Server. This mode doesn't require you to install an agent on each host. Agentless discovery gathers server information regardless of the operating systems, which minimizes the time required for initial on-premises infrastructure assessment. Agentless discovery doesn't collect information about software and software dependencies. It also doesn't work in non-VMware environments. We recommend that you use agent-based discovery for non-VMware environments and if you want to collect information about software and software dependencies. You can also run agent-based and agentless discovery simultaneously. Use agentless discovery to quickly complete the initial infrastructure assessment and then install agents on select hosts to gather information about software and software dependencies.

  • Agent-based discovery mode collects a richer set of data than agentless discovery by using Amazon software, the AWS Application Discovery Agent, which you install on one or more hosts in your data center. The agent captures infrastructure and application information, including an inventory of installed software applications, system and process performance, resource utilization, and network dependencies between workloads. The information collected by agents is secured at rest and in transit to the Application Discovery Service database in the cloud.

Application Discovery Service integrates with application discovery solutions from AWS Partner Network (APN) partners. Third-party application discovery tools can query Application Discovery Service and write to the Application Discovery Service database using a public API. You can then import the data into either a visualization tool or cloud-migration solution.

Application Discovery Service doesn't gather sensitive information. All data is handled according to the AWS Privacy Policy. You can operate Application Discovery Service using offline mode to inspect collected data before it is shared with the service.

Your AWS account must be granted access to Application Discovery Service, a process called whitelisting. This is true for AWS partners and customers alike. To request access, sign up for AWS Application Discovery Service here. We send you information about how to get started.

This API reference provides descriptions, syntax, and usage examples for each of the actions and data types for Application Discovery Service. The topic for each action shows the API request parameters and the response. Alternatively, you can use one of the AWS SDKs to access an API that is tailored to the programming language or platform that you're using. For more information, see AWS SDKs.

This guide is intended for use with the AWS Application Discovery Service User Guide .

" } diff --git a/botocore/data/dms/2016-01-01/examples-1.json b/botocore/data/dms/2016-01-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/dms/2016-01-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/dms/2016-01-01/paginators-1.json b/botocore/data/dms/2016-01-01/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/dms/2016-01-01/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/dms/2016-01-01/service-2.json b/botocore/data/dms/2016-01-01/service-2.json index 16d73b78..537f52dc 100644 --- a/botocore/data/dms/2016-01-01/service-2.json +++ b/botocore/data/dms/2016-01-01/service-2.json @@ -42,6 +42,23 @@ ], "documentation":"

Creates an endpoint using the provided settings.

" }, + "CreateEventSubscription":{ + "name":"CreateEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEventSubscriptionMessage"}, + "output":{"shape":"CreateEventSubscriptionResponse"}, + "errors":[ + {"shape":"ResourceQuotaExceededFault"}, + {"shape":"ResourceAlreadyExistsFault"}, + {"shape":"SNSInvalidTopicFault"}, + {"shape":"SNSNoAuthorizationFault"}, + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Creates an AWS DMS event notification subscription.

You can specify the type of source (SourceType) you want to be notified of, provide a list of AWS DMS source IDs (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. If you specify both the SourceType and SourceIds, such as SourceType = replication-instance and SourceIdentifier = my-replinstance, you will be notified of all the replication instance events for the specified source. If you specify a SourceType but don't specify a SourceIdentifier, you receive notice of the events for that source type for all your AWS DMS sources. If you don't specify either SourceType nor SourceIdentifier, you will be notified of events generated from all AWS DMS sources belonging to your customer account.

For more information about AWS DMS events, see Working with Events and Notifications in the AWS Database MIgration Service User Guide.

" + }, "CreateReplicationInstance":{ "name":"CreateReplicationInstance", "http":{ @@ -91,6 +108,7 @@ "input":{"shape":"CreateReplicationTaskMessage"}, "output":{"shape":"CreateReplicationTaskResponse"}, "errors":[ + {"shape":"AccessDeniedFault"}, {"shape":"InvalidResourceStateFault"}, {"shape":"ResourceAlreadyExistsFault"}, {"shape":"ResourceNotFoundFault"}, @@ -127,6 +145,20 @@ ], "documentation":"

Deletes the specified endpoint.

All tasks associated with the endpoint must be deleted before you can delete the endpoint.

" }, + "DeleteEventSubscription":{ + "name":"DeleteEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEventSubscriptionMessage"}, + "output":{"shape":"DeleteEventSubscriptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ], + "documentation":"

Deletes an AWS DMS event subscription.

" + }, "DeleteReplicationInstance":{ "name":"DeleteReplicationInstance", "http":{ @@ -228,6 +260,39 @@ ], "documentation":"

Returns information about the endpoints for your account in the current region.

" }, + "DescribeEventCategories":{ + "name":"DescribeEventCategories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventCategoriesMessage"}, + "output":{"shape":"DescribeEventCategoriesResponse"}, + "documentation":"

Lists categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in Working with Events and Notifications in the AWS Database Migration Service User Guide.

" + }, + "DescribeEventSubscriptions":{ + "name":"DescribeEventSubscriptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventSubscriptionsMessage"}, + "output":{"shape":"DescribeEventSubscriptionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Lists all the event subscriptions for a customer account. The description of a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.

If you specify SubscriptionName, this action lists the description for that subscription.

" + }, + "DescribeEvents":{ + "name":"DescribeEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsMessage"}, + "output":{"shape":"DescribeEventsResponse"}, + "documentation":"

Lists events for a given source identifier and source type. You can also specify a start and end time. For more information on AWS DMS events, see Working with Events and Notifications .

" + }, "DescribeOrderableReplicationInstances":{ "name":"DescribeOrderableReplicationInstances", "http":{ @@ -358,10 +423,27 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"ResourceNotFoundFault"}, {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"KMSKeyNotAccessibleFault"} + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"AccessDeniedFault"} ], "documentation":"

Modifies the specified endpoint.

" }, + "ModifyEventSubscription":{ + "name":"ModifyEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyEventSubscriptionMessage"}, + "output":{"shape":"ModifyEventSubscriptionResponse"}, + "errors":[ + {"shape":"ResourceQuotaExceededFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"SNSInvalidTopicFault"}, + {"shape":"SNSNoAuthorizationFault"} + ], + "documentation":"

Modifies an existing AWS DMS event notification subscription.

" + }, "ModifyReplicationInstance":{ "name":"ModifyReplicationInstance", "http":{ @@ -412,7 +494,7 @@ {"shape":"ResourceAlreadyExistsFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Modifies the specified replication task.

You can't modify the task endpoints. The task must be stopped before you can modify it.

" + "documentation":"

Modifies the specified replication task.

You can't modify the task endpoints. The task must be stopped before you can modify it.

For more information about AWS DMS tasks, see the AWS DMS user guide at Working with Migration Tasks

" }, "RefreshSchemas":{ "name":"RefreshSchemas", @@ -430,6 +512,20 @@ ], "documentation":"

Populates the schema for the specified endpoint. This is an asynchronous operation and can take several minutes. You can check the status of this operation by calling the DescribeRefreshSchemasStatus operation.

" }, + "ReloadTables":{ + "name":"ReloadTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReloadTablesMessage"}, + "output":{"shape":"ReloadTablesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ], + "documentation":"

Reloads the target database table with the source data.

" + }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", "http":{ @@ -455,7 +551,7 @@ {"shape":"ResourceNotFoundFault"}, {"shape":"InvalidResourceStateFault"} ], - "documentation":"

Starts the replication task.

" + "documentation":"

Starts the replication task.

For more information about AWS DMS tasks, see the AWS DMS user guide at Working with Migration Tasks

" }, "StopReplicationTask":{ "name":"StopReplicationTask", @@ -549,6 +645,21 @@ }, "documentation":"

" }, + "AuthMechanismValue":{ + "type":"string", + "enum":[ + "default", + "mongodb_cr", + "scram_sha_1" + ] + }, + "AuthTypeValue":{ + "type":"string", + "enum":[ + "no", + "password" + ] + }, "AvailabilityZone":{ "type":"structure", "members":{ @@ -615,6 +726,13 @@ } }, "CertificateWallet":{"type":"blob"}, + "CompressionTypeValue":{ + "type":"string", + "enum":[ + "none", + "gzip" + ] + }, "Connection":{ "type":"structure", "members":{ @@ -670,7 +788,7 @@ }, "EngineName":{ "shape":"String", - "documentation":"

The type of engine for the endpoint. Valid values include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, SYBASE, and SQLSERVER.

" + "documentation":"

The type of engine for the endpoint. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER.

" }, "Username":{ "shape":"String", @@ -711,6 +829,18 @@ "SslMode":{ "shape":"DmsSslModeValue", "documentation":"

The SSL mode to use for the SSL connection.

SSL mode can be one of four values: none, require, verify-ca, verify-full.

The default value is none.

" + }, + "DynamoDbSettings":{ + "shape":"DynamoDbSettings", + "documentation":"

Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the available settings, see the Using Object Mapping to Migrate Data to DynamoDB section at Using an Amazon DynamoDB Database as a Target for AWS Database Migration Service.

" + }, + "S3Settings":{ + "shape":"S3Settings", + "documentation":"

Settings in JSON format for the target S3 endpoint. For more information about the available settings, see the Extra Connection Attributes section at Using Amazon S3 as a Target for AWS Database Migration Service.

" + }, + "MongoDbSettings":{ + "shape":"MongoDbSettings", + "documentation":"

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the Configuration Properties When Using MongoDB as a Source for AWS Database Migration Service section at Using Amazon S3 as a Target for AWS Database Migration Service.

" } }, "documentation":"

" @@ -725,6 +855,54 @@ }, "documentation":"

" }, + "CreateEventSubscriptionMessage":{ + "type":"structure", + "required":[ + "SubscriptionName", + "SnsTopicArn" + ], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the DMS event notification subscription.

Constraints: The name must be less than 255 characters.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" + }, + "SourceType":{ + "shape":"String", + "documentation":"

The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to replication-instance. If this value is not specified, all events are returned.

Valid values: replication-instance | migration-task

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories for a source type that you want to subscribe to. You can see a list of the categories for a given source type by calling the DescribeEventCategories action or in the topic Working with Events and Notifications in the AWS Database Migration Service User Guide.

" + }, + "SourceIds":{ + "shape":"SourceIdsList", + "documentation":"

The list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.

" + }, + "Enabled":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value; set to true to activate the subscription, or set to false to create the subscription but not activate it.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A tag to be attached to the event subscription.

" + } + }, + "documentation":"

" + }, + "CreateEventSubscriptionResponse":{ + "type":"structure", + "members":{ + "EventSubscription":{ + "shape":"EventSubscription", + "documentation":"

The event subscription that was created.

" + } + }, + "documentation":"

" + }, "CreateReplicationInstanceMessage":{ "type":"structure", "required":[ @@ -847,7 +1025,7 @@ "members":{ "ReplicationTaskIdentifier":{ "shape":"String", - "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" }, "SourceEndpointArn":{ "shape":"String", @@ -867,7 +1045,7 @@ }, "TableMappings":{ "shape":"String", - "documentation":"

The path of the JSON file that contains the table mappings. Preceed the path with \"file://\".

For example, --table-mappings file://mappingfile.json

" + "documentation":"

When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with \"file://\". When working with the DMS API, provide the JSON as the parameter value.

For example, --table-mappings file://mappingfile.json

" }, "ReplicationTaskSettings":{ "shape":"String", @@ -934,6 +1112,27 @@ }, "documentation":"

" }, + "DeleteEventSubscriptionMessage":{ + "type":"structure", + "required":["SubscriptionName"], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the DMS event notification subscription to be deleted.

" + } + }, + "documentation":"

" + }, + "DeleteEventSubscriptionResponse":{ + "type":"structure", + "members":{ + "EventSubscription":{ + "shape":"EventSubscription", + "documentation":"

The event subscription that was deleted.

" + } + }, + "documentation":"

" + }, "DeleteReplicationInstanceMessage":{ "type":"structure", "required":["ReplicationInstanceArn"], @@ -1135,6 +1334,122 @@ }, "documentation":"

" }, + "DescribeEventCategoriesMessage":{ + "type":"structure", + "members":{ + "SourceType":{ + "shape":"String", + "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | migration-task

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filters applied to the action.

" + } + }, + "documentation":"

" + }, + "DescribeEventCategoriesResponse":{ + "type":"structure", + "members":{ + "EventCategoryGroupList":{ + "shape":"EventCategoryGroupList", + "documentation":"

A list of event categories.

" + } + }, + "documentation":"

" + }, + "DescribeEventSubscriptionsMessage":{ + "type":"structure", + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the AWS DMS event subscription to be described.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filters applied to the action.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

" + }, + "DescribeEventSubscriptionsResponse":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "EventSubscriptionsList":{ + "shape":"EventSubscriptionsList", + "documentation":"

A list of event subscriptions.

" + } + }, + "documentation":"

" + }, + "DescribeEventsMessage":{ + "type":"structure", + "members":{ + "SourceIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the event source. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens. It cannot end with a hyphen or contain two consecutive hyphens.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | migration-task

" + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

The start time for the events to be listed.

" + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

The end time for the events to be listed.

" + }, + "Duration":{ + "shape":"IntegerOptional", + "documentation":"

The duration of the events to be listed.

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories for a source type that you want to subscribe to.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filters applied to the action.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

" + }, + "DescribeEventsResponse":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "Events":{ + "shape":"EventList", + "documentation":"

The events described.

" + } + }, + "documentation":"

" + }, "DescribeOrderableReplicationInstancesMessage":{ "type":"structure", "members":{ @@ -1359,6 +1674,17 @@ "verify-full" ] }, + "DynamoDbSettings":{ + "type":"structure", + "required":["ServiceAccessRoleArn"], + "members":{ + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) used by the service access IAM role.

" + } + }, + "documentation":"

" + }, "Endpoint":{ "type":"structure", "members":{ @@ -1372,7 +1698,7 @@ }, "EngineName":{ "shape":"String", - "documentation":"

The database engine name. Valid values include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, SYBASE, and SQLSERVER.

" + "documentation":"

The database engine name. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER.

" }, "Username":{ "shape":"String", @@ -1413,6 +1739,22 @@ "SslMode":{ "shape":"DmsSslModeValue", "documentation":"

The SSL mode used to connect to the endpoint.

SSL mode can be one of four values: none, require, verify-ca, verify-full.

The default value is none.

" + }, + "ExternalId":{ + "shape":"String", + "documentation":"

Value returned by a call to CreateEndpoint that can be used for cross-account validation. Use it on a subsequent call to CreateEndpoint to create the endpoint with a cross-account.

" + }, + "DynamoDbSettings":{ + "shape":"DynamoDbSettings", + "documentation":"

The settings for the target DynamoDB database. For more information, see the DynamoDBSettings structure.

" + }, + "S3Settings":{ + "shape":"S3Settings", + "documentation":"

The settings for the S3 target endpoint. For more information, see the S3Settings structure.

" + }, + "MongoDbSettings":{ + "shape":"MongoDbSettings", + "documentation":"

The settings for the MongoDB source endpoint. For more information, see the MongoDbSettings structure.

" } }, "documentation":"

" @@ -1424,6 +1766,116 @@ "locationName":"Endpoint" } }, + "Event":{ + "type":"structure", + "members":{ + "SourceIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the event source. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.

Constraints:replication instance, endpoint, migration task

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | endpoint | migration-task

" + }, + "Message":{ + "shape":"String", + "documentation":"

The event message.

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

The event categories available for the specified source type.

" + }, + "Date":{ + "shape":"TStamp", + "documentation":"

The date of the event.

" + } + }, + "documentation":"

" + }, + "EventCategoriesList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"EventCategory" + } + }, + "EventCategoryGroup":{ + "type":"structure", + "members":{ + "SourceType":{ + "shape":"String", + "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | replication-server | security-group | migration-task

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories for a SourceType that you want to subscribe to.

" + } + }, + "documentation":"

" + }, + "EventCategoryGroupList":{ + "type":"list", + "member":{ + "shape":"EventCategoryGroup", + "locationName":"EventCategoryGroup" + } + }, + "EventList":{ + "type":"list", + "member":{ + "shape":"Event", + "locationName":"Event" + } + }, + "EventSubscription":{ + "type":"structure", + "members":{ + "CustomerAwsId":{ + "shape":"String", + "documentation":"

The AWS customer account associated with the AWS DMS event notification subscription.

" + }, + "CustSubscriptionId":{ + "shape":"String", + "documentation":"

The AWS DMS event notification subscription Id.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

The topic ARN of the AWS DMS event notification subscription.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the AWS DMS event notification subscription.

Constraints:

Can be one of the following: creating | modifying | deleting | active | no-permission | topic-not-exist

The status \"no-permission\" indicates that AWS DMS no longer has permission to post to the SNS topic. The status \"topic-not-exist\" indicates that the topic was deleted after the subscription was created.

" + }, + "SubscriptionCreationTime":{ + "shape":"String", + "documentation":"

The time the RDS event notification subscription was created.

" + }, + "SourceType":{ + "shape":"String", + "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | replication-server | security-group | migration-task

" + }, + "SourceIdsList":{ + "shape":"SourceIdsList", + "documentation":"

A list of source Ids for the event subscription.

" + }, + "EventCategoriesList":{ + "shape":"EventCategoriesList", + "documentation":"

A lists of event categories.

" + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

Boolean value that indicates if the event subscription is enabled.

" + } + }, + "documentation":"

" + }, + "EventSubscriptionsList":{ + "type":"list", + "member":{ + "shape":"EventSubscription", + "locationName":"EventSubscription" + } + }, "ExceptionMessage":{"type":"string"}, "Filter":{ "type":"structure", @@ -1472,6 +1924,10 @@ "CertificateWallet":{ "shape":"CertificateWallet", "documentation":"

The location of the imported Oracle Wallet certificate for use with SSL.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the certificate.

" } } }, @@ -1590,7 +2046,7 @@ }, "EngineName":{ "shape":"String", - "documentation":"

The type of engine for the endpoint. Valid values include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, SYBASE, and SQLSERVER.

" + "documentation":"

The type of engine for the endpoint. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, DYNAMODB, MONGODB, SYBASE, and SQLSERVER.

" }, "Username":{ "shape":"String", @@ -1623,6 +2079,18 @@ "SslMode":{ "shape":"DmsSslModeValue", "documentation":"

The SSL mode to be used.

SSL mode can be one of four values: none, require, verify-ca, verify-full.

The default value is none.

" + }, + "DynamoDbSettings":{ + "shape":"DynamoDbSettings", + "documentation":"

Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the available settings, see the Using Object Mapping to Migrate Data to DynamoDB section at Using an Amazon DynamoDB Database as a Target for AWS Database Migration Service.

" + }, + "S3Settings":{ + "shape":"S3Settings", + "documentation":"

Settings in JSON format for the target S3 endpoint. For more information about the available settings, see the Extra Connection Attributes section at Using Amazon S3 as a Target for AWS Database Migration Service.

" + }, + "MongoDbSettings":{ + "shape":"MongoDbSettings", + "documentation":"

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the Configuration Properties When Using MongoDB as a Source for AWS Database Migration Service section at Using Amazon S3 as a Target for AWS Database Migration Service.

" } }, "documentation":"

" @@ -1637,6 +2105,43 @@ }, "documentation":"

" }, + "ModifyEventSubscriptionMessage":{ + "type":"structure", + "required":["SubscriptionName"], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the AWS DMS event notification subscription to be modified.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" + }, + "SourceType":{ + "shape":"String", + "documentation":"

The type of AWS DMS resource that generates the events you want to subscribe to.

Valid values: replication-instance | migration-task

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories for a source type that you want to subscribe to. Use the DescribeEventCategories action to see a list of event categories.

" + }, + "Enabled":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value; set to true to activate the subscription.

" + } + }, + "documentation":"

" + }, + "ModifyEventSubscriptionResponse":{ + "type":"structure", + "members":{ + "EventSubscription":{ + "shape":"EventSubscription", + "documentation":"

The modified event subscription.

" + } + }, + "documentation":"

" + }, "ModifyReplicationInstanceMessage":{ "type":"structure", "required":["ReplicationInstanceArn"], @@ -1740,7 +2245,7 @@ }, "ReplicationTaskIdentifier":{ "shape":"String", - "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" }, "MigrationType":{ "shape":"MigrationTypeValue", @@ -1748,7 +2253,7 @@ }, "TableMappings":{ "shape":"String", - "documentation":"

The path of the JSON file that contains the table mappings. Preceed the path with \"file://\".

For example, --table-mappings file://mappingfile.json

" + "documentation":"

When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with \"file://\". When working with the DMS API, provide the JSON as the parameter value.

For example, --table-mappings file://mappingfile.json

" }, "ReplicationTaskSettings":{ "shape":"String", @@ -1771,6 +2276,63 @@ }, "documentation":"

" }, + "MongoDbSettings":{ + "type":"structure", + "members":{ + "Username":{ + "shape":"String", + "documentation":"

The user name you use to access the MongoDB source endpoint.

" + }, + "Password":{ + "shape":"SecretString", + "documentation":"

The password for the user account you use to access the MongoDB source endpoint.

" + }, + "ServerName":{ + "shape":"String", + "documentation":"

The name of the server on the MongoDB source endpoint.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port value for the MongoDB source endpoint.

" + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

The database name on the MongoDB source endpoint.

" + }, + "AuthType":{ + "shape":"AuthTypeValue", + "documentation":"

The authentication type you use to access the MongoDB source endpoint.

Valid values: NO, PASSWORD

When NO is selected, user name and password parameters are not used and can be empty.

" + }, + "AuthMechanism":{ + "shape":"AuthMechanismValue", + "documentation":"

The authentication mechanism you use to access the MongoDB source endpoint.

Valid values: DEFAULT, MONGODB_CR, SCRAM_SHA_1

DEFAULT – For MongoDB version 2.x, use MONGODB_CR. For MongoDB version 3.x, use SCRAM_SHA_1. This attribute is not used when authType=No.

" + }, + "NestingLevel":{ + "shape":"NestingLevelValue", + "documentation":"

Specifies either document or table mode.

Valid values: NONE, ONE

Default value is NONE. Specify NONE to use document mode. Specify ONE to use table mode.

" + }, + "ExtractDocId":{ + "shape":"String", + "documentation":"

Specifies the document ID. Use this attribute when NestingLevel is set to NONE.

Default value is false.

" + }, + "DocsToInvestigate":{ + "shape":"String", + "documentation":"

Indicates the number of documents to preview to determine the document organization. Use this attribute when NestingLevel is set to ONE.

Must be a positive value greater than 0. Default value is 1000.

" + }, + "AuthSource":{ + "shape":"String", + "documentation":"

The MongoDB database name. This attribute is not used when authType=NO.

The default is admin.

" + } + }, + "documentation":"

" + }, + "NestingLevelValue":{ + "type":"string", + "enum":[ + "none", + "one" + ] + }, "OrderableReplicationInstance":{ "type":"structure", "members":{ @@ -1874,6 +2436,32 @@ "refreshing" ] }, + "ReloadTablesMessage":{ + "type":"structure", + "required":[ + "ReplicationTaskArn", + "TablesToReload" + ], + "members":{ + "ReplicationTaskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" + }, + "TablesToReload":{ + "shape":"TableListToReload", + "documentation":"

The name and schema of the table to be reloaded.

" + } + } + }, + "ReloadTablesResponse":{ + "type":"structure", + "members":{ + "ReplicationTaskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" + } + } + }, "RemoveTagsFromResourceMessage":{ "type":"structure", "required":[ @@ -2083,7 +2671,7 @@ "members":{ "ReplicationTaskIdentifier":{ "shape":"String", - "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" }, "SourceEndpointArn":{ "shape":"String", @@ -2210,6 +2798,62 @@ "documentation":"

The quota for this resource quota has been exceeded.

", "exception":true }, + "S3Settings":{ + "type":"structure", + "members":{ + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) used by the service access IAM role.

" + }, + "ExternalTableDefinition":{ + "shape":"String", + "documentation":"

" + }, + "CsvRowDelimiter":{ + "shape":"String", + "documentation":"

The delimiter used to separate rows in the source files. The default is a carriage return (\\n).

" + }, + "CsvDelimiter":{ + "shape":"String", + "documentation":"

The delimiter used to separate columns in the source files. The default is a comma.

" + }, + "BucketFolder":{ + "shape":"String", + "documentation":"

An optional parameter to set a folder name in the S3 bucket. If provided, tables are created in the path <bucketFolder>/<schema_name>/<table_name>/. If this parameter is not specified, then the path used is <schema_name>/<table_name>/.

" + }, + "BucketName":{ + "shape":"String", + "documentation":"

The name of the S3 bucket.

" + }, + "CompressionType":{ + "shape":"CompressionTypeValue", + "documentation":"

An optional parameter to use GZIP to compress the target files. Set to GZIP to compress the target files. Set to NONE (the default) or do not use to leave the files uncompressed.

" + } + }, + "documentation":"

" + }, + "SNSInvalidTopicFault":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ExceptionMessage", + "documentation":"

" + } + }, + "documentation":"

The SNS topic is invalid.

", + "exception":true + }, + "SNSNoAuthorizationFault":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ExceptionMessage", + "documentation":"

" + } + }, + "documentation":"

You are not authorized for the SNS subscription.

", + "exception":true + }, "SchemaList":{ "type":"list", "member":{"shape":"String"} @@ -2218,6 +2862,17 @@ "type":"string", "sensitive":true }, + "SourceIdsList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"SourceId" + } + }, + "SourceType":{ + "type":"string", + "enum":["replication-instance"] + }, "StartReplicationTaskMessage":{ "type":"structure", "required":[ @@ -2339,7 +2994,7 @@ "members":{ "EngineName":{ "shape":"String", - "documentation":"

The database engine name. Valid values include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, SYBASE, and SQLSERVER.

" + "documentation":"

The database engine name. Valid values, depending on the EndPointType, include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER.

" }, "SupportsCDC":{ "shape":"Boolean", @@ -2360,6 +3015,10 @@ } }, "TStamp":{"type":"timestamp"}, + "TableListToReload":{ + "type":"list", + "member":{"shape":"TableToReload"} + }, "TableStatistics":{ "type":"structure", "members":{ @@ -2391,6 +3050,14 @@ "shape":"Long", "documentation":"

The number of rows added during the Full Load operation.

" }, + "FullLoadCondtnlChkFailedRows":{ + "shape":"Long", + "documentation":"

The number of rows that failed conditional checks during the Full Load operation (valid only for DynamoDB as a target migrations).

" + }, + "FullLoadErrorRows":{ + "shape":"Long", + "documentation":"

The number of rows that failed to load during the Full Load operation (valid only for DynamoDB as a target migrations).

" + }, "LastUpdateTime":{ "shape":"TStamp", "documentation":"

The last time the table was updated.

" @@ -2406,6 +3073,20 @@ "type":"list", "member":{"shape":"TableStatistics"} }, + "TableToReload":{ + "type":"structure", + "members":{ + "SchemaName":{ + "shape":"String", + "documentation":"

The schema name of the table to be reloaded.

" + }, + "TableName":{ + "shape":"String", + "documentation":"

The table name of the table to be reloaded.

" + } + }, + "documentation":"

" + }, "Tag":{ "type":"structure", "members":{ @@ -2495,5 +3176,5 @@ } } }, - "documentation":"AWS Database Migration Service

AWS Database Migration Service (AWS DMS) can migrate your data to and from the most widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, MariaDB, Amazon Aurora, MySQL, and SAP Adaptive Server Enterprise (ASE). The service supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to MySQL or SQL Server to PostgreSQL.

" + "documentation":"AWS Database Migration Service

AWS Database Migration Service (AWS DMS) can migrate your data to and from the most widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, MariaDB, Amazon Aurora, MySQL, and SAP Adaptive Server Enterprise (ASE). The service supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to MySQL or SQL Server to PostgreSQL.

For more information about AWS DMS, see the AWS DMS user guide at What Is AWS Database Migration Service?

" } diff --git a/botocore/data/ds/2015-04-16/examples-1.json b/botocore/data/ds/2015-04-16/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/ds/2015-04-16/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/dynamodb/2012-08-10/examples-1.json b/botocore/data/dynamodb/2012-08-10/examples-1.json new file mode 100644 index 00000000..e66e704b --- /dev/null +++ b/botocore/data/dynamodb/2012-08-10/examples-1.json @@ -0,0 +1,628 @@ +{ + "version": "1.0", + "examples": { + "BatchGetItem": [ + { + "input": { + "RequestItems": { + "Music": { + "Keys": [ + { + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Call Me Today" + } + }, + { + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + }, + { + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Scared of My Shadow" + } + } + ], + "ProjectionExpression": "AlbumTitle" + } + } + }, + "output": { + "Responses": { + "Music": [ + { + "AlbumTitle": { + "S": "Somewhat Famous" + } + }, + { + "AlbumTitle": { + "S": "Blue Sky Blues" + } + }, + { + "AlbumTitle": { + "S": "Louder Than Ever" + } + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example reads multiple items from the Music table using a batch of three GetItem requests. Only the AlbumTitle attribute is returned.", + "id": "to-retrieve-multiple-items-from-a-table-1476118438992", + "title": "To retrieve multiple items from a table" + } + ], + "BatchWriteItem": [ + { + "input": { + "RequestItems": { + "Music": [ + { + "PutRequest": { + "Item": { + "AlbumTitle": { + "S": "Somewhat Famous" + }, + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Call Me Today" + } + } + } + }, + { + "PutRequest": { + "Item": { + "AlbumTitle": { + "S": "Songs About Life" + }, + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + } + } + }, + { + "PutRequest": { + "Item": { + "AlbumTitle": { + "S": "Blue Sky Blues" + }, + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Scared of My Shadow" + } + } + } + } + ] + } + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds three new items to the Music table using a batch of three PutItem requests.", + "id": "to-add-multiple-items-to-a-table-1476118519747", + "title": "To add multiple items to a table" + } + ], + "CreateTable": [ + { + "input": { + "AttributeDefinitions": [ + { + "AttributeName": "Artist", + "AttributeType": "S" + }, + { + "AttributeName": "SongTitle", + "AttributeType": "S" + } + ], + "KeySchema": [ + { + "AttributeName": "Artist", + "KeyType": "HASH" + }, + { + "AttributeName": "SongTitle", + "KeyType": "RANGE" + } + ], + "ProvisionedThroughput": { + "ReadCapacityUnits": 5, + "WriteCapacityUnits": 5 + }, + "TableName": "Music" + }, + "output": { + "TableDescription": { + "AttributeDefinitions": [ + { + "AttributeName": "Artist", + "AttributeType": "S" + }, + { + "AttributeName": "SongTitle", + "AttributeType": "S" + } + ], + "CreationDateTime": "1421866952.062", + "ItemCount": 0, + "KeySchema": [ + { + "AttributeName": "Artist", + "KeyType": "HASH" + }, + { + "AttributeName": "SongTitle", + "KeyType": "RANGE" + } + ], + "ProvisionedThroughput": { + "ReadCapacityUnits": 5, + "WriteCapacityUnits": 5 + }, + "TableName": "Music", + "TableSizeBytes": 0, + "TableStatus": "CREATING" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a table named Music.", + "id": "to-create-a-table-1476116291743", + "title": "To create a table" + } + ], + "DeleteItem": [ + { + "input": { + "Key": { + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Scared of My Shadow" + } + }, + "TableName": "Music" + }, + "output": { + "ConsumedCapacity": { + "CapacityUnits": 1, + "TableName": "Music" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes an item from the Music table.", + "id": "to-delete-an-item-1475884573758", + "title": "To delete an item" + } + ], + "DeleteTable": [ + { + "input": { + "TableName": "Music" + }, + "output": { + "TableDescription": { + "ItemCount": 0, + "ProvisionedThroughput": { + "NumberOfDecreasesToday": 1, + "ReadCapacityUnits": 5, + "WriteCapacityUnits": 5 + }, + "TableName": "Music", + "TableSizeBytes": 0, + "TableStatus": "DELETING" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the Music table.", + "id": "to-delete-a-table-1475884368755", + "title": "To delete a table" + } + ], + "DescribeLimits": [ + { + "input": { + }, + "output": { + "AccountMaxReadCapacityUnits": 20000, + "AccountMaxWriteCapacityUnits": 20000, + "TableMaxReadCapacityUnits": 10000, + "TableMaxWriteCapacityUnits": 10000 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the maximum read and write capacity units per table, and for the AWS account, in the current AWS region.", + "id": "to-determine-capacity-limits-per-table-and-account-in-the-current-aws-region-1475884162064", + "title": "To determine capacity limits per table and account, in the current AWS region" + } + ], + "DescribeTable": [ + { + "input": { + "TableName": "Music" + }, + "output": { + "Table": { + "AttributeDefinitions": [ + { + "AttributeName": "Artist", + "AttributeType": "S" + }, + { + "AttributeName": "SongTitle", + "AttributeType": "S" + } + ], + "CreationDateTime": "1421866952.062", + "ItemCount": 0, + "KeySchema": [ + { + "AttributeName": "Artist", + "KeyType": "HASH" + }, + { + "AttributeName": "SongTitle", + "KeyType": "RANGE" + } + ], + "ProvisionedThroughput": { + "NumberOfDecreasesToday": 1, + "ReadCapacityUnits": 5, + "WriteCapacityUnits": 5 + }, + "TableName": "Music", + "TableSizeBytes": 0, + "TableStatus": "ACTIVE" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the Music table.", + "id": "to-describe-a-table-1475884440502", + "title": "To describe a table" + } + ], + "GetItem": [ + { + "input": { + "Key": { + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + }, + "TableName": "Music" + }, + "output": { + "Item": { + "AlbumTitle": { + "S": "Songs About Life" + }, + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example retrieves an item from the Music table. The table has a partition key and a sort key (Artist and SongTitle), so you must specify both of these attributes.", + "id": "to-read-an-item-from-a-table-1475884258350", + "title": "To read an item from a table" + } + ], + "ListTables": [ + { + "input": { + }, + "output": { + "TableNames": [ + "Forum", + "ProductCatalog", + "Reply", + "Thread" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of the tables associated with the current AWS account and endpoint.", + "id": "to-list-tables-1475884741238", + "title": "To list tables" + } + ], + "PutItem": [ + { + "input": { + "Item": { + "AlbumTitle": { + "S": "Somewhat Famous" + }, + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Call Me Today" + } + }, + "ReturnConsumedCapacity": "TOTAL", + "TableName": "Music" + }, + "output": { + "ConsumedCapacity": { + "CapacityUnits": 1, + "TableName": "Music" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds a new item to the Music table.", + "id": "to-add-an-item-to-a-table-1476116191110", + "title": "To add an item to a table" + } + ], + "Query": [ + { + "input": { + "ExpressionAttributeValues": { + ":v1": { + "S": "No One You Know" + } + }, + "KeyConditionExpression": "Artist = :v1", + "ProjectionExpression": "SongTitle", + "TableName": "Music" + }, + "output": { + "ConsumedCapacity": { + }, + "Count": 2, + "Items": [ + { + "SongTitle": { + "S": "Call Me Today" + } + } + ], + "ScannedCount": 2 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example queries items in the Music table. The table has a partition key and sort key (Artist and SongTitle), but this query only specifies the partition key value. It returns song titles by the artist named \"No One You Know\".", + "id": "to-query-an-item-1475883874631", + "title": "To query an item" + } + ], + "Scan": [ + { + "input": { + "ExpressionAttributeNames": { + "AT": "AlbumTitle", + "ST": "SongTitle" + }, + "ExpressionAttributeValues": { + ":a": { + "S": "No One You Know" + } + }, + "FilterExpression": "Artist = :a", + "ProjectionExpression": "#ST, #AT", + "TableName": "Music" + }, + "output": { + "ConsumedCapacity": { + }, + "Count": 2, + "Items": [ + { + "AlbumTitle": { + "S": "Somewhat Famous" + }, + "SongTitle": { + "S": "Call Me Today" + } + }, + { + "AlbumTitle": { + "S": "Blue Sky Blues" + }, + "SongTitle": { + "S": "Scared of My Shadow" + } + } + ], + "ScannedCount": 3 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example scans the entire Music table, and then narrows the results to songs by the artist \"No One You Know\". For each item, only the album title and song title are returned.", + "id": "to-scan-a-table-1475883652470", + "title": "To scan a table" + } + ], + "UpdateItem": [ + { + "input": { + "ExpressionAttributeNames": { + "#AT": "AlbumTitle", + "#Y": "Year" + }, + "ExpressionAttributeValues": { + ":t": { + "S": "Louder Than Ever" + }, + ":y": { + "N": "2015" + } + }, + "Key": { + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + }, + "ReturnValues": "ALL_NEW", + "TableName": "Music", + "UpdateExpression": "SET #Y = :y, #AT = :t" + }, + "output": { + "Attributes": { + "AlbumTitle": { + "S": "Songs About Life" + }, + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates an item in the Music table. It adds a new attribute (Year) and modifies the AlbumTitle attribute. All of the attributes in the item, as they appear after the update, are returned in the response.", + "id": "to-update-an-item-in-a-table-1476118250055", + "title": "To update an item in a table" + } + ], + "UpdateTable": [ + { + "input": { + "ProvisionedThroughput": { + "ReadCapacityUnits": 10, + "WriteCapacityUnits": 10 + }, + "TableName": "MusicCollection" + }, + "output": { + "TableDescription": { + "AttributeDefinitions": [ + { + "AttributeName": "Artist", + "AttributeType": "S" + }, + { + "AttributeName": "SongTitle", + "AttributeType": "S" + } + ], + "CreationDateTime": "1421866952.062", + "ItemCount": 0, + "KeySchema": [ + { + "AttributeName": "Artist", + "KeyType": "HASH" + }, + { + "AttributeName": "SongTitle", + "KeyType": "RANGE" + } + ], + "ProvisionedThroughput": { + "LastIncreaseDateTime": "1421874759.194", + "NumberOfDecreasesToday": 1, + "ReadCapacityUnits": 1, + "WriteCapacityUnits": 1 + }, + "TableName": "MusicCollection", + "TableSizeBytes": 0, + "TableStatus": "UPDATING" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example increases the provisioned read and write capacity on the Music table.", + "id": "to-modify-a-tables-provisioned-throughput-1476118076147", + "title": "To modify a table's provisioned throughput" + } + ] + } +} diff --git a/botocore/data/dynamodb/2012-08-10/service-2.json b/botocore/data/dynamodb/2012-08-10/service-2.json old mode 100644 new mode 100755 index e4fe29f9..eeeac573 --- a/botocore/data/dynamodb/2012-08-10/service-2.json +++ b/botocore/data/dynamodb/2012-08-10/service-2.json @@ -118,6 +118,20 @@ ], "documentation":"

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

" }, + "DescribeTimeToLive":{ + "name":"DescribeTimeToLive", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTimeToLiveInput"}, + "output":{"shape":"DescribeTimeToLiveOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Gives a description of the Time to Live (TTL) status on the specified table.

" + }, "GetItem":{ "name":"GetItem", "http":{ @@ -269,6 +283,22 @@ {"shape":"InternalServerError"} ], "documentation":"

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Enable or disable Streams on the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. Once the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it is executing, the table status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

" + }, + "UpdateTimeToLive":{ + "name":"UpdateTimeToLive", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTimeToLiveInput"}, + "output":{"shape":"UpdateTimeToLiveOutput"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

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 UpdateTimeToLive call returns the current TimeToLiveSpecification; it may take up to one hour for the change to fully process.

TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the epoch time value stored in the attribute is less than the current time, the item is marked as expired and subsequently deleted.

The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1st, 1970 UTC.

DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations.

DynamoDB typically deletes expired items within two days of expiration. The exact duration within which an item gets deleted after expiration is specific to the nature of the workload. Items that have expired and not been deleted will still show up in reads, queries, and scans.

As items are deleted, they are removed from any Local Secondary Index and Global Secondary Index immediately in the same eventually consistent way as a standard delete operation.

For more information, see Time To Live in the Amazon DynamoDB Developer Guide.

" } }, "shapes":{ @@ -694,7 +724,7 @@ }, "ConditionExpression":{ "shape":"ConditionExpression", - "documentation":"

A condition that must be satisfied in order for a conditional DeleteItem to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A condition that must be satisfied in order for a conditional DeleteItem to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", @@ -806,6 +836,25 @@ }, "documentation":"

Represents the output of a DescribeTable operation.

" }, + "DescribeTimeToLiveInput":{ + "type":"structure", + "required":["TableName"], + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table to be described.

" + } + } + }, + "DescribeTimeToLiveOutput":{ + "type":"structure", + "members":{ + "TimeToLiveDescription":{ + "shape":"TimeToLiveDescription", + "documentation":"

" + } + } + }, "ErrorMessage":{"type":"string"}, "ExpectedAttributeMap":{ "type":"map", @@ -1436,7 +1485,7 @@ }, "ConditionExpression":{ "shape":"ConditionExpression", - "documentation":"

A condition that must be satisfied in order for a conditional PutItem operation to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A condition that must be satisfied in order for a conditional PutItem operation to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", @@ -1929,6 +1978,53 @@ "max":256, "min":0 }, + "TimeToLiveAttributeName":{ + "type":"string", + "max":255, + "min":1 + }, + "TimeToLiveDescription":{ + "type":"structure", + "members":{ + "TimeToLiveStatus":{ + "shape":"TimeToLiveStatus", + "documentation":"

The Time to Live status for the table.

" + }, + "AttributeName":{ + "shape":"TimeToLiveAttributeName", + "documentation":"

The name of the Time to Live attribute for items in the table.

" + } + }, + "documentation":"

The description of the Time to Live (TTL) status on the specified table.

" + }, + "TimeToLiveEnabled":{"type":"boolean"}, + "TimeToLiveSpecification":{ + "type":"structure", + "required":[ + "Enabled", + "AttributeName" + ], + "members":{ + "Enabled":{ + "shape":"TimeToLiveEnabled", + "documentation":"

Indicates whether Time To Live is to be enabled (true) or disabled (false) on the table.

" + }, + "AttributeName":{ + "shape":"TimeToLiveAttributeName", + "documentation":"

The name of the Time to Live attribute used to store the expiration time for items in the table.

" + } + }, + "documentation":"

Represents the settings used to enable or disable Time to Live for the specified table.

" + }, + "TimeToLiveStatus":{ + "type":"string", + "enum":[ + "ENABLING", + "DISABLING", + "ENABLED", + "DISABLED" + ] + }, "UntagResourceInput":{ "type":"structure", "required":[ @@ -1994,7 +2090,7 @@ }, "ReturnValues":{ "shape":"ReturnValue", - "documentation":"

Use ReturnValues if you want to get the item attributes as they appeared either before or after they were updated. For UpdateItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - If UpdateItem overwrote an attribute name-value pair, then the content of the old item is returned.

  • UPDATED_OLD - The old versions of only the updated attributes are returned.

  • ALL_NEW - All of the attributes of the new version of the item are returned.

  • UPDATED_NEW - The new versions of only the updated attributes are returned.

There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No Read Capacity Units are consumed.

Values returned are strongly consistent

" + "documentation":"

Use ReturnValues if you want to get the item attributes as they appeared either before or after they were updated. For UpdateItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.

  • UPDATED_OLD - Returns only the updated attributes, as they appeared before the UpdateItem operation.

  • ALL_NEW - Returns all of the attributes of the item, as they appear after the UpdateItem operation.

  • UPDATED_NEW - Returns only the updated attributes, as they appear after the UpdateItem operation.

There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No Read Capacity Units are consumed.

Values returned are strongly consistent

" }, "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, "ReturnItemCollectionMetrics":{ @@ -2007,7 +2103,7 @@ }, "ConditionExpression":{ "shape":"ConditionExpression", - "documentation":"

A condition that must be satisfied in order for a conditional update to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A condition that must be satisfied in order for a conditional update to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", @@ -2075,6 +2171,33 @@ }, "documentation":"

Represents the output of an UpdateTable operation.

" }, + "UpdateTimeToLiveInput":{ + "type":"structure", + "required":[ + "TableName", + "TimeToLiveSpecification" + ], + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table to be configured.

" + }, + "TimeToLiveSpecification":{ + "shape":"TimeToLiveSpecification", + "documentation":"

Represents the settings used to enable or disable Time to Live for the specified table.

" + } + }, + "documentation":"

Represents the input of an UpdateTimeToLive operation.

" + }, + "UpdateTimeToLiveOutput":{ + "type":"structure", + "members":{ + "TimeToLiveSpecification":{ + "shape":"TimeToLiveSpecification", + "documentation":"

Represents the output of an UpdateTimeToLive operation.

" + } + } + }, "WriteRequest":{ "type":"structure", "members":{ diff --git a/botocore/data/dynamodbstreams/2012-08-10/examples-1.json b/botocore/data/dynamodbstreams/2012-08-10/examples-1.json new file mode 100644 index 00000000..8287e2c4 --- /dev/null +++ b/botocore/data/dynamodbstreams/2012-08-10/examples-1.json @@ -0,0 +1,212 @@ +{ + "version": "1.0", + "examples": { + "DescribeStream": [ + { + "input": { + "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252" + }, + "output": { + "StreamDescription": { + "CreationRequestDateTime": "Wed May 20 13:51:10 PDT 2015", + "KeySchema": [ + { + "AttributeName": "ForumName", + "KeyType": "HASH" + }, + { + "AttributeName": "Subject", + "KeyType": "RANGE" + } + ], + "Shards": [ + { + "SequenceNumberRange": { + "EndingSequenceNumber": "20500000000000000910398", + "StartingSequenceNumber": "20500000000000000910398" + }, + "ShardId": "shardId-00000001414562045508-2bac9cd2" + }, + { + "ParentShardId": "shardId-00000001414562045508-2bac9cd2", + "SequenceNumberRange": { + "EndingSequenceNumber": "820400000000000001192334", + "StartingSequenceNumber": "820400000000000001192334" + }, + "ShardId": "shardId-00000001414576573621-f55eea83" + }, + { + "ParentShardId": "shardId-00000001414576573621-f55eea83", + "SequenceNumberRange": { + "EndingSequenceNumber": "1683700000000000001135967", + "StartingSequenceNumber": "1683700000000000001135967" + }, + "ShardId": "shardId-00000001414592258131-674fd923" + }, + { + "ParentShardId": "shardId-00000001414592258131-674fd923", + "SequenceNumberRange": { + "StartingSequenceNumber": "2574600000000000000935255" + }, + "ShardId": "shardId-00000001414608446368-3a1afbaf" + } + ], + "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252", + "StreamLabel": "2015-05-20T20:51:10.252", + "StreamStatus": "ENABLED", + "StreamViewType": "NEW_AND_OLD_IMAGES", + "TableName": "Forum" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example describes a stream with a given stream ARN.", + "id": "to-describe-a-stream-with-a-given-stream-arn-1473457835200", + "title": "To describe a stream with a given stream ARN" + } + ], + "GetRecords": [ + { + "input": { + "ShardIterator": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252|1|AAAAAAAAAAEvJp6D+zaQ... ..." + }, + "output": { + "NextShardIterator": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252|1|AAAAAAAAAAGQBYshYDEe ... ...", + "Records": [ + { + "awsRegion": "us-west-2", + "dynamodb": { + "ApproximateCreationDateTime": "1.46480646E9", + "Keys": { + "ForumName": { + "S": "DynamoDB" + }, + "Subject": { + "S": "DynamoDB Thread 3" + } + }, + "SequenceNumber": "300000000000000499659", + "SizeBytes": 41, + "StreamViewType": "KEYS_ONLY" + }, + "eventID": "e2fd9c34eff2d779b297b26f5fef4206", + "eventName": "INSERT", + "eventSource": "aws:dynamodb", + "eventVersion": "1.0" + }, + { + "awsRegion": "us-west-2", + "dynamodb": { + "ApproximateCreationDateTime": "1.46480527E9", + "Keys": { + "ForumName": { + "S": "DynamoDB" + }, + "Subject": { + "S": "DynamoDB Thread 1" + } + }, + "SequenceNumber": "400000000000000499660", + "SizeBytes": 41, + "StreamViewType": "KEYS_ONLY" + }, + "eventID": "4b25bd0da9a181a155114127e4837252", + "eventName": "MODIFY", + "eventSource": "aws:dynamodb", + "eventVersion": "1.0" + }, + { + "awsRegion": "us-west-2", + "dynamodb": { + "ApproximateCreationDateTime": "1.46480646E9", + "Keys": { + "ForumName": { + "S": "DynamoDB" + }, + "Subject": { + "S": "DynamoDB Thread 2" + } + }, + "SequenceNumber": "500000000000000499661", + "SizeBytes": 41, + "StreamViewType": "KEYS_ONLY" + }, + "eventID": "740280c73a3df7842edab3548a1b08ad", + "eventName": "REMOVE", + "eventSource": "aws:dynamodb", + "eventVersion": "1.0" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves all the stream records from a shard.", + "id": "to-retrieve-all-the-stream-records-from-a-shard-1473707781419", + "title": "To retrieve all the stream records from a shard" + } + ], + "GetShardIterator": [ + { + "input": { + "ShardId": "00000001414576573621-f55eea83", + "ShardIteratorType": "TRIM_HORIZON", + "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252" + }, + "output": { + "ShardIterator": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252|1|AAAAAAAAAAEvJp6D+zaQ... ..." + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a shard iterator for the provided stream ARN and shard ID.", + "id": "to-obtain-a-shard-iterator-for-the-provided-stream-arn-and-shard-id-1473459941476", + "title": "To obtain a shard iterator for the provided stream ARN and shard ID" + } + ], + "ListStreams": [ + { + "input": { + }, + "output": { + "Streams": [ + { + "StreamArn": "arn:aws:dynamodb:us-wesst-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252", + "StreamLabel": "2015-05-20T20:51:10.252", + "TableName": "Forum" + }, + { + "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:50:02.714", + "StreamLabel": "2015-05-20T20:50:02.714", + "TableName": "Forum" + }, + { + "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-19T23:03:50.641", + "StreamLabel": "2015-05-19T23:03:50.641", + "TableName": "Forum" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists all of the stream ARNs.", + "id": "to-list-all-of-the-stream-arns--1473459534285", + "title": "To list all of the stream ARNs " + } + ] + } +} diff --git a/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json b/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/dynamodbstreams/2012-08-10/service-2.json b/botocore/data/dynamodbstreams/2012-08-10/service-2.json index dd99b801..699e8aec 100644 --- a/botocore/data/dynamodbstreams/2012-08-10/service-2.json +++ b/botocore/data/dynamodbstreams/2012-08-10/service-2.json @@ -24,7 +24,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), the composition of its shards, and its corresponding DynamoDB table.

You can call DescribeStream at a maximum rate of 10 times per second.

Each shard in the stream has a SequenceNumberRange associated with it. If the SequenceNumberRange has a StartingSequenceNumber but no EndingSequenceNumber, then the shard is still open (able to receive more stream records). If both StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed and can no longer receive more data.

" + "documentation":"

Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), the composition of its shards, and its corresponding DynamoDB table.

You can call DescribeStream at a maximum rate of 10 times per second.

Each shard in the stream has a SequenceNumberRange associated with it. If the SequenceNumberRange has a StartingSequenceNumber but no EndingSequenceNumber, then the shard is still open (able to receive more stream records). If both StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed and can no longer receive more data.

" }, "GetRecords":{ "name":"GetRecords", @@ -70,7 +70,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns an array of stream ARNs associated with the current account and endpoint. If the TableName parameter is present, then ListStreams will return only the streams ARNs for that table.

You can call ListStreams at a maximum rate of 5 times per second.

" + "documentation":"

Returns an array of stream ARNs associated with the current account and endpoint. If the TableName parameter is present, then ListStreams will return only the streams ARNs for that table.

You can call ListStreams at a maximum rate of 5 times per second.

" } }, "shapes":{ @@ -153,7 +153,7 @@ "documentation":"

The shard ID of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedShardId in the previous operation.

" } }, - "documentation":"

Represents the input of a DescribeStream operation.

" + "documentation":"

Represents the input of a DescribeStream operation.

" }, "DescribeStreamOutput":{ "type":"structure", @@ -163,7 +163,7 @@ "documentation":"

A complete description of the stream, including its creation date and time, the DynamoDB table associated with the stream, the shard IDs within the stream, and the beginning and ending sequence numbers of stream records within the shards.

" } }, - "documentation":"

Represents the output of a DescribeStream operation.

" + "documentation":"

Represents the output of a DescribeStream operation.

" }, "ErrorMessage":{"type":"string"}, "ExpiredIteratorException":{ @@ -174,7 +174,7 @@ "documentation":"

The provided iterator exceeds the maximum age allowed.

" } }, - "documentation":"

The shard iterator has expired and can no longer be used to retrieve stream records. A shard iterator expires 15 minutes after it is retrieved using the GetShardIterator action.

", + "documentation":"

The shard iterator has expired and can no longer be used to retrieve stream records. A shard iterator expires 15 minutes after it is retrieved using the GetShardIterator action.

", "exception":true }, "GetRecordsInput":{ @@ -190,7 +190,7 @@ "documentation":"

The maximum number of records to return from the shard. The upper limit is 1000.

" } }, - "documentation":"

Represents the input of a GetRecords operation.

" + "documentation":"

Represents the input of a GetRecords operation.

" }, "GetRecordsOutput":{ "type":"structure", @@ -204,7 +204,7 @@ "documentation":"

The next position in the shard from which to start sequentially reading stream records. If set to null, the shard has been closed and the requested iterator will not return any more data.

" } }, - "documentation":"

Represents the output of a GetRecords operation.

" + "documentation":"

Represents the output of a GetRecords operation.

" }, "GetShardIteratorInput":{ "type":"structure", @@ -231,7 +231,7 @@ "documentation":"

The sequence number of a stream record in the shard from which to start reading.

" } }, - "documentation":"

Represents the input of a GetShardIterator operation.

" + "documentation":"

Represents the input of a GetShardIterator operation.

" }, "GetShardIteratorOutput":{ "type":"structure", @@ -241,7 +241,21 @@ "documentation":"

The position in the shard from which to start reading stream records sequentially. A shard iterator specifies this position using the sequence number of a stream record in a shard.

" } }, - "documentation":"

Represents the output of a GetShardIterator operation.

" + "documentation":"

Represents the output of a GetShardIterator operation.

" + }, + "Identity":{ + "type":"structure", + "members":{ + "PrincipalId":{ + "shape":"String", + "documentation":"

A unique identifier for the entity that made the call. For Time To Live, the principalId is \"dynamodb.amazonaws.com\".

" + }, + "Type":{ + "shape":"String", + "documentation":"

The type of the identity. For Time To Live, the type is \"Service\".

" + } + }, + "documentation":"

Contains details about the type of identity that made the request.

" }, "InternalServerError":{ "type":"structure", @@ -282,7 +296,7 @@ "documentation":"

The attribute data, consisting of the data type and the attribute value itself.

" } }, - "documentation":"

Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key (partition key) would be represented by one KeySchemaElement. A composite primary key (partition key and sort key) would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + "documentation":"

Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key (partition key) would be represented by one KeySchemaElement. A composite primary key (partition key and sort key) would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" }, "KeyType":{ "type":"string", @@ -322,7 +336,7 @@ "documentation":"

The ARN (Amazon Resource Name) of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedStreamArn in the previous operation.

" } }, - "documentation":"

Represents the input of a ListStreams operation.

" + "documentation":"

Represents the input of a ListStreams operation.

" }, "ListStreamsOutput":{ "type":"structure", @@ -336,7 +350,7 @@ "documentation":"

The stream ARN of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

If LastEvaluatedStreamArn is empty, then the \"last page\" of results has been processed and there is no more data to be retrieved.

If LastEvaluatedStreamArn is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedStreamArn is empty.

" } }, - "documentation":"

Represents the output of a ListStreams operation.

" + "documentation":"

Represents the output of a ListStreams operation.

" }, "MapAttributeValue":{ "type":"map", @@ -378,19 +392,23 @@ }, "eventVersion":{ "shape":"String", - "documentation":"

The version number of the stream record format. This number is updated whenever the structure of Record is modified.

Client applications must not assume that eventVersion will remain at a particular value, as this number is subject to change at any time. In general, eventVersion will only increase as the low-level DynamoDB Streams API evolves.

" + "documentation":"

The version number of the stream record format. This number is updated whenever the structure of Record is modified.

Client applications must not assume that eventVersion will remain at a particular value, as this number is subject to change at any time. In general, eventVersion will only increase as the low-level DynamoDB Streams API evolves.

" }, "eventSource":{ "shape":"String", - "documentation":"

The AWS service from which the stream record originated. For DynamoDB Streams, this is aws:dynamodb.

" + "documentation":"

The AWS service from which the stream record originated. For DynamoDB Streams, this is aws:dynamodb.

" }, "awsRegion":{ "shape":"String", - "documentation":"

The region in which the GetRecords request was received.

" + "documentation":"

The region in which the GetRecords request was received.

" }, "dynamodb":{ "shape":"StreamRecord", "documentation":"

The main body of the stream record, containing all of the DynamoDB-specific fields.

" + }, + "userIdentity":{ + "shape":"Identity", + "documentation":"

Items that are deleted by the Time to Live process after expiration have the following fields:

  • Records[].userIdentity.type

    \"Service\"

  • Records[].userIdentity.principalId

    \"dynamodb.amazonaws.com\"

" } }, "documentation":"

A description of a unique event within a stream.

" @@ -483,7 +501,7 @@ }, "StreamLabel":{ "shape":"String", - "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • the AWS customer ID.

  • the table name

  • the StreamLabel

" + "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • the AWS customer ID.

  • the table name

  • the StreamLabel

" } }, "documentation":"

Represents all of the data describing a particular stream.

" @@ -502,7 +520,7 @@ }, "StreamLabel":{ "shape":"String", - "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • the AWS customer ID.

  • the table name

  • the StreamLabel

" + "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • the AWS customer ID.

  • the table name

  • the StreamLabel

" }, "StreamStatus":{ "shape":"StreamStatus", @@ -611,9 +629,9 @@ "documentation":"

\"The data you are trying to access has been trimmed.

" } }, - "documentation":"

The operation attempted to read past the oldest stream record in a shard.

In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException if:

  • You request a shard iterator with a sequence number older than the trim point (24 hours).

  • You obtain a shard iterator, but before you use the iterator in a GetRecords request, a stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access a record that no longer exists.

", + "documentation":"

The operation attempted to read past the oldest stream record in a shard.

In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException if:

  • You request a shard iterator with a sequence number older than the trim point (24 hours).

  • You obtain a shard iterator, but before you use the iterator in a GetRecords request, a stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access a record that no longer exists.

", "exception":true } }, - "documentation":"Amazon DynamoDB

Amazon DynamoDB Streams provides API actions for accessing streams and processing stream records. To learn more about application development with Streams, see Capturing Table Activity with DynamoDB Streams in the Amazon DynamoDB Developer Guide.

The following are short descriptions of each low-level DynamoDB Streams action:

  • DescribeStream - Returns detailed information about a particular stream.

  • GetRecords - Retrieves the stream records from within a shard.

  • GetShardIterator - Returns information on how to retrieve the streams record from a shard with a given shard ID.

  • ListStreams - Returns a list of all the streams associated with the current AWS account and endpoint.

" + "documentation":"Amazon DynamoDB

Amazon DynamoDB Streams provides API actions for accessing streams and processing stream records. To learn more about application development with Streams, see Capturing Table Activity with DynamoDB Streams in the Amazon DynamoDB Developer Guide.

" } diff --git a/botocore/data/ec2/2016-09-15/waiters-2.json b/botocore/data/ec2/2016-09-15/waiters-2.json index 9cb126cd..71051948 100755 --- a/botocore/data/ec2/2016-09-15/waiters-2.json +++ b/botocore/data/ec2/2016-09-15/waiters-2.json @@ -281,6 +281,24 @@ } ] }, + "KeyPairExists": { + "operation": "DescribeKeyPairs", + "delay": 5, + "maxAttempts": 6, + "acceptors": [ + { + "expected": true, + "matcher": "path", + "state": "success", + "argument": "length(KeyPairs[].KeyName) > `0`" + }, + { + "expected": "InvalidKeyPair.NotFound", + "matcher": "error", + "state": "retry" + } + ] + }, "NatGatewayAvailable": { "operation": "DescribeNatGateways", "delay": 15, diff --git a/botocore/data/ec2/2016-11-15/paginators-1.json b/botocore/data/ec2/2016-11-15/paginators-1.json index 2bd01ad5..244abea7 100644 --- a/botocore/data/ec2/2016-11-15/paginators-1.json +++ b/botocore/data/ec2/2016-11-15/paginators-1.json @@ -58,6 +58,12 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "Volumes" + }, + "DescribeNatGateways": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NatGateways" } } } diff --git a/botocore/data/ec2/2016-11-15/service-2.json b/botocore/data/ec2/2016-11-15/service-2.json old mode 100755 new mode 100644 index e1a10be6..7c30780a --- a/botocore/data/ec2/2016-11-15/service-2.json +++ b/botocore/data/ec2/2016-11-15/service-2.json @@ -29,7 +29,7 @@ }, "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, "output":{"shape":"AcceptVpcPeeringConnectionResult"}, - "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests.

" + "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding VPC peering connection requests.

" }, "AllocateAddress":{ "name":"AllocateAddress", @@ -78,7 +78,7 @@ }, "input":{"shape":"AssociateAddressRequest"}, "output":{"shape":"AssociateAddressResult"}, - "documentation":"

Associates an Elastic IP address with an instance or a network interface.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance.

[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.

" + "documentation":"

Associates an Elastic IP address with an instance or a network interface.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.

[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.

" }, "AssociateDhcpOptions":{ "name":"AssociateDhcpOptions", @@ -89,6 +89,16 @@ "input":{"shape":"AssociateDhcpOptionsRequest"}, "documentation":"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" }, + "AssociateIamInstanceProfile":{ + "name":"AssociateIamInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateIamInstanceProfileRequest"}, + "output":{"shape":"AssociateIamInstanceProfileResult"}, + "documentation":"

Associates an IAM instance profile with a running or stopped instance. You cannot associate more than one IAM instance profile with an instance.

" + }, "AssociateRouteTable":{ "name":"AssociateRouteTable", "http":{ @@ -166,7 +176,7 @@ }, "input":{"shape":"AttachVpnGatewayRequest"}, "output":{"shape":"AttachVpnGatewayResult"}, - "documentation":"

Attaches a virtual private gateway to a VPC. For more information, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Attaches a virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time.

For more information, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" }, "AuthorizeSecurityGroupEgress":{ "name":"AuthorizeSecurityGroupEgress", @@ -282,7 +292,7 @@ }, "input":{"shape":"CopyImageRequest"}, "output":{"shape":"CopyImageResult"}, - "documentation":"

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request.

For more information, see Copying AMIs in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request.

For more information about the prerequisites and limits when copying an AMI, see Copying an AMI in the Amazon Elastic Compute Cloud User Guide.

" }, "CopySnapshot":{ "name":"CopySnapshot", @@ -312,7 +322,7 @@ }, "input":{"shape":"CreateDhcpOptionsRequest"}, "output":{"shape":"CreateDhcpOptionsResult"}, - "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. If you want your instance to receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers to a custom DNS server.

  • domain-name - If you're using AmazonProvidedDNS in \"us-east-1\", specify \"ec2.internal\". If you're using AmazonProvidedDNS in another region, specify \"region.compute.internal\" (for example, \"ap-northeast-1.compute.internal\"). Otherwise, specify a domain name (for example, \"MyCompany.com\"). This value is used to complete unqualified DNS hostnames. Important: Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name.

  • ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) servers.

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported). For more information about these node types, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an Internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. If you want your instance to receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers to a custom DNS server.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in another region, specify region.compute.internal (for example, ap-northeast-1.compute.internal). Otherwise, specify a domain name (for example, MyCompany.com). This value is used to complete unqualified DNS hostnames. Important: Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name.

  • ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) servers.

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported). For more information about these node types, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an Internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" }, "CreateEgressOnlyInternetGateway":{ "name":"CreateEgressOnlyInternetGateway", @@ -334,6 +344,16 @@ "output":{"shape":"CreateFlowLogsResult"}, "documentation":"

Creates one or more flow logs to capture IP traffic for a specific network interface, subnet, or VPC. Flow logs are delivered to a specified log group in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request, a log stream is created in CloudWatch Logs for each network interface in the subnet or VPC. Log streams can include information about accepted and rejected traffic to a network interface. You can view the data in your log streams using Amazon CloudWatch Logs.

In your request, you must also specify an IAM role that has permission to publish logs to CloudWatch Logs.

" }, + "CreateFpgaImage":{ + "name":"CreateFpgaImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFpgaImageRequest"}, + "output":{"shape":"CreateFpgaImageResult"}, + "documentation":"

Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).

The create operation is asynchronous. To verify that the AFI is ready for use, check the output logs.

An AFI contains the FPGA bitstream that is ready to download to an FPGA. You can securely deploy an AFI on one or more FPGA-accelerated instances. For more information, see the AWS FPGA Hardware Development Kit.

" + }, "CreateImage":{ "name":"CreateImage", "http":{ @@ -490,7 +510,7 @@ }, "input":{"shape":"CreateSubnetRequest"}, "output":{"shape":"CreateSubnetResult"}, - "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The subnet's IPv4 CIDR block can be the same as the VPC's IPv4 CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).

If you've associated an IPv6 CIDR block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a /64 prefix length.

AWS reserves both the first four and the last IP address in each subnet's CIDR block. They're not available for use.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP address doesn't change if you stop and restart the instance (unlike a similar instance launched outside a VPC, which gets a new IP address when restarted). It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The subnet's IPv4 CIDR block can be the same as the VPC's IPv4 CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).

If you've associated an IPv6 CIDR block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a /64 prefix length.

AWS reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for use.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP address doesn't change if you stop and restart the instance (unlike a similar instance launched outside a VPC, which gets a new IP address when restarted). It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" }, "CreateTags":{ "name":"CreateTags", @@ -509,7 +529,7 @@ }, "input":{"shape":"CreateVolumeRequest"}, "output":{"shape":"Volume"}, - "documentation":"

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes with the Encrypted parameter. Encrypted volumes may only be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

For more information, see Creating or Restoring an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes with the Encrypted parameter. Encrypted volumes may only be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources.

For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" }, "CreateVpc":{ "name":"CreateVpc", @@ -539,7 +559,7 @@ }, "input":{"shape":"CreateVpcPeeringConnectionRequest"}, "output":{"shape":"CreateVpcPeeringConnectionResult"}, - "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and a peer VPC with which to create the connection. The peer VPC can belong to another AWS account. The requester VPC and peer VPC cannot have overlapping CIDR blocks.

The owner of the peer VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

A CreateVpcPeeringConnection request between VPCs with overlapping CIDR blocks results in the VPC peering connection having a status of failed.

" + "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and a peer VPC with which to create the connection. The peer VPC can belong to another AWS account. The requester VPC and peer VPC cannot have overlapping CIDR blocks.

The owner of the peer VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you try to create a VPC peering connection between VPCs that have overlapping CIDR blocks, the VPC peering connection status goes to failed.

" }, "CreateVpnConnection":{ "name":"CreateVpnConnection", @@ -919,6 +939,16 @@ "output":{"shape":"DescribeFlowLogsResult"}, "documentation":"

Describes one or more flow logs. To view the information in your flow logs (the log streams for the network interfaces), you must use the CloudWatch Logs console or the CloudWatch Logs API.

" }, + "DescribeFpgaImages":{ + "name":"DescribeFpgaImages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFpgaImagesRequest"}, + "output":{"shape":"DescribeFpgaImagesResult"}, + "documentation":"

Describes one or more available Amazon FPGA Images (AFIs). These include public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for which you have load permissions.

" + }, "DescribeHostReservationOfferings":{ "name":"DescribeHostReservationOfferings", "http":{ @@ -949,6 +979,16 @@ "output":{"shape":"DescribeHostsResult"}, "documentation":"

Describes one or more of your Dedicated Hosts.

The results describe only the Dedicated Hosts in the region you're currently using. All listed instances consume capacity on your Dedicated Host. Dedicated Hosts that have recently been released will be listed with the state released.

" }, + "DescribeIamInstanceProfileAssociations":{ + "name":"DescribeIamInstanceProfileAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIamInstanceProfileAssociationsRequest"}, + "output":{"shape":"DescribeIamInstanceProfileAssociationsResult"}, + "documentation":"

Describes your IAM instance profile associations.

" + }, "DescribeIdFormat":{ "name":"DescribeIdFormat", "http":{ @@ -1369,6 +1409,16 @@ "output":{"shape":"DescribeVolumesResult"}, "documentation":"

Describes the specified EBS volumes.

If you are describing a long list of volumes, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeVolumes request to retrieve the remaining results.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" }, + "DescribeVolumesModifications":{ + "name":"DescribeVolumesModifications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVolumesModificationsRequest"}, + "output":{"shape":"DescribeVolumesModificationsResult"}, + "documentation":"

Reports the current modification status of EBS volumes.

Current-generation EBS volumes support modification of attributes including type, size, and (for io1 volumes) IOPS provisioning while either attached to or detached from an instance. Following an action from the API or the console to modify a volume, the status of the modification may be modifying, optimizing, completed, or failed. If a volume has never been modified, then certain elements of the returned VolumeModification objects are null.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring Volume Modifications\".

" + }, "DescribeVpcAttribute":{ "name":"DescribeVpcAttribute", "http":{ @@ -1397,7 +1447,7 @@ }, "input":{"shape":"DescribeVpcClassicLinkDnsSupportRequest"}, "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"}, - "documentation":"

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" }, "DescribeVpcEndpointServices":{ "name":"DescribeVpcEndpointServices", @@ -1476,7 +1526,7 @@ "requestUri":"/" }, "input":{"shape":"DetachInternetGatewayRequest"}, - "documentation":"

Detaches an Internet gateway from a VPC, disabling connectivity between the Internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses.

" + "documentation":"

Detaches an Internet gateway from a VPC, disabling connectivity between the Internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses or public IPv4 addresses.

" }, "DetachNetworkInterface":{ "name":"DetachNetworkInterface", @@ -1533,7 +1583,7 @@ }, "input":{"shape":"DisableVpcClassicLinkDnsSupportRequest"}, "output":{"shape":"DisableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" }, "DisassociateAddress":{ "name":"DisassociateAddress", @@ -1544,6 +1594,16 @@ "input":{"shape":"DisassociateAddressRequest"}, "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" }, + "DisassociateIamInstanceProfile":{ + "name":"DisassociateIamInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateIamInstanceProfileRequest"}, + "output":{"shape":"DisassociateIamInstanceProfileResult"}, + "documentation":"

Disassociates an IAM instance profile from a running or stopped instance.

Use DescribeIamInstanceProfileAssociations to get the association ID.

" + }, "DisassociateRouteTable":{ "name":"DisassociateRouteTable", "http":{ @@ -1599,7 +1659,7 @@ }, "input":{"shape":"EnableVpcClassicLinkRequest"}, "output":{"shape":"EnableVpcClassicLinkResult"}, - "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC's route tables have existing routes for address ranges within the 10.0.0.0/8 IP address range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address ranges. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC's route tables have existing routes for address ranges within the 10.0.0.0/8 IP address range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address ranges. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" }, "EnableVpcClassicLinkDnsSupport":{ "name":"EnableVpcClassicLinkDnsSupport", @@ -1814,6 +1874,16 @@ "input":{"shape":"ModifySubnetAttributeRequest"}, "documentation":"

Modifies a subnet attribute. You can only modify one attribute at a time.

" }, + "ModifyVolume":{ + "name":"ModifyVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVolumeRequest"}, + "output":{"shape":"ModifyVolumeResult"}, + "documentation":"

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux File System. For information about extending a Windows file system, see Extending a Windows File System.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using the DescribeVolumesModifications API. For information about tracking status changes using either method, see Monitoring Volume Modifications.

With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.

" + }, "ModifyVolumeAttribute":{ "name":"ModifyVolumeAttribute", "http":{ @@ -1919,7 +1989,7 @@ }, "input":{"shape":"RegisterImageRequest"}, "output":{"shape":"RegisterImageResult"}, - "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. For more information, see Launching an Instance from a Snapshot in the Amazon Elastic Compute Cloud User Guide.

Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2 billingProduct code associated with an AMI to verify subscription status for package updates. Creating an AMI from an EBS snapshot does not maintain this billing code, and subsequent instances launched from such an AMI will not be able to connect to package update infrastructure.

Similarly, although you can create a Windows AMI from a snapshot, you can't successfully launch an instance from the AMI.

To create Windows AMIs or to create AMIs for Linux operating systems that must retain AMI billing codes to work properly, see CreateImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes.

" + "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using the block device mapping. For more information, see Launching a Linux Instance from a Backup in the Amazon Elastic Compute Cloud User Guide.

You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes.

Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code associated with an AMI to verify the subscription status for package updates. Creating an AMI from an EBS snapshot does not maintain this billing code, and subsequent instances launched from such an AMI will not be able to connect to package update infrastructure. To create an AMI that must retain billing codes, see CreateImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

" }, "RejectVpcPeeringConnection":{ "name":"RejectVpcPeeringConnection", @@ -1950,6 +2020,16 @@ "output":{"shape":"ReleaseHostsResult"}, "documentation":"

When you no longer want to use an On-Demand Dedicated Host it can be released. On-Demand billing is stopped and the host goes into released state. The host ID of Dedicated Hosts that have been released can no longer be specified in another request, e.g., ModifyHosts. You must stop or terminate all instances on a host before it can be released.

When Dedicated Hosts are released, it make take some time for them to stop counting toward your limit and you may receive capacity errors when trying to allocate new Dedicated hosts. Try waiting a few minutes, and then try again.

Released hosts will still appear in a DescribeHosts response.

" }, + "ReplaceIamInstanceProfileAssociation":{ + "name":"ReplaceIamInstanceProfileAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReplaceIamInstanceProfileAssociationRequest"}, + "output":{"shape":"ReplaceIamInstanceProfileAssociationResult"}, + "documentation":"

Replaces an IAM instance profile for the specified running instance. You can use this action to change the IAM instance profile that's associated with an instance without having to disassociate the existing IAM instance profile first.

Use DescribeIamInstanceProfileAssociations to get the association ID.

" + }, "ReplaceNetworkAclAssociation":{ "name":"ReplaceNetworkAclAssociation", "http":{ @@ -2089,7 +2169,7 @@ }, "input":{"shape":"RunInstancesRequest"}, "output":{"shape":"Reservation"}, - "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • [EC2-Classic] If don't specify an Availability Zone, we choose one for you.

  • Some instance types must be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID, the request fails. For more information, see Instance Types Available Only in a VPC.

  • [EC2-VPC] All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Amazon EC2 Instance Types.

  • If you don't specify a security group ID, we use the default security group. For more information, see Security Groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

To ensure faster instance launches, break up large requests into smaller batches. For example, create 5 separate launch requests for 100 instances each instead of 1 launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. After launch, you can apply tags to your running instance (requires a resource ID). For more information, see CreateTags and Tagging Your Amazon EC2 Resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

For troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • [EC2-Classic] If don't specify an Availability Zone, we choose one for you.

  • Some instance types must be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID, the request fails. For more information, see Instance Types Available Only in a VPC.

  • [EC2-VPC] All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance Types.

  • If you don't specify a security group ID, we use the default security group. For more information, see Security Groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

To ensure faster instance launches, break up large requests into smaller batches. For example, create 5 separate launch requests for 100 instances each instead of 1 launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging Your Amazon EC2 Resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

For troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" }, "RunScheduledInstances":{ "name":"RunScheduledInstances", @@ -2279,16 +2359,16 @@ "ActiveInstance":{ "type":"structure", "members":{ - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, "InstanceId":{ "shape":"String", "documentation":"

The ID of the instance.

", "locationName":"instanceId" }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, "SpotInstanceRequestId":{ "shape":"String", "documentation":"

The ID of the Spot instance request.

", @@ -2296,7 +2376,7 @@ }, "InstanceHealth":{ "shape":"InstanceHealthStatus", - "documentation":"

The health status of the instance. If the status of both the instance status check and the system status check is impaired, the health status of the instance is unhealthy. Otherwise, the health status is healthy.

", + "documentation":"

The health status of the instance. If the status of either the instance status check or the system status check is impaired, the health status of the instance is unhealthy. Otherwise, the health status is healthy.

", "locationName":"instanceHealth" } }, @@ -2381,14 +2461,14 @@ "AllocateAddressRequest":{ "type":"structure", "members":{ + "Domain":{ + "shape":"DomainType", + "documentation":"

Set to vpc to allocate the address for use with instances in a VPC.

Default: The address is for use with instances in EC2-Classic.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Set to vpc to allocate the address for use with instances in a VPC.

Default: The address is for use with instances in EC2-Classic.

" } }, "documentation":"

Contains the parameters for AllocateAddress.

" @@ -2401,15 +2481,15 @@ "documentation":"

The Elastic IP address.

", "locationName":"publicIp" }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "locationName":"domain" - }, "AllocationId":{ "shape":"String", "documentation":"

[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

", "locationName":"allocationId" + }, + "Domain":{ + "shape":"DomainType", + "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", + "locationName":"domain" } }, "documentation":"

Contains the output of AllocateAddress.

" @@ -2417,9 +2497,9 @@ "AllocateHostsRequest":{ "type":"structure", "required":[ + "AvailabilityZone", "InstanceType", - "Quantity", - "AvailabilityZone" + "Quantity" ], "members":{ "AutoPlacement":{ @@ -2427,6 +2507,11 @@ "documentation":"

This is enabled by default. This property allows instances to be automatically placed onto available Dedicated Hosts, when you are launching instances without specifying a host ID.

Default: Enabled

", "locationName":"autoPlacement" }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone for the Dedicated Hosts.

", + "locationName":"availabilityZone" + }, "ClientToken":{ "shape":"String", "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

", @@ -2441,11 +2526,6 @@ "shape":"Integer", "documentation":"

The number of Dedicated Hosts you want to allocate to your account with these parameters.

", "locationName":"quantity" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the Dedicated Hosts.

", - "locationName":"availabilityZone" } }, "documentation":"

Contains the parameters for AllocateHosts.

" @@ -2496,35 +2576,35 @@ "type":"structure", "required":["NetworkInterfaceId"], "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

", + "locationName":"ipv6AddressCount" }, "Ipv6Addresses":{ "shape":"Ipv6AddressList", "documentation":"

One or more specific IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses.

", "locationName":"ipv6Addresses" }, - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

", - "locationName":"ipv6AddressCount" + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" } } }, "AssignIpv6AddressesResult":{ "type":"structure", "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, "AssignedIpv6Addresses":{ "shape":"Ipv6AddressList", "documentation":"

The IPv6 addresses assigned to the network interface.

", "locationName":"assignedIpv6Addresses" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" } } }, @@ -2532,6 +2612,11 @@ "type":"structure", "required":["NetworkInterfaceId"], "members":{ + "AllowReassignment":{ + "shape":"Boolean", + "documentation":"

Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.

", + "locationName":"allowReassignment" + }, "NetworkInterfaceId":{ "shape":"String", "documentation":"

The ID of the network interface.

", @@ -2546,11 +2631,6 @@ "shape":"Integer", "documentation":"

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", "locationName":"secondaryPrivateIpAddressCount" - }, - "AllowReassignment":{ - "shape":"Boolean", - "documentation":"

Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.

", - "locationName":"allowReassignment" } }, "documentation":"

Contains the parameters for AssignPrivateIpAddresses.

" @@ -2558,10 +2638,9 @@ "AssociateAddressRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "AllocationId":{ + "shape":"String", + "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" }, "InstanceId":{ "shape":"String", @@ -2571,9 +2650,15 @@ "shape":"String", "documentation":"

The Elastic IP address. This is required for EC2-Classic.

" }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" + "AllowReassociation":{ + "shape":"Boolean", + "documentation":"

[EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

", + "locationName":"allowReassociation" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" }, "NetworkInterfaceId":{ "shape":"String", @@ -2584,11 +2669,6 @@ "shape":"String", "documentation":"

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", "locationName":"privateIpAddress" - }, - "AllowReassociation":{ - "shape":"Boolean", - "documentation":"

[EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

", - "locationName":"allowReassociation" } }, "documentation":"

Contains the parameters for AssociateAddress.

" @@ -2611,11 +2691,6 @@ "VpcId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "DhcpOptionsId":{ "shape":"String", "documentation":"

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

" @@ -2623,15 +2698,47 @@ "VpcId":{ "shape":"String", "documentation":"

The ID of the VPC.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for AssociateDhcpOptions.

" }, + "AssociateIamInstanceProfileRequest":{ + "type":"structure", + "required":[ + "IamInstanceProfile", + "InstanceId" + ], + "members":{ + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

" + } + } + }, + "AssociateIamInstanceProfileResult":{ + "type":"structure", + "members":{ + "IamInstanceProfileAssociation":{ + "shape":"IamInstanceProfileAssociation", + "documentation":"

Information about the IAM instance profile association.

", + "locationName":"iamInstanceProfileAssociation" + } + } + }, "AssociateRouteTableRequest":{ "type":"structure", "required":[ - "SubnetId", - "RouteTableId" + "RouteTableId", + "SubnetId" ], "members":{ "DryRun":{ @@ -2639,15 +2746,15 @@ "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, "RouteTableId":{ "shape":"String", "documentation":"

The ID of the route table.

", "locationName":"routeTableId" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" } }, "documentation":"

Contains the parameters for AssociateRouteTable.

" @@ -2666,34 +2773,34 @@ "AssociateSubnetCidrBlockRequest":{ "type":"structure", "required":[ - "SubnetId", - "Ipv6CidrBlock" + "Ipv6CidrBlock", + "SubnetId" ], "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of your subnet.

", - "locationName":"subnetId" - }, "Ipv6CidrBlock":{ "shape":"String", "documentation":"

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.

", "locationName":"ipv6CidrBlock" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of your subnet.

", + "locationName":"subnetId" } } }, "AssociateSubnetCidrBlockResult":{ "type":"structure", "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, "Ipv6CidrBlockAssociation":{ "shape":"SubnetIpv6CidrBlockAssociation", "documentation":"

Information about the IPv6 CIDR block association.

", "locationName":"ipv6CidrBlockAssociation" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" } } }, @@ -2701,39 +2808,46 @@ "type":"structure", "required":["VpcId"], "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, "AmazonProvidedIpv6CidrBlock":{ "shape":"Boolean", "documentation":"

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.

", "locationName":"amazonProvidedIpv6CidrBlock" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } } }, "AssociateVpcCidrBlockResult":{ "type":"structure", "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, "Ipv6CidrBlockAssociation":{ "shape":"VpcIpv6CidrBlockAssociation", "documentation":"

Information about the IPv6 CIDR block association.

", "locationName":"ipv6CidrBlockAssociation" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } } }, + "AssociationIdList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"AssociationId" + } + }, "AttachClassicLinkVpcRequest":{ "type":"structure", "required":[ + "Groups", "InstanceId", - "VpcId", - "Groups" + "VpcId" ], "members":{ "DryRun":{ @@ -2741,6 +2855,11 @@ "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, + "Groups":{ + "shape":"GroupIdStringList", + "documentation":"

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", + "locationName":"SecurityGroupId" + }, "InstanceId":{ "shape":"String", "documentation":"

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", @@ -2750,11 +2869,6 @@ "shape":"String", "documentation":"

The ID of a ClassicLink-enabled VPC.

", "locationName":"vpcId" - }, - "Groups":{ - "shape":"GroupIdStringList", - "documentation":"

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", - "locationName":"SecurityGroupId" } }, "documentation":"

Contains the parameters for AttachClassicLinkVpc.

" @@ -2798,30 +2912,30 @@ "AttachNetworkInterfaceRequest":{ "type":"structure", "required":[ - "NetworkInterfaceId", + "DeviceIndex", "InstanceId", - "DeviceIndex" + "NetworkInterfaceId" ], "members":{ + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

The index of the device for the network interface attachment.

", + "locationName":"deviceIndex" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, "InstanceId":{ "shape":"String", "documentation":"

The ID of the instance.

", "locationName":"instanceId" }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device for the network interface attachment.

", - "locationName":"deviceIndex" + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" } }, "documentation":"

Contains the parameters for AttachNetworkInterface.

" @@ -2840,27 +2954,27 @@ "AttachVolumeRequest":{ "type":"structure", "required":[ - "VolumeId", + "Device", "InstanceId", - "Device" + "VolumeId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VolumeId":{ + "Device":{ "shape":"String", - "documentation":"

The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

" + "documentation":"

The device name to expose to the instance (for example, /dev/sdh or xvdh).

" }, "InstanceId":{ "shape":"String", "documentation":"

The ID of the instance.

" }, - "Device":{ + "VolumeId":{ "shape":"String", - "documentation":"

The device name to expose to the instance (for example, /dev/sdh or xvdh).

" + "documentation":"

The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for AttachVolume.

" @@ -2868,22 +2982,22 @@ "AttachVpnGatewayRequest":{ "type":"structure", "required":[ - "VpnGatewayId", - "VpcId" + "VpcId", + "VpnGatewayId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

" }, "VpnGatewayId":{ "shape":"String", "documentation":"

The ID of the virtual private gateway.

" }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for AttachVpnGateway.

" @@ -2944,6 +3058,31 @@ "documentation":"

The ID of the security group.

", "locationName":"groupId" }, + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", + "locationName":"ipPermissions" + }, + "CidrIp":{ + "shape":"String", + "documentation":"

The CIDR IPv4 address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

", + "locationName":"cidrIp" + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

", + "locationName":"fromPort" + }, + "IpProtocol":{ + "shape":"String", + "documentation":"

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

", + "locationName":"ipProtocol" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

", + "locationName":"toPort" + }, "SourceSecurityGroupName":{ "shape":"String", "documentation":"

The name of a destination security group. To authorize outbound access to a destination security group, we recommend that you use a set of IP permissions instead.

", @@ -2953,31 +3092,6 @@ "shape":"String", "documentation":"

The AWS account number for a destination security group. To authorize outbound access to a destination security group, we recommend that you use a set of IP permissions instead.

", "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IPv4 address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

", - "locationName":"cidrIp" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"ipPermissions" } }, "documentation":"

Contains the parameters for AuthorizeSecurityGroupEgress.

" @@ -2985,18 +3099,29 @@ "AuthorizeSecurityGroupIngressRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "CidrIp":{ + "shape":"String", + "documentation":"

The CIDR IPv4 address range. You can't specify this parameter when specifying a source security group.

" + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. For the ICMP/ICMPv6 type number, use -1 to specify all types.

" + }, + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group. Required for a nondefault VPC.

" }, "GroupName":{ "shape":"String", "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" }, - "GroupId":{ + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

A set of IP permissions. Can be used to specify multiple rules in a single command.

" + }, + "IpProtocol":{ "shape":"String", - "documentation":"

The ID of the security group. Required for a nondefault VPC.

" + "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is allowed, regardless of any ports you specify. For tcp, udp, and icmp, you must specify a port range. For protocol 58 (ICMPv6), you can optionally specify a port range; if you don't, traffic for all types and codes is allowed.

" }, "SourceSecurityGroupName":{ "shape":"String", @@ -3006,25 +3131,14 @@ "shape":"String", "documentation":"

[EC2-Classic] The AWS account number for the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

" }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is allowed, regardless of any ports you specify. For tcp, udp, and icmp, you must specify a port range. For protocol 58 (ICMPv6), you can optionally specify a port range; if you don't, traffic for all types and codes is allowed.

" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. For the ICMP/ICMPv6 type number, use -1 to specify all types.

" - }, "ToPort":{ "shape":"Integer", "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code number. For the ICMP/ICMPv6 code number, use -1 to specify all codes.

" }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IPv4 address range. You can't specify this parameter when specifying a source security group.

" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

A set of IP permissions. Can be used to specify multiple rules in a single command.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for AuthorizeSecurityGroupIngress.

" @@ -3039,25 +3153,25 @@ "AvailabilityZone":{ "type":"structure", "members":{ - "ZoneName":{ - "shape":"String", - "documentation":"

The name of the Availability Zone.

", - "locationName":"zoneName" - }, "State":{ "shape":"AvailabilityZoneState", "documentation":"

The state of the Availability Zone.

", "locationName":"zoneState" }, + "Messages":{ + "shape":"AvailabilityZoneMessageList", + "documentation":"

Any messages about the Availability Zone.

", + "locationName":"messageSet" + }, "RegionName":{ "shape":"String", "documentation":"

The name of the region.

", "locationName":"regionName" }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "documentation":"

Any messages about the Availability Zone.

", - "locationName":"messageSet" + "ZoneName":{ + "shape":"String", + "documentation":"

The name of the Availability Zone.

", + "locationName":"zoneName" } }, "documentation":"

Describes an Availability Zone.

" @@ -3131,6 +3245,13 @@ "modifying" ] }, + "BillingProductList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, "Blob":{"type":"blob"}, "BlobAttributeValue":{ "type":"structure", @@ -3144,16 +3265,16 @@ "BlockDeviceMapping":{ "type":"structure", "members":{ - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1.The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

", - "locationName":"virtualName" - }, "DeviceName":{ "shape":"String", "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", "locationName":"deviceName" }, + "VirtualName":{ + "shape":"String", + "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1.The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

", + "locationName":"virtualName" + }, "Ebs":{ "shape":"EbsBlockDevice", "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", @@ -3196,11 +3317,6 @@ "Storage" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "InstanceId":{ "shape":"String", "documentation":"

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

" @@ -3208,6 +3324,11 @@ "Storage":{ "shape":"Storage", "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for BundleInstance.

" @@ -3226,45 +3347,45 @@ "BundleTask":{ "type":"structure", "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance associated with this bundle task.

", - "locationName":"instanceId" - }, "BundleId":{ "shape":"String", "documentation":"

The ID of the bundle task.

", "locationName":"bundleId" }, - "State":{ - "shape":"BundleTaskState", - "documentation":"

The state of the task.

", - "locationName":"state" + "BundleTaskError":{ + "shape":"BundleTaskError", + "documentation":"

If the task fails, a description of the error.

", + "locationName":"error" }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time this task started.

", - "locationName":"startTime" - }, - "UpdateTime":{ - "shape":"DateTime", - "documentation":"

The time of the most recent update for the task.

", - "locationName":"updateTime" - }, - "Storage":{ - "shape":"Storage", - "documentation":"

The Amazon S3 storage locations.

", - "locationName":"storage" + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance associated with this bundle task.

", + "locationName":"instanceId" }, "Progress":{ "shape":"String", "documentation":"

The level of task completion, as a percent (for example, 20%).

", "locationName":"progress" }, - "BundleTaskError":{ - "shape":"BundleTaskError", - "documentation":"

If the task fails, a description of the error.

", - "locationName":"error" + "StartTime":{ + "shape":"DateTime", + "documentation":"

The time this task started.

", + "locationName":"startTime" + }, + "State":{ + "shape":"BundleTaskState", + "documentation":"

The state of the task.

", + "locationName":"state" + }, + "Storage":{ + "shape":"Storage", + "documentation":"

The Amazon S3 storage locations.

", + "locationName":"storage" + }, + "UpdateTime":{ + "shape":"DateTime", + "documentation":"

The time of the most recent update for the task.

", + "locationName":"updateTime" } }, "documentation":"

Describes a bundle task.

" @@ -3317,14 +3438,14 @@ "type":"structure", "required":["BundleId"], "members":{ + "BundleId":{ + "shape":"String", + "documentation":"

The ID of the bundle task.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "BundleId":{ - "shape":"String", - "documentation":"

The ID of the bundle task.

" } }, "documentation":"

Contains the parameters for CancelBundleTask.

" @@ -3344,16 +3465,16 @@ "type":"structure", "required":["ConversionTaskId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "ConversionTaskId":{ "shape":"String", "documentation":"

The ID of the conversion task.

", "locationName":"conversionTaskId" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, "ReasonMessage":{ "shape":"String", "documentation":"

The reason for canceling the conversion task.

", @@ -3377,6 +3498,10 @@ "CancelImportTaskRequest":{ "type":"structure", "members":{ + "CancelReason":{ + "shape":"String", + "documentation":"

The reason for canceling the task.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" @@ -3384,10 +3509,6 @@ "ImportTaskId":{ "shape":"String", "documentation":"

The ID of the import image or import snapshot task to be canceled.

" - }, - "CancelReason":{ - "shape":"String", - "documentation":"

The reason for canceling the task.

" } }, "documentation":"

Contains the parameters for CancelImportTask.

" @@ -3400,15 +3521,15 @@ "documentation":"

The ID of the task being canceled.

", "locationName":"importTaskId" }, - "State":{ - "shape":"String", - "documentation":"

The current state of the task being canceled.

", - "locationName":"state" - }, "PreviousState":{ "shape":"String", "documentation":"

The current state of the task being canceled.

", "locationName":"previousState" + }, + "State":{ + "shape":"String", + "documentation":"

The current state of the task being canceled.

", + "locationName":"state" } }, "documentation":"

Contains the output for CancelImportTask.

" @@ -3459,19 +3580,19 @@ "CancelSpotFleetRequestsErrorItem":{ "type":"structure", "required":[ - "SpotFleetRequestId", - "Error" + "Error", + "SpotFleetRequestId" ], "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, "Error":{ "shape":"CancelSpotFleetRequestsError", "documentation":"

The error.

", "locationName":"error" + }, + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot fleet request.

", + "locationName":"spotFleetRequestId" } }, "documentation":"

Describes a Spot fleet request that was not successfully canceled.

" @@ -3511,15 +3632,15 @@ "CancelSpotFleetRequestsResponse":{ "type":"structure", "members":{ - "UnsuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsErrorSet", - "documentation":"

Information about the Spot fleet requests that are not successfully canceled.

", - "locationName":"unsuccessfulFleetRequestSet" - }, "SuccessfulFleetRequests":{ "shape":"CancelSpotFleetRequestsSuccessSet", "documentation":"

Information about the Spot fleet requests that are successfully canceled.

", "locationName":"successfulFleetRequestSet" + }, + "UnsuccessfulFleetRequests":{ + "shape":"CancelSpotFleetRequestsErrorSet", + "documentation":"

Information about the Spot fleet requests that are not successfully canceled.

", + "locationName":"unsuccessfulFleetRequestSet" } }, "documentation":"

Contains the output of CancelSpotFleetRequests.

" @@ -3527,16 +3648,11 @@ "CancelSpotFleetRequestsSuccessItem":{ "type":"structure", "required":[ - "SpotFleetRequestId", "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState" + "PreviousSpotFleetRequestState", + "SpotFleetRequestId" ], "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, "CurrentSpotFleetRequestState":{ "shape":"BatchState", "documentation":"

The current state of the Spot fleet request.

", @@ -3546,6 +3662,11 @@ "shape":"BatchState", "documentation":"

The previous state of the Spot fleet request.

", "locationName":"previousSpotFleetRequestState" + }, + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot fleet request.

", + "locationName":"spotFleetRequestId" } }, "documentation":"

Describes a Spot fleet request that was successfully canceled.

" @@ -3621,15 +3742,15 @@ "ClassicLinkDnsSupport":{ "type":"structure", "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, "ClassicLinkDnsSupported":{ "shape":"Boolean", "documentation":"

Indicates whether ClassicLink DNS support is enabled for the VPC.

", "locationName":"classicLinkDnsSupported" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } }, "documentation":"

Describes the ClassicLink DNS support status of a VPC.

" @@ -3644,25 +3765,25 @@ "ClassicLinkInstance":{ "type":"structure", "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, "Groups":{ "shape":"GroupIdentifierList", "documentation":"

A list of security groups.

", "locationName":"groupSet" }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the instance.

", "locationName":"tagSet" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } }, "documentation":"

Describes a linked EC2-Classic instance.

" @@ -3677,9 +3798,9 @@ "ClientData":{ "type":"structure", "members":{ - "UploadStart":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload starts.

" + "Comment":{ + "shape":"String", + "documentation":"

A user-defined comment about the disk upload.

" }, "UploadEnd":{ "shape":"DateTime", @@ -3689,9 +3810,9 @@ "shape":"Double", "documentation":"

The size of the uploaded disk image, in GiB.

" }, - "Comment":{ - "shape":"String", - "documentation":"

A user-defined comment about the disk upload.

" + "UploadStart":{ + "shape":"DateTime", + "documentation":"

The time that the disk upload starts.

" } }, "documentation":"

Describes the client-specific data.

" @@ -3699,22 +3820,22 @@ "ConfirmProductInstanceRequest":{ "type":"structure", "required":[ - "ProductCode", - "InstanceId" + "InstanceId", + "ProductCode" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

" }, "ProductCode":{ "shape":"String", "documentation":"

The product code. This must be a product code that you own.

" }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for ConfirmProductInstance.

" @@ -3803,36 +3924,19 @@ "CopyImageRequest":{ "type":"structure", "required":[ - "SourceRegion", + "Name", "SourceImageId", - "Name" + "SourceRegion" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SourceRegion":{ + "ClientToken":{ "shape":"String", - "documentation":"

The name of the region that contains the AMI to copy.

" - }, - "SourceImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI to copy.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the new AMI in the destination region.

" + "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

" }, "Description":{ "shape":"String", "documentation":"

A description for the new AMI in the destination region.

" }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

" - }, "Encrypted":{ "shape":"Boolean", "documentation":"

Specifies whether the destination snapshots of the copied image should be encrypted. The default CMK for EBS is used unless a non-default AWS Key Management Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", @@ -3842,6 +3946,23 @@ "shape":"String", "documentation":"

The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. The specified CMK must exist in the region that the snapshot is being copied to. If a KmsKeyId is specified, the Encrypted flag must also be set.

", "locationName":"kmsKeyId" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the new AMI in the destination region.

" + }, + "SourceImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI to copy.

" + }, + "SourceRegion":{ + "shape":"String", + "documentation":"

The name of the region that contains the AMI to copy.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for CopyImage.

" @@ -3864,19 +3985,6 @@ "SourceSnapshotId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SourceRegion":{ - "shape":"String", - "documentation":"

The ID of the region that contains the snapshot to be copied.

" - }, - "SourceSnapshotId":{ - "shape":"String", - "documentation":"

The ID of the EBS snapshot to copy.

" - }, "Description":{ "shape":"String", "documentation":"

A description for the EBS snapshot.

" @@ -3886,11 +3994,6 @@ "documentation":"

The destination region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination region in a PresignedUrl parameter, where it is required.

CopySnapshot sends the snapshot copy to the regional endpoint that you send the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS CLI, this is specified with the --region parameter or the default region in your AWS configuration file).

", "locationName":"destinationRegion" }, - "PresignedUrl":{ - "shape":"String", - "documentation":"

The pre-signed URL that facilitates copying an encrypted snapshot. This parameter is only required when copying an encrypted snapshot with the Amazon EC2 Query API; it is available as an optional parameter in all other cases. The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests by Using Query Parameters (AWS Signature Version 4) in the Amazon Simple Storage Service API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

", - "locationName":"presignedUrl" - }, "Encrypted":{ "shape":"Boolean", "documentation":"

Specifies whether the destination snapshot should be encrypted. You can encrypt a copy of an unencrypted snapshot using this flag, but you cannot use it to create an unencrypted copy from an encrypted snapshot. Your default CMK for EBS is used unless a non-default AWS Key Management Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", @@ -3900,6 +4003,24 @@ "shape":"String", "documentation":"

The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when creating the snapshot copy. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. The specified CMK must exist in the region that the snapshot is being copied to. If a KmsKeyId is specified, the Encrypted flag must also be set.

", "locationName":"kmsKeyId" + }, + "PresignedUrl":{ + "shape":"String", + "documentation":"

The pre-signed URL that facilitates copying an encrypted snapshot. This parameter is only required when copying an encrypted snapshot with the Amazon EC2 Query API; it is available as an optional parameter in all other cases. The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests by Using Query Parameters (AWS Signature Version 4) in the Amazon Simple Storage Service API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

", + "locationName":"presignedUrl" + }, + "SourceRegion":{ + "shape":"String", + "documentation":"

The ID of the region that contains the snapshot to be copied.

" + }, + "SourceSnapshotId":{ + "shape":"String", + "documentation":"

The ID of the EBS snapshot to copy.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for CopySnapshot.

" @@ -3918,28 +4039,28 @@ "CreateCustomerGatewayRequest":{ "type":"structure", "required":[ - "Type", + "BgpAsn", "PublicIp", - "BgpAsn" + "Type" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection that this customer gateway supports (ipsec.1).

" + "BgpAsn":{ + "shape":"Integer", + "documentation":"

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

" }, "PublicIp":{ "shape":"String", "documentation":"

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", "locationName":"IpAddress" }, - "BgpAsn":{ - "shape":"Integer", - "documentation":"

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

" + "Type":{ + "shape":"GatewayType", + "documentation":"

The type of VPN connection that this customer gateway supports (ipsec.1).

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for CreateCustomerGateway.

" @@ -3959,15 +4080,15 @@ "type":"structure", "required":["DhcpConfigurations"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "DhcpConfigurations":{ "shape":"NewDhcpConfigurationList", "documentation":"

A DHCP configuration option.

", "locationName":"dhcpConfiguration" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for CreateDhcpOptions.

" @@ -3987,6 +4108,10 @@ "type":"structure", "required":["VpcId"], "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" @@ -3994,38 +4119,46 @@ "VpcId":{ "shape":"String", "documentation":"

The ID of the VPC for which to create the egress-only Internet gateway.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" } } }, "CreateEgressOnlyInternetGatewayResult":{ "type":"structure", "members":{ - "EgressOnlyInternetGateway":{ - "shape":"EgressOnlyInternetGateway", - "documentation":"

Information about the egress-only Internet gateway.

", - "locationName":"egressOnlyInternetGateway" - }, "ClientToken":{ "shape":"String", "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", "locationName":"clientToken" + }, + "EgressOnlyInternetGateway":{ + "shape":"EgressOnlyInternetGateway", + "documentation":"

Information about the egress-only Internet gateway.

", + "locationName":"egressOnlyInternetGateway" } } }, "CreateFlowLogsRequest":{ "type":"structure", "required":[ + "DeliverLogsPermissionArn", + "LogGroupName", "ResourceIds", "ResourceType", - "TrafficType", - "LogGroupName", - "DeliverLogsPermissionArn" + "TrafficType" ], "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" + }, + "DeliverLogsPermissionArn":{ + "shape":"String", + "documentation":"

The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group.

" + }, + "LogGroupName":{ + "shape":"String", + "documentation":"

The name of the CloudWatch log group.

" + }, "ResourceIds":{ "shape":"ValueStringList", "documentation":"

One or more subnet, network interface, or VPC IDs.

Constraints: Maximum of 1000 resources

", @@ -4038,18 +4171,6 @@ "TrafficType":{ "shape":"TrafficType", "documentation":"

The type of traffic to log.

" - }, - "LogGroupName":{ - "shape":"String", - "documentation":"

The name of the CloudWatch log group.

" - }, - "DeliverLogsPermissionArn":{ - "shape":"String", - "documentation":"

The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" } }, "documentation":"

Contains the parameters for CreateFlowLogs.

" @@ -4057,16 +4178,16 @@ "CreateFlowLogsResult":{ "type":"structure", "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the flow logs.

", - "locationName":"flowLogIdSet" - }, "ClientToken":{ "shape":"String", "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", "locationName":"clientToken" }, + "FlowLogIds":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the flow logs.

", + "locationName":"flowLogIdSet" + }, "Unsuccessful":{ "shape":"UnsuccessfulItemSet", "documentation":"

Information about the flow logs that could not be created successfully.

", @@ -4075,6 +4196,51 @@ }, "documentation":"

Contains the output of CreateFlowLogs.

" }, + "CreateFpgaImageRequest":{ + "type":"structure", + "required":["InputStorageLocation"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InputStorageLocation":{ + "shape":"StorageLocation", + "documentation":"

The location of the encrypted design checkpoint in Amazon S3. The input must be a tarball.

" + }, + "LogsStorageLocation":{ + "shape":"StorageLocation", + "documentation":"

The location in Amazon S3 for the output logs.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the AFI.

" + }, + "Name":{ + "shape":"String", + "documentation":"

A name for the AFI.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" + } + } + }, + "CreateFpgaImageResult":{ + "type":"structure", + "members":{ + "FpgaImageId":{ + "shape":"String", + "documentation":"

The FPGA image identifier (AFI ID).

", + "locationName":"fpgaImageId" + }, + "FpgaImageGlobalId":{ + "shape":"String", + "documentation":"

The global FPGA image identifier (AGFI ID).

", + "locationName":"fpgaImageGlobalId" + } + } + }, "CreateImageRequest":{ "type":"structure", "required":[ @@ -4082,6 +4248,16 @@ "Name" ], "members":{ + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingRequestList", + "documentation":"

Information about one or more block device mappings.

", + "locationName":"blockDeviceMapping" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the new image.

", + "locationName":"description" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -4097,20 +4273,10 @@ "documentation":"

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", "locationName":"name" }, - "Description":{ - "shape":"String", - "documentation":"

A description for the new image.

", - "locationName":"description" - }, "NoReboot":{ "shape":"Boolean", "documentation":"

By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't shut down the instance before creating the image. When this option is used, file system integrity on the created image can't be guaranteed.

", "locationName":"noReboot" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "documentation":"

Information about one or more block device mappings.

", - "locationName":"blockDeviceMapping" } }, "documentation":"

Contains the parameters for CreateImage.

" @@ -4135,6 +4301,11 @@ "documentation":"

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", "locationName":"description" }, + "ExportToS3Task":{ + "shape":"ExportToS3TaskSpecification", + "documentation":"

The format and location for an instance export task.

", + "locationName":"exportToS3" + }, "InstanceId":{ "shape":"String", "documentation":"

The ID of the instance.

", @@ -4144,11 +4315,6 @@ "shape":"ExportEnvironment", "documentation":"

The target virtualization environment.

", "locationName":"targetEnvironment" - }, - "ExportToS3Task":{ - "shape":"ExportToS3TaskSpecification", - "documentation":"

The format and location for an instance export task.

", - "locationName":"exportToS3" } }, "documentation":"

Contains the parameters for CreateInstanceExportTask.

" @@ -4190,14 +4356,14 @@ "type":"structure", "required":["KeyName"], "members":{ + "KeyName":{ + "shape":"String", + "documentation":"

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

" } }, "documentation":"

Contains the parameters for CreateKeyPair.

" @@ -4205,14 +4371,10 @@ "CreateNatGatewayRequest":{ "type":"structure", "required":[ - "SubnetId", - "AllocationId" + "AllocationId", + "SubnetId" ], "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The subnet in which to create the NAT gateway.

" - }, "AllocationId":{ "shape":"String", "documentation":"

The allocation ID of an Elastic IP address to associate with the NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

" @@ -4220,6 +4382,10 @@ "ClientToken":{ "shape":"String", "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

Constraint: Maximum 64 ASCII characters.

" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The subnet in which to create the NAT gateway.

" } }, "documentation":"

Contains the parameters for CreateNatGateway.

" @@ -4227,15 +4393,15 @@ "CreateNatGatewayResult":{ "type":"structure", "members":{ - "NatGateway":{ - "shape":"NatGateway", - "documentation":"

Information about the NAT gateway.

", - "locationName":"natGateway" - }, "ClientToken":{ "shape":"String", "documentation":"

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

", "locationName":"clientToken" + }, + "NatGateway":{ + "shape":"NatGateway", + "documentation":"

Information about the NAT gateway.

", + "locationName":"natGateway" } }, "documentation":"

Contains the output of CreateNatGateway.

" @@ -4243,27 +4409,47 @@ "CreateNetworkAclEntryRequest":{ "type":"structure", "required":[ + "Egress", "NetworkAclId", - "RuleNumber", "Protocol", "RuleAction", - "Egress" + "RuleNumber" ], "members":{ + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", + "locationName":"cidrBlock" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, + "Egress":{ + "shape":"Boolean", + "documentation":"

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

", + "locationName":"egress" + }, + "IcmpTypeCode":{ + "shape":"IcmpTypeCode", + "documentation":"

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the ICMP protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.

", + "locationName":"Icmp" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).

", + "locationName":"ipv6CidrBlock" + }, "NetworkAclId":{ "shape":"String", "documentation":"

The ID of the network ACL.

", "locationName":"networkAclId" }, - "RuleNumber":{ - "shape":"Integer", - "documentation":"

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

", - "locationName":"ruleNumber" + "PortRange":{ + "shape":"PortRange", + "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", + "locationName":"portRange" }, "Protocol":{ "shape":"String", @@ -4275,30 +4461,10 @@ "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", "locationName":"ruleAction" }, - "Egress":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "Ipv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).

", - "locationName":"ipv6CidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the ICMP protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

", + "locationName":"ruleNumber" } }, "documentation":"

Contains the parameters for CreateNetworkAclEntry.

" @@ -4335,26 +4501,36 @@ "type":"structure", "required":["SubnetId"], "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet to associate with the network interface.

", - "locationName":"subnetId" - }, "Description":{ "shape":"String", "documentation":"

A description for the network interface.

", "locationName":"description" }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you specify an IP address, you cannot indicate any IP addresses specified in privateIpAddresses as primary (only one IP address can be designated as primary).

", - "locationName":"privateIpAddress" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" }, "Groups":{ "shape":"SecurityGroupIdStringList", "documentation":"

The IDs of one or more security groups.

", "locationName":"SecurityGroupId" }, + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set to true, you can specify 0 to override this setting.

", + "locationName":"ipv6AddressCount" + }, + "Ipv6Addresses":{ + "shape":"InstanceIpv6AddressList", + "documentation":"

One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

", + "locationName":"ipv6Addresses" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you specify an IP address, you cannot indicate any IP addresses specified in privateIpAddresses as primary (only one IP address can be designated as primary).

", + "locationName":"privateIpAddress" + }, "PrivateIpAddresses":{ "shape":"PrivateIpAddressSpecificationList", "documentation":"

One or more private IPv4 addresses.

", @@ -4365,20 +4541,10 @@ "documentation":"

The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses.

The number of IP addresses you can assign to a network interface varies by instance type. For more information, see IP Addresses Per ENI Per Instance Type in the Amazon Virtual Private Cloud User Guide.

", "locationName":"secondaryPrivateIpAddressCount" }, - "Ipv6Addresses":{ - "shape":"InstanceIpv6AddressList", - "documentation":"

One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

", - "locationName":"ipv6Addresses" - }, - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set to true, you can specify 0 to override this setting.

", - "locationName":"ipv6AddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet to associate with the network interface.

", + "locationName":"subnetId" } }, "documentation":"

Contains the parameters for CreateNetworkInterface.

" @@ -4422,16 +4588,16 @@ "CreateReservedInstancesListingRequest":{ "type":"structure", "required":[ - "ReservedInstancesId", + "ClientToken", "InstanceCount", "PriceSchedules", - "ClientToken" + "ReservedInstancesId" ], "members":{ - "ReservedInstancesId":{ + "ClientToken":{ "shape":"String", - "documentation":"

The ID of the active Standard Reserved Instance.

", - "locationName":"reservedInstancesId" + "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", + "locationName":"clientToken" }, "InstanceCount":{ "shape":"Integer", @@ -4443,10 +4609,10 @@ "documentation":"

A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

", "locationName":"priceSchedules" }, - "ClientToken":{ + "ReservedInstancesId":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" + "documentation":"

The ID of the active Standard Reserved Instance.

", + "locationName":"reservedInstancesId" } }, "documentation":"

Contains the parameters for CreateReservedInstancesListing.

" @@ -4466,55 +4632,55 @@ "type":"structure", "required":["RouteTableId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table for the route.

", - "locationName":"routeTableId" - }, "DestinationCidrBlock":{ "shape":"String", "documentation":"

The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match.

", "locationName":"destinationCidrBlock" }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of an Internet gateway or virtual private gateway attached to your VPC.

", - "locationName":"gatewayId" - }, "DestinationIpv6CidrBlock":{ "shape":"String", "documentation":"

The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

", "locationName":"destinationIpv6CidrBlock" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, "EgressOnlyInternetGatewayId":{ "shape":"String", "documentation":"

[IPv6 traffic only] The ID of an egress-only Internet gateway.

", "locationName":"egressOnlyInternetGatewayId" }, + "GatewayId":{ + "shape":"String", + "documentation":"

The ID of an Internet gateway or virtual private gateway attached to your VPC.

", + "locationName":"gatewayId" + }, "InstanceId":{ "shape":"String", "documentation":"

The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.

", "locationName":"instanceId" }, + "NatGatewayId":{ + "shape":"String", + "documentation":"

[IPv4 traffic only] The ID of a NAT gateway.

", + "locationName":"natGatewayId" + }, "NetworkInterfaceId":{ "shape":"String", "documentation":"

The ID of a network interface.

", "locationName":"networkInterfaceId" }, + "RouteTableId":{ + "shape":"String", + "documentation":"

The ID of the route table for the route.

", + "locationName":"routeTableId" + }, "VpcPeeringConnectionId":{ "shape":"String", "documentation":"

The ID of a VPC peering connection.

", "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

[IPv4 traffic only] The ID of a NAT gateway.

", - "locationName":"natGatewayId" } }, "documentation":"

Contains the parameters for CreateRoute.

" @@ -4561,27 +4727,27 @@ "CreateSecurityGroupRequest":{ "type":"structure", "required":[ - "GroupName", - "Description" + "Description", + "GroupName" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

Constraints: Up to 255 characters in length

Constraints for EC2-Classic: ASCII characters

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

" - }, "Description":{ "shape":"String", "documentation":"

A description for the security group. This is informational only.

Constraints: Up to 255 characters in length

Constraints for EC2-Classic: ASCII characters

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

", "locationName":"GroupDescription" }, + "GroupName":{ + "shape":"String", + "documentation":"

The name of the security group.

Constraints: Up to 255 characters in length

Constraints for EC2-Classic: ASCII characters

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

" + }, "VpcId":{ "shape":"String", "documentation":"

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for CreateSecurityGroup.

" @@ -4601,18 +4767,18 @@ "type":"structure", "required":["VolumeId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Description":{ + "shape":"String", + "documentation":"

A description for the snapshot.

" }, "VolumeId":{ "shape":"String", "documentation":"

The ID of the EBS volume.

" }, - "Description":{ - "shape":"String", - "documentation":"

A description for the snapshot.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for CreateSnapshot.

" @@ -4621,16 +4787,16 @@ "type":"structure", "required":["Bucket"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "Bucket":{ "shape":"String", "documentation":"

The Amazon S3 bucket in which to store the Spot instance data feed.

", "locationName":"bucket" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, "Prefix":{ "shape":"String", "documentation":"

A prefix for the data feed file names.

", @@ -4653,18 +4819,13 @@ "CreateSubnetRequest":{ "type":"structure", "required":[ - "VpcId", - "CidrBlock" + "CidrBlock", + "VpcId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ + "AvailabilityZone":{ "shape":"String", - "documentation":"

The ID of the VPC.

" + "documentation":"

The Availability Zone for the subnet.

Default: AWS selects one for you. If you create more than one subnet in your VPC, we may not necessarily select a different zone for each subnet.

" }, "CidrBlock":{ "shape":"String", @@ -4674,9 +4835,14 @@ "shape":"String", "documentation":"

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

" }, - "AvailabilityZone":{ + "VpcId":{ "shape":"String", - "documentation":"

The Availability Zone for the subnet.

Default: AWS selects one for you. If you create more than one subnet in your VPC, we may not necessarily select a different zone for each subnet.

" + "documentation":"

The ID of the VPC.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for CreateSubnet.

" @@ -4720,15 +4886,15 @@ "CreateVolumePermission":{ "type":"structure", "members":{ - "UserId":{ - "shape":"String", - "documentation":"

The specific AWS account ID that is to be added or removed from a volume's list of create volume permissions.

", - "locationName":"userId" - }, "Group":{ "shape":"PermissionGroup", "documentation":"

The specific group that is to be added or removed from a volume's list of create volume permissions.

", "locationName":"group" + }, + "UserId":{ + "shape":"String", + "documentation":"

The specific AWS account ID that is to be added or removed from a volume's list of create volume permissions.

", + "locationName":"userId" } }, "documentation":"

Describes the user or group to be added or removed from the permissions for a volume.

" @@ -4758,10 +4924,22 @@ "type":"structure", "required":["AvailabilityZone"], "members":{ - "DryRun":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which to create the volume. Use DescribeAvailabilityZones to list the Availability Zones that are currently available to you.

" + }, + "Encrypted":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "documentation":"

Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or vice versa. If your AMI uses encrypted volumes, you can only launch it on supported instance types. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"encrypted" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

Only valid for Provisioned IOPS SSD volumes. The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB.

Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The full ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. If a KmsKeyId is specified, the Encrypted flag must also be set.

" }, "Size":{ "shape":"Integer", @@ -4771,26 +4949,19 @@ "shape":"String", "documentation":"

The snapshot from which to create the volume.

" }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which to create the volume. Use DescribeAvailabilityZones to list the Availability Zones that are currently available to you.

" - }, "VolumeType":{ "shape":"VolumeType", "documentation":"

The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

Default: standard

" }, - "Iops":{ - "shape":"Integer", - "documentation":"

Only valid for Provisioned IOPS SSD volumes. The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB.

Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes

" - }, - "Encrypted":{ + "DryRun":{ "shape":"Boolean", - "documentation":"

Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or vice versa. If your AMI uses encrypted volumes, you can only launch it on supported instance types. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"encrypted" + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The full ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. If a KmsKeyId is specified, the Encrypted flag must also be set.

" + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the volume during creation.

", + "locationName":"TagSpecification" } }, "documentation":"

Contains the parameters for CreateVolume.

" @@ -4798,22 +4969,18 @@ "CreateVpcEndpointRequest":{ "type":"structure", "required":[ - "VpcId", - "ServiceName" + "ServiceName", + "VpcId" ], "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC in which the endpoint will be used.

" - }, - "ServiceName":{ - "shape":"String", - "documentation":"

The AWS service name, in the form com.amazonaws.region.service . To get a list of available services, use the DescribeVpcEndpointServices request.

" - }, "PolicyDocument":{ "shape":"String", "documentation":"

A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service.

" @@ -4823,9 +4990,13 @@ "documentation":"

One or more route table IDs.

", "locationName":"RouteTableId" }, - "ClientToken":{ + "ServiceName":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" + "documentation":"

The AWS service name, in the form com.amazonaws.region.service . To get a list of available services, use the DescribeVpcEndpointServices request.

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC in which the endpoint will be used.

" } }, "documentation":"

Contains the parameters for CreateVpcEndpoint.

" @@ -4833,15 +5004,15 @@ "CreateVpcEndpointResult":{ "type":"structure", "members":{ - "VpcEndpoint":{ - "shape":"VpcEndpoint", - "documentation":"

Information about the endpoint.

", - "locationName":"vpcEndpoint" - }, "ClientToken":{ "shape":"String", "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", "locationName":"clientToken" + }, + "VpcEndpoint":{ + "shape":"VpcEndpoint", + "documentation":"

Information about the endpoint.

", + "locationName":"vpcEndpoint" } }, "documentation":"

Contains the output of CreateVpcEndpoint.

" @@ -4854,20 +5025,20 @@ "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, - "VpcId":{ + "PeerOwnerId":{ "shape":"String", - "documentation":"

The ID of the requester VPC.

", - "locationName":"vpcId" + "documentation":"

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", + "locationName":"peerOwnerId" }, "PeerVpcId":{ "shape":"String", "documentation":"

The ID of the VPC with which you are creating the VPC peering connection.

", "locationName":"peerVpcId" }, - "PeerOwnerId":{ + "VpcId":{ "shape":"String", - "documentation":"

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "locationName":"peerOwnerId" + "documentation":"

The ID of the requester VPC.

", + "locationName":"vpcId" } }, "documentation":"

Contains the parameters for CreateVpcPeeringConnection.

" @@ -4887,24 +5058,24 @@ "type":"structure", "required":["CidrBlock"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "CidrBlock":{ "shape":"String", "documentation":"

The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

" }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy options for instances launched into the VPC. For default, instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC.

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

", - "locationName":"instanceTenancy" - }, "AmazonProvidedIpv6CidrBlock":{ "shape":"Boolean", "documentation":"

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block.

", "locationName":"amazonProvidedIpv6CidrBlock" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceTenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy options for instances launched into the VPC. For default, instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC.

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

", + "locationName":"instanceTenancy" } }, "documentation":"

Contains the parameters for CreateVpc.

" @@ -4923,28 +5094,28 @@ "CreateVpnConnectionRequest":{ "type":"structure", "required":[ - "Type", "CustomerGatewayId", + "Type", "VpnGatewayId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "CustomerGatewayId":{ + "shape":"String", + "documentation":"

The ID of the customer gateway.

" }, "Type":{ "shape":"String", "documentation":"

The type of VPN connection (ipsec.1).

" }, - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

" - }, "VpnGatewayId":{ "shape":"String", "documentation":"

The ID of the virtual private gateway.

" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, "Options":{ "shape":"VpnConnectionOptionsSpecification", "documentation":"

Indicates whether the VPN connection requires static routes. If you are creating a VPN connection for a device that does not support BGP, you must specify true.

Default: false

", @@ -4967,17 +5138,17 @@ "CreateVpnConnectionRouteRequest":{ "type":"structure", "required":[ - "VpnConnectionId", - "DestinationCidrBlock" + "DestinationCidrBlock", + "VpnConnectionId" ], "members":{ - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - }, "DestinationCidrBlock":{ "shape":"String", "documentation":"

The CIDR block associated with the local subnet of the customer network.

" + }, + "VpnConnectionId":{ + "shape":"String", + "documentation":"

The ID of the VPN connection.

" } }, "documentation":"

Contains the parameters for CreateVpnConnectionRoute.

" @@ -4986,18 +5157,18 @@ "type":"structure", "required":["Type"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone for the virtual private gateway.

" }, "Type":{ "shape":"GatewayType", "documentation":"

The type of VPN connection this virtual private gateway supports.

" }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the virtual private gateway.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for CreateVpnGateway.

" @@ -5020,11 +5191,21 @@ "CustomerGateway":{ "type":"structure", "members":{ + "BgpAsn":{ + "shape":"String", + "documentation":"

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

", + "locationName":"bgpAsn" + }, "CustomerGatewayId":{ "shape":"String", "documentation":"

The ID of the customer gateway.

", "locationName":"customerGatewayId" }, + "IpAddress":{ + "shape":"String", + "documentation":"

The Internet-routable IP address of the customer gateway's outside interface.

", + "locationName":"ipAddress" + }, "State":{ "shape":"String", "documentation":"

The current state of the customer gateway (pending | available | deleting | deleted).

", @@ -5035,16 +5216,6 @@ "documentation":"

The type of VPN connection the customer gateway supports (ipsec.1).

", "locationName":"type" }, - "IpAddress":{ - "shape":"String", - "documentation":"

The Internet-routable IP address of the customer gateway's outside interface.

", - "locationName":"ipAddress" - }, - "BgpAsn":{ - "shape":"String", - "documentation":"

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

", - "locationName":"bgpAsn" - }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the customer gateway.

", @@ -5079,14 +5250,14 @@ "type":"structure", "required":["CustomerGatewayId"], "members":{ + "CustomerGatewayId":{ + "shape":"String", + "documentation":"

The ID of the customer gateway.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

" } }, "documentation":"

Contains the parameters for DeleteCustomerGateway.

" @@ -5095,14 +5266,14 @@ "type":"structure", "required":["DhcpOptionsId"], "members":{ + "DhcpOptionsId":{ + "shape":"String", + "documentation":"

The ID of the DHCP options set.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the DHCP options set.

" } }, "documentation":"

Contains the parameters for DeleteDhcpOptions.

" @@ -5175,14 +5346,14 @@ "type":"structure", "required":["KeyName"], "members":{ + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

" } }, "documentation":"

Contains the parameters for DeleteKeyPair.

" @@ -5212,9 +5383,9 @@ "DeleteNetworkAclEntryRequest":{ "type":"structure", "required":[ + "Egress", "NetworkAclId", - "RuleNumber", - "Egress" + "RuleNumber" ], "members":{ "DryRun":{ @@ -5222,6 +5393,11 @@ "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, + "Egress":{ + "shape":"Boolean", + "documentation":"

Indicates whether the rule is an egress rule.

", + "locationName":"egress" + }, "NetworkAclId":{ "shape":"String", "documentation":"

The ID of the network ACL.

", @@ -5231,11 +5407,6 @@ "shape":"Integer", "documentation":"

The rule number of the entry to delete.

", "locationName":"ruleNumber" - }, - "Egress":{ - "shape":"Boolean", - "documentation":"

Indicates whether the rule is an egress rule.

", - "locationName":"egress" } }, "documentation":"

Contains the parameters for DeleteNetworkAclEntry.

" @@ -5295,16 +5466,6 @@ "type":"structure", "required":["RouteTableId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, "DestinationCidrBlock":{ "shape":"String", "documentation":"

The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", @@ -5314,6 +5475,16 @@ "shape":"String", "documentation":"

The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", "locationName":"destinationIpv6CidrBlock" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "RouteTableId":{ + "shape":"String", + "documentation":"

The ID of the route table.

", + "locationName":"routeTableId" } }, "documentation":"

Contains the parameters for DeleteRoute.

" @@ -5338,18 +5509,18 @@ "DeleteSecurityGroupRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group. Required for a nondefault VPC.

" }, "GroupName":{ "shape":"String", "documentation":"

[EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

" }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a nondefault VPC.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DeleteSecurityGroup.

" @@ -5358,14 +5529,14 @@ "type":"structure", "required":["SnapshotId"], "members":{ + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the EBS snapshot.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the EBS snapshot.

" } }, "documentation":"

Contains the parameters for DeleteSnapshot.

" @@ -5385,14 +5556,14 @@ "type":"structure", "required":["SubnetId"], "members":{ + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

" } }, "documentation":"

Contains the parameters for DeleteSubnet.

" @@ -5423,14 +5594,14 @@ "type":"structure", "required":["VolumeId"], "members":{ + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the volume.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

" } }, "documentation":"

Contains the parameters for DeleteVolume.

" @@ -5494,14 +5665,14 @@ "type":"structure", "required":["VpcId"], "members":{ + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" } }, "documentation":"

Contains the parameters for DeleteVpc.

" @@ -5510,14 +5681,14 @@ "type":"structure", "required":["VpnConnectionId"], "members":{ + "VpnConnectionId":{ + "shape":"String", + "documentation":"

The ID of the VPN connection.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" } }, "documentation":"

Contains the parameters for DeleteVpnConnection.

" @@ -5525,17 +5696,17 @@ "DeleteVpnConnectionRouteRequest":{ "type":"structure", "required":[ - "VpnConnectionId", - "DestinationCidrBlock" + "DestinationCidrBlock", + "VpnConnectionId" ], "members":{ - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - }, "DestinationCidrBlock":{ "shape":"String", "documentation":"

The CIDR block associated with the local subnet of the customer network.

" + }, + "VpnConnectionId":{ + "shape":"String", + "documentation":"

The ID of the VPN connection.

" } }, "documentation":"

Contains the parameters for DeleteVpnConnectionRoute.

" @@ -5544,14 +5715,14 @@ "type":"structure", "required":["VpnGatewayId"], "members":{ + "VpnGatewayId":{ + "shape":"String", + "documentation":"

The ID of the virtual private gateway.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" } }, "documentation":"

Contains the parameters for DeleteVpnGateway.

" @@ -5560,14 +5731,14 @@ "type":"structure", "required":["ImageId"], "members":{ + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" } }, "documentation":"

Contains the parameters for DeregisterImage.

" @@ -5575,15 +5746,15 @@ "DescribeAccountAttributesRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "AttributeNames":{ "shape":"AccountAttributeNameStringList", "documentation":"

One or more account attribute names.

", "locationName":"attributeName" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeAccountAttributes.

" @@ -5602,25 +5773,25 @@ "DescribeAddressesRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • allocation-id - [EC2-VPC] The allocation ID for the address.

  • association-id - [EC2-VPC] The association ID for the address.

  • domain - Indicates whether the address is for use in EC2-Classic (standard) or in a VPC (vpc).

  • instance-id - The ID of the instance the address is associated with, if any.

  • network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

  • network-interface-owner-id - The AWS account ID of the owner.

  • private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

  • public-ip - The Elastic IP address.

", + "locationName":"Filter" }, "PublicIps":{ "shape":"PublicIpStringList", "documentation":"

[EC2-Classic] One or more Elastic IP addresses.

Default: Describes all your Elastic IP addresses.

", "locationName":"PublicIp" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • allocation-id - [EC2-VPC] The allocation ID for the address.

  • association-id - [EC2-VPC] The association ID for the address.

  • domain - Indicates whether the address is for use in EC2-Classic (standard) or in a VPC (vpc).

  • instance-id - The ID of the instance the address is associated with, if any.

  • network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

  • network-interface-owner-id - The AWS account ID of the owner.

  • private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

  • public-ip - The Elastic IP address.

", - "locationName":"Filter" - }, "AllocationIds":{ "shape":"AllocationIdList", "documentation":"

[EC2-VPC] One or more allocation IDs.

Default: Describes all your Elastic IP addresses.

", "locationName":"AllocationId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeAddresses.

" @@ -5639,20 +5810,20 @@ "DescribeAvailabilityZonesRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • message - Information about the Availability Zone.

  • region-name - The name of the region for the Availability Zone (for example, us-east-1).

  • state - The state of the Availability Zone (available | information | impaired | unavailable).

  • zone-name - The name of the Availability Zone (for example, us-east-1a).

", + "locationName":"Filter" }, "ZoneNames":{ "shape":"ZoneNameStringList", "documentation":"

The names of one or more Availability Zones.

", "locationName":"ZoneName" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • message - Information about the Availability Zone.

  • region-name - The name of the region for the Availability Zone (for example, us-east-1).

  • state - The state of the Availability Zone (available | information | impaired | unavailable).

  • zone-name - The name of the Availability Zone (for example, us-east-1a).

", - "locationName":"Filter" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeAvailabilityZones.

" @@ -5671,11 +5842,6 @@ "DescribeBundleTasksRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "BundleIds":{ "shape":"BundleIdStringList", "documentation":"

One or more bundle task IDs.

Default: Describes all your bundle tasks.

", @@ -5685,6 +5851,11 @@ "shape":"FilterList", "documentation":"

One or more filters.

  • bundle-id - The ID of the bundle task.

  • error-code - If the task failed, the error code returned.

  • error-message - If the task failed, the error message returned.

  • instance-id - The ID of the instance.

  • progress - The level of task completion, as a percentage (for example, 20%).

  • s3-bucket - The Amazon S3 bucket to store the AMI.

  • s3-prefix - The beginning of the AMI name.

  • start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

  • state - The state of the task (pending | waiting-for-shutdown | bundling | storing | cancelling | complete | failed).

  • update-time - The time of the most recent update for the task.

", "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeBundleTasks.

" @@ -5703,6 +5874,11 @@ "DescribeClassicLinkInstancesRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • group-id - The ID of a VPC security group that's associated with the instance.

  • instance-id - The ID of the instance.

  • tag:key=value - The key/value combination of a tag assigned to the resource.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC that the instance is linked to.

", + "locationName":"Filter" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -5713,20 +5889,15 @@ "documentation":"

One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

", "locationName":"InstanceId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • group-id - The ID of a VPC security group that's associated with the instance.

  • instance-id - The ID of the instance.

  • tag:key=value - The key/value combination of a tag assigned to the resource.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC that the instance is linked to.

", - "locationName":"Filter" + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. You cannot specify this parameter and the instance IDs parameter in the same request.

Constraint: If the value is greater than 1000, we return only 1000 items.

", + "locationName":"maxResults" }, "NextToken":{ "shape":"String", "documentation":"

The token to retrieve the next page of results.

", "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. You cannot specify this parameter and the instance IDs parameter in the same request.

Constraint: If the value is greater than 1000, we return only 1000 items.

", - "locationName":"maxResults" } }, "documentation":"

Contains the parameters for DescribeClassicLinkInstances.

" @@ -5757,15 +5928,15 @@ "DescribeConversionTasksRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "ConversionTaskIds":{ "shape":"ConversionIdStringList", "documentation":"

One or more conversion task IDs.

", "locationName":"conversionTaskId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeConversionTasks.

" @@ -5784,11 +5955,6 @@ "DescribeCustomerGatewaysRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "CustomerGatewayIds":{ "shape":"CustomerGatewayIdStringList", "documentation":"

One or more customer gateway IDs.

Default: Describes all your customer gateways.

", @@ -5798,6 +5964,11 @@ "shape":"FilterList", "documentation":"

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

", "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeCustomerGateways.

" @@ -5816,11 +5987,6 @@ "DescribeDhcpOptionsRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "DhcpOptionsIds":{ "shape":"DhcpOptionsIdStringList", "documentation":"

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

", @@ -5830,6 +5996,11 @@ "shape":"FilterList", "documentation":"

One or more filters.

  • dhcp-options-id - The ID of a set of DHCP options.

  • key - The key for one of the options (for example, domain-name).

  • value - The value for one of the options.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

", "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeDhcpOptions.

" @@ -5907,22 +6078,22 @@ "DescribeFlowLogsRequest":{ "type":"structure", "members":{ + "Filter":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).

  • flow-log-id - The ID of the flow log.

  • log-group-name - The name of the log group.

  • resource-id - The ID of the VPC, subnet, or network interface.

  • traffic-type - The type of traffic (ACCEPT | REJECT | ALL)

" + }, "FlowLogIds":{ "shape":"ValueStringList", "documentation":"

One or more flow log IDs.

", "locationName":"FlowLogId" }, - "Filter":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).

  • flow-log-id - The ID of the flow log.

  • log-group-name - The name of the log group.

  • resource-id - The ID of the VPC, subnet, or network interface.

  • traffic-type - The type of traffic (ACCEPT | REJECT | ALL)

" + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. You cannot specify this parameter and the flow log IDs parameter in the same request.

" }, "NextToken":{ "shape":"String", "documentation":"

The token to retrieve the next page of results.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. You cannot specify this parameter and the flow log IDs parameter in the same request.

" } }, "documentation":"

Contains the parameters for DescribeFlowLogs.

" @@ -5943,61 +6114,108 @@ }, "documentation":"

Contains the output of DescribeFlowLogs.

" }, + "DescribeFpgaImagesRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "FpgaImageIds":{ + "shape":"FpgaImageIdList", + "documentation":"

One or more AFI IDs.

", + "locationName":"FpgaImageId" + }, + "Owners":{ + "shape":"OwnerStringList", + "documentation":"

Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).

", + "locationName":"Owner" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • create-time - The creation time of the AFI.

  • fpga-image-id - The FPGA image identifier (AFI ID).

  • fpga-image-global-id - The global FPGA image identifier (AGFI ID).

  • name - The name of the AFI.

  • owner-id - The AWS account ID of the AFI owner.

  • product-code - The product code.

  • shell-version - The version of the AWS Shell that was used to create the bitstream.

  • state - The state of the AFI (pending | failed | available | unavailable).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • update-time - The time of the most recent update.

", + "locationName":"Filter" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a single call.

" + } + } + }, + "DescribeFpgaImagesResult":{ + "type":"structure", + "members":{ + "FpgaImages":{ + "shape":"FpgaImageList", + "documentation":"

Information about one or more FPGA images.

", + "locationName":"fpgaImageSet" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, "DescribeHostReservationOfferingsRequest":{ "type":"structure", "members":{ - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the reservation offering.

" - }, - "MinDuration":{ - "shape":"Integer", - "documentation":"

This is the minimum duration of the reservation you'd like to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 31536000 for one year.

" + "Filter":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • instance-family - The instance family of the offering (e.g., m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

" }, "MaxDuration":{ "shape":"Integer", "documentation":"

This is the maximum duration of the reservation you'd like to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 94608000 for three years.

" }, - "Filter":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-family - The instance family of the offering (e.g., m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

" - }, "MaxResults":{ "shape":"Integer", "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500; if maxResults is given a larger value than 500, you will receive an error.

" }, + "MinDuration":{ + "shape":"Integer", + "documentation":"

This is the minimum duration of the reservation you'd like to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 31536000 for one year.

" + }, "NextToken":{ "shape":"String", "documentation":"

The token to use to retrieve the next page of results.

" + }, + "OfferingId":{ + "shape":"String", + "documentation":"

The ID of the reservation offering.

" } } }, "DescribeHostReservationOfferingsResult":{ "type":"structure", "members":{ - "OfferingSet":{ - "shape":"HostOfferingSet", - "documentation":"

Information about the offerings.

", - "locationName":"offeringSet" - }, "NextToken":{ "shape":"String", "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "locationName":"nextToken" + }, + "OfferingSet":{ + "shape":"HostOfferingSet", + "documentation":"

Information about the offerings.

", + "locationName":"offeringSet" } } }, "DescribeHostReservationsRequest":{ "type":"structure", "members":{ - "HostReservationIdSet":{ - "shape":"HostReservationIdSet", - "documentation":"

One or more host reservation IDs.

" - }, "Filter":{ "shape":"FilterList", "documentation":"

One or more filters.

  • instance-family - The instance family (e.g., m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

  • state - The state of the reservation (payment-pending | payment-failed | active | retired).

" }, + "HostReservationIdSet":{ + "shape":"HostReservationIdSet", + "documentation":"

One or more host reservation IDs.

" + }, "MaxResults":{ "shape":"Integer", "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500; if maxResults is given a larger value than 500, you will receive an error.

" @@ -6026,25 +6244,25 @@ "DescribeHostsRequest":{ "type":"structure", "members":{ + "Filter":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • instance-type - The instance type size that the Dedicated Host is configured to support.

  • auto-placement - Whether auto-placement is enabled or disabled (on | off).

  • host-reservation-id - The ID of the reservation assigned to this host.

  • client-token - The idempotency token you provided when you launched the instance

  • state- The allocation state of the Dedicated Host (available | under-assessment | permanent-failure | released | released-permanent-failure).

  • availability-zone - The Availability Zone of the host.

", + "locationName":"filter" + }, "HostIds":{ "shape":"RequestHostIdList", "documentation":"

The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.

", "locationName":"hostId" }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - }, "MaxResults":{ "shape":"Integer", "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500; if maxResults is given a larger value than 500, you will receive an error. You cannot specify this parameter and the host IDs parameter in the same request.

", "locationName":"maxResults" }, - "Filter":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-type - The instance type size that the Dedicated Host is configured to support.

  • auto-placement - Whether auto-placement is enabled or disabled (on | off).

  • host-reservation-id - The ID of the reservation assigned to this host.

  • client-token - The idempotency token you provided when you launched the instance

  • state- The allocation state of the Dedicated Host (available | under-assessment | permanent-failure | released | released-permanent-failure).

  • availability-zone - The Availability Zone of the host.

", - "locationName":"filter" + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

", + "locationName":"nextToken" } }, "documentation":"

Contains the parameters for DescribeHosts.

" @@ -6065,6 +6283,44 @@ }, "documentation":"

Contains the output of DescribeHosts.

" }, + "DescribeIamInstanceProfileAssociationsRequest":{ + "type":"structure", + "members":{ + "AssociationIds":{ + "shape":"AssociationIdList", + "documentation":"

One or more IAM instance profile associations.

", + "locationName":"AssociationId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • instance-id - The ID of the instance.

  • state - The state of the association (associating | associated | disassociating | disassociated).

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "DescribeIamInstanceProfileAssociationsResult":{ + "type":"structure", + "members":{ + "IamInstanceProfileAssociations":{ + "shape":"IamInstanceProfileAssociationSet", + "documentation":"

Information about one or more IAM instance profile associations.

", + "locationName":"iamInstanceProfileAssociationSet" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, "DescribeIdFormatRequest":{ "type":"structure", "members":{ @@ -6090,15 +6346,15 @@ "type":"structure", "required":["PrincipalArn"], "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: instance | reservation | snapshot | volume

", - "locationName":"resource" - }, "PrincipalArn":{ "shape":"String", "documentation":"

The ARN of the principal, which can be an IAM role, IAM user, or the root user.

", "locationName":"principalArn" + }, + "Resource":{ + "shape":"String", + "documentation":"

The type of resource: instance | reservation | snapshot | volume

", + "locationName":"resource" } }, "documentation":"

Contains the parameters for DescribeIdentityIdFormat.

" @@ -6117,22 +6373,22 @@ "DescribeImageAttributeRequest":{ "type":"structure", "required":[ - "ImageId", - "Attribute" + "Attribute", + "ImageId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Attribute":{ + "shape":"ImageAttributeName", + "documentation":"

The AMI attribute.

Note: Depending on your account privileges, the blockDeviceMapping attribute may return a Client.AuthFailure error. If this happens, use DescribeImages to get information about the block device mapping for the AMI.

" }, "ImageId":{ "shape":"String", "documentation":"

The ID of the AMI.

" }, - "Attribute":{ - "shape":"ImageAttributeName", - "documentation":"

The AMI attribute.

Note: Depending on your account privileges, the blockDeviceMapping attribute may return a Client.AuthFailure error. If this happens, use DescribeImages to get information about the block device mapping for the AMI.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeImageAttribute.

" @@ -6140,10 +6396,15 @@ "DescribeImagesRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "ExecutableUsers":{ + "shape":"ExecutableByStringList", + "documentation":"

Scopes the images by users with explicit launch permissions. Specify an AWS account ID, self (the sender of the request), or all (public AMIs).

", + "locationName":"ExecutableBy" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • architecture - The image architecture (i386 | x86_64).

  • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name for the EBS volume (for example, /dev/sdh).

  • block-device-mapping.snapshot-id - The ID of the snapshot used for the EBS volume.

  • block-device-mapping.volume-size - The volume size of the EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the EBS volume (gp2 | io1 | st1 | sc1 | standard).

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - String value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

  • owner-id - The AWS account ID of the image owner.

  • platform - The platform. To only list Windows-based AMIs, use windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • root-device-name - The name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • virtualization-type - The virtualization type (paravirtual | hvm).

", + "locationName":"Filter" }, "ImageIds":{ "shape":"ImageIdStringList", @@ -6155,15 +6416,10 @@ "documentation":"

Filters the images by the owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace | microsoft). Omitting this option returns all images for which you have launch permissions, regardless of ownership.

", "locationName":"Owner" }, - "ExecutableUsers":{ - "shape":"ExecutableByStringList", - "documentation":"

Scopes the images by users with explicit launch permissions. Specify an AWS account ID, self (the sender of the request), or all (public AMIs).

", - "locationName":"ExecutableBy" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • architecture - The image architecture (i386 | x86_64).

  • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name for the EBS volume (for example, /dev/sdh).

  • block-device-mapping.snapshot-id - The ID of the snapshot used for the EBS volume.

  • block-device-mapping.volume-size - The volume size of the EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the EBS volume (gp2 | io1 | st1 | sc1 | standard).

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - String value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

  • owner-id - The AWS account ID of the image owner.

  • platform - The platform. To only list Windows-based AMIs, use windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • root-device-name - The name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • virtualization-type - The virtualization type (paravirtual | hvm).

", - "locationName":"Filter" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeImages.

" @@ -6186,22 +6442,22 @@ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, deleted.

" + }, "ImportTaskIds":{ "shape":"ImportTaskIdList", "documentation":"

A list of import image task IDs.

", "locationName":"ImportTaskId" }, - "NextToken":{ - "shape":"String", - "documentation":"

A token that indicates the next page of results.

" - }, "MaxResults":{ "shape":"Integer", "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, deleted.

" + "NextToken":{ + "shape":"String", + "documentation":"

A token that indicates the next page of results.

" } }, "documentation":"

Contains the parameters for DescribeImportImageTasks.

" @@ -6229,22 +6485,22 @@ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

" + }, "ImportTaskIds":{ "shape":"ImportTaskIdList", "documentation":"

A list of import snapshot task IDs.

", "locationName":"ImportTaskId" }, - "NextToken":{ - "shape":"String", - "documentation":"

A token that indicates the next page of results.

" - }, "MaxResults":{ "shape":"Integer", "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

" + "NextToken":{ + "shape":"String", + "documentation":"

A token that indicates the next page of results.

" } }, "documentation":"

Contains the parameters for DescribeImportSnapshotTasks.

" @@ -6268,10 +6524,15 @@ "DescribeInstanceAttributeRequest":{ "type":"structure", "required":[ - "InstanceId", - "Attribute" + "Attribute", + "InstanceId" ], "members":{ + "Attribute":{ + "shape":"InstanceAttributeName", + "documentation":"

The instance attribute.

Note: The enaSupport attribute is not supported at this time.

", + "locationName":"attribute" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -6281,11 +6542,6 @@ "shape":"String", "documentation":"

The ID of the instance.

", "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The instance attribute.

Note: The enaSupport attribute is not supported at this time.

", - "locationName":"attribute" } }, "documentation":"

Contains the parameters for DescribeInstanceAttribute.

" @@ -6293,28 +6549,28 @@ "DescribeInstanceStatusRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone - The Availability Zone of the instance.

  • event.code - The code for the scheduled event (instance-reboot | system-reboot | system-maintenance | instance-retirement | instance-stop).

  • event.description - A description of the event.

  • event.not-after - The latest end time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • event.not-before - The earliest start time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • instance-state-code - The code for the instance state, as a 16-bit unsigned integer. The high byte is an opaque internal value and should be ignored. The low byte is set based on the state represented. The valid values are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-status.reachability - Filters on instance status where the name is reachability (passed | failed | initializing | insufficient-data).

  • instance-status.status - The status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

  • system-status.reachability - Filters on system status where the name is reachability (passed | failed | initializing | insufficient-data).

  • system-status.status - The system status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

", + "locationName":"Filter" }, "InstanceIds":{ "shape":"InstanceIdStringList", "documentation":"

One or more instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

", "locationName":"InstanceId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone of the instance.

  • event.code - The code for the scheduled event (instance-reboot | system-reboot | system-maintenance | instance-retirement | instance-stop).

  • event.description - A description of the event.

  • event.not-after - The latest end time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • event.not-before - The earliest start time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • instance-state-code - The code for the instance state, as a 16-bit unsigned integer. The high byte is an opaque internal value and should be ignored. The low byte is set based on the state represented. The valid values are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-status.reachability - Filters on instance status where the name is reachability (passed | failed | initializing | insufficient-data).

  • instance-status.status - The status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

  • system-status.reachability - Filters on system status where the name is reachability (passed | failed | initializing | insufficient-data).

  • system-status.status - The system status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

", - "locationName":"Filter" + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.

" }, "NextToken":{ "shape":"String", "documentation":"

The token to retrieve the next page of results.

" }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" }, "IncludeAllInstances":{ "shape":"Boolean", @@ -6343,30 +6599,30 @@ "DescribeInstancesRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

  • architecture - The instance architecture (i386 | x86_64).

  • availability-zone - The Availability Zone of the instance.

  • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2010-09-15T17:15:20.000Z.

  • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name for the EBS volume (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • client-token - The idempotency token you provided when you launched the instance.

  • dns-name - The public DNS name of the instance.

  • group-id - The ID of the security group for the instance. EC2-Classic only.

  • group-name - The name of the security group for the instance. EC2-Classic only.

  • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

  • hypervisor - The hypervisor type of the instance (ovm | xen).

  • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

  • image-id - The ID of the image used to launch the instance.

  • instance-id - The ID of the instance.

  • instance-lifecycle - Indicates whether this is a Spot Instance or a Scheduled Instance (spot | scheduled).

  • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is an opaque internal value and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched.

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by AWS.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • owner-id - The AWS account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • platform - The platform. Use windows if you have Windows instances; otherwise, leave blank.

  • private-dns-name - The private IPv4 DNS name of the instance.

  • private-ip-address - The private IPv4 address of the instance.

  • product-code - The product code associated with the AMI used to launch the instance.

  • product-code.type - The type of product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • reason - The reason for the current state of the instance (for example, shows \"User Initiated [date]\" when you stop or terminate the instance). Similar to the state-reason-code filter.

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you'll get one reservation ID. If you launch ten instances using the same launch request, you'll also get one reservation ID.

  • root-device-name - The name of the root device for the instance (for example, /dev/sda1 or /dev/xvda).

  • root-device-type - The type of root device that the instance uses (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

", + "locationName":"Filter" }, "InstanceIds":{ "shape":"InstanceIdStringList", "documentation":"

One or more instance IDs.

Default: Describes all your instances.

", "locationName":"InstanceId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

  • architecture - The instance architecture (i386 | x86_64).

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • availability-zone - The Availability Zone of the instance.

  • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2010-09-15T17:15:20.000Z.

  • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name for the EBS volume (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • client-token - The idempotency token you provided when you launched the instance.

  • dns-name - The public DNS name of the instance.

  • group-id - The ID of the security group for the instance. EC2-Classic only.

  • group-name - The name of the security group for the instance. EC2-Classic only.

  • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

  • hypervisor - The hypervisor type of the instance (ovm | xen).

  • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

  • image-id - The ID of the image used to launch the instance.

  • instance-id - The ID of the instance.

  • instance-lifecycle - Indicates whether this is a Spot Instance or a Scheduled Instance (spot | scheduled).

  • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is an opaque internal value and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched.

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by AWS.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • owner-id - The AWS account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • platform - The platform. Use windows if you have Windows instances; otherwise, leave blank.

  • private-dns-name - The private IPv4 DNS name of the instance.

  • private-ip-address - The private IPv4 address of the instance.

  • product-code - The product code associated with the AMI used to launch the instance.

  • product-code.type - The type of product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • reason - The reason for the current state of the instance (for example, shows \"User Initiated [date]\" when you stop or terminate the instance). Similar to the state-reason-code filter.

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you'll get one reservation ID. If you launch ten instances using the same launch request, you'll also get one reservation ID.

  • root-device-name - The name of the root device for the instance (for example, /dev/sda1 or /dev/xvda).

  • root-device-type - The type of root device that the instance uses (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

", - "locationName":"nextToken" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" }, "MaxResults":{ "shape":"Integer", "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter or tag filters in the same call.

", "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next page of results.

", + "locationName":"nextToken" } }, "documentation":"

Contains the parameters for DescribeInstances.

" @@ -6390,6 +6646,11 @@ "DescribeInternetGatewaysRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • attachment.state - The current state of the attachment between the gateway and the VPC (available). Present only if a VPC is attached.

  • attachment.vpc-id - The ID of an attached VPC.

  • internet-gateway-id - The ID of the Internet gateway.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

", + "locationName":"Filter" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -6399,11 +6660,6 @@ "shape":"ValueStringList", "documentation":"

One or more Internet gateway IDs.

Default: Describes all your Internet gateways.

", "locationName":"internetGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • attachment.state - The current state of the attachment between the gateway and the VPC (available). Present only if a VPC is attached.

  • attachment.vpc-id - The ID of an attached VPC.

  • internet-gateway-id - The ID of the Internet gateway.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

", - "locationName":"Filter" } }, "documentation":"

Contains the parameters for DescribeInternetGateways.

" @@ -6422,20 +6678,20 @@ "DescribeKeyPairsRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • fingerprint - The fingerprint of the key pair.

  • key-name - The name of the key pair.

", + "locationName":"Filter" }, "KeyNames":{ "shape":"KeyNameStringList", "documentation":"

One or more key pair names.

Default: Describes all your key pairs.

", "locationName":"KeyName" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • fingerprint - The fingerprint of the key pair.

  • key-name - The name of the key pair.

", - "locationName":"Filter" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeKeyPairs.

" @@ -6454,30 +6710,30 @@ "DescribeMovingAddressesRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic).

", + "locationName":"filter" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, - "PublicIps":{ - "shape":"ValueStringList", - "documentation":"

One or more Elastic IP addresses.

", - "locationName":"publicIp" + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value outside of this range, an error is returned.

Default: If no value is provided, the default is 1000.

", + "locationName":"maxResults" }, "NextToken":{ "shape":"String", "documentation":"

The token to use to retrieve the next page of results.

", "locationName":"nextToken" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic).

", - "locationName":"filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value outside of this range, an error is returned.

Default: If no value is provided, the default is 1000.

", - "locationName":"maxResults" + "PublicIps":{ + "shape":"ValueStringList", + "documentation":"

One or more Elastic IP addresses.

", + "locationName":"publicIp" } }, "documentation":"

Contains the parameters for DescribeMovingAddresses.

" @@ -6501,11 +6757,6 @@ "DescribeNatGatewaysRequest":{ "type":"structure", "members":{ - "NatGatewayIds":{ - "shape":"ValueStringList", - "documentation":"

One or more NAT gateway IDs.

", - "locationName":"NatGatewayId" - }, "Filter":{ "shape":"FilterList", "documentation":"

One or more filters.

  • nat-gateway-id - The ID of the NAT gateway.

  • state - The state of the NAT gateway (pending | failed | available | deleting | deleted).

  • subnet-id - The ID of the subnet in which the NAT gateway resides.

  • vpc-id - The ID of the VPC in which the NAT gateway resides.

" @@ -6514,6 +6765,11 @@ "shape":"Integer", "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value specified is greater than 1000, we return only 1000 items.

" }, + "NatGatewayIds":{ + "shape":"ValueStringList", + "documentation":"

One or more NAT gateway IDs.

", + "locationName":"NatGatewayId" + }, "NextToken":{ "shape":"String", "documentation":"

The token to retrieve the next page of results.

" @@ -6540,6 +6796,11 @@ "DescribeNetworkAclsRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • association.association-id - The ID of an association ID for the ACL.

  • association.network-acl-id - The ID of the network ACL involved in the association.

  • association.subnet-id - The ID of the subnet involved in the association.

  • default - Indicates whether the ACL is the default network ACL for the VPC.

  • entry.cidr - The IPv4 CIDR range specified in the entry.

  • entry.egress - Indicates whether the entry applies to egress traffic.

  • entry.icmp.code - The ICMP code specified in the entry, if any.

  • entry.icmp.type - The ICMP type specified in the entry, if any.

  • entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

  • entry.port-range.from - The start of the port range specified in the entry.

  • entry.port-range.to - The end of the port range specified in the entry.

  • entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

  • entry.rule-action - Allows or denies the matching traffic (allow | deny).

  • entry.rule-number - The number of an entry (in other words, rule) in the ACL's set of entries.

  • network-acl-id - The ID of the network ACL.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC for the network ACL.

", + "locationName":"Filter" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -6549,11 +6810,6 @@ "shape":"ValueStringList", "documentation":"

One or more network ACL IDs.

Default: Describes all your network ACLs.

", "locationName":"NetworkAclId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • association.association-id - The ID of an association ID for the ACL.

  • association.network-acl-id - The ID of the network ACL involved in the association.

  • association.subnet-id - The ID of the subnet involved in the association.

  • default - Indicates whether the ACL is the default network ACL for the VPC.

  • entry.cidr - The IPv4 CIDR range specified in the entry.

  • entry.egress - Indicates whether the entry applies to egress traffic.

  • entry.icmp.code - The ICMP code specified in the entry, if any.

  • entry.icmp.type - The ICMP type specified in the entry, if any.

  • entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

  • entry.port-range.from - The start of the port range specified in the entry.

  • entry.port-range.to - The end of the port range specified in the entry.

  • entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

  • entry.rule-action - Allows or denies the matching traffic (allow | deny).

  • entry.rule-number - The number of an entry (in other words, rule) in the ACL's set of entries.

  • network-acl-id - The ID of the network ACL.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC for the network ACL.

", - "locationName":"Filter" } }, "documentation":"

Contains the parameters for DescribeNetworkAcls.

" @@ -6573,6 +6829,11 @@ "type":"structure", "required":["NetworkInterfaceId"], "members":{ + "Attribute":{ + "shape":"NetworkInterfaceAttribute", + "documentation":"

The attribute of the network interface. This parameter is required.

", + "locationName":"attribute" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -6582,11 +6843,6 @@ "shape":"String", "documentation":"

The ID of the network interface.

", "locationName":"networkInterfaceId" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "documentation":"

The attribute of the network interface.

", - "locationName":"attribute" } }, "documentation":"

Contains the parameters for DescribeNetworkInterfaceAttribute.

" @@ -6594,30 +6850,30 @@ "DescribeNetworkInterfaceAttributeResult":{ "type":"structure", "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" + "Attachment":{ + "shape":"NetworkInterfaceAttachment", + "documentation":"

The attachment (if any) of the network interface.

", + "locationName":"attachment" }, "Description":{ "shape":"AttributeValue", "documentation":"

The description of the network interface.

", "locationName":"description" }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether source/destination checking is enabled.

", - "locationName":"sourceDestCheck" - }, "Groups":{ "shape":"GroupIdentifierList", "documentation":"

The security groups associated with the network interface.

", "locationName":"groupSet" }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The attachment (if any) of the network interface.

", - "locationName":"attachment" + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "SourceDestCheck":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether source/destination checking is enabled.

", + "locationName":"sourceDestCheck" } }, "documentation":"

Contains the output of DescribeNetworkInterfaceAttribute.

" @@ -6625,6 +6881,11 @@ "DescribeNetworkInterfacesRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.attach.time - The time that the network interface was attached to an instance.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.nat-gateway-id - The ID of the NAT gateway to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • group-name - The name of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The AWS account ID of the network interface owner.

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • requester-managed - Indicates whether the network interface is being managed by an AWS service (for example, AWS Management Console, Auto Scaling, and so on).

  • source-desk-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC for the network interface.

", + "locationName":"filter" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -6634,11 +6895,6 @@ "shape":"NetworkInterfaceIdList", "documentation":"

One or more network interface IDs.

Default: Describes all your network interfaces.

", "locationName":"NetworkInterfaceId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.attach.time - The time that the network interface was attached to an instance.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.nat-gateway-id - The ID of the NAT gateway to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • group-name - The name of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The AWS account ID of the network interface owner.

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • requester-managed - Indicates whether the network interface is being managed by an AWS service (for example, AWS Management Console, Auto Scaling, and so on).

  • source-desk-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC for the network interface.

", - "locationName":"filter" } }, "documentation":"

Contains the parameters for DescribeNetworkInterfaces.

" @@ -6657,6 +6913,11 @@ "DescribePlacementGroupsRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • group-name - The name of the placement group.

  • state - The state of the placement group (pending | available | deleting | deleted).

  • strategy - The strategy of the placement group (cluster).

", + "locationName":"Filter" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -6666,11 +6927,6 @@ "shape":"PlacementGroupStringList", "documentation":"

One or more placement group names.

Default: Describes all your placement groups, or only those otherwise specified.

", "locationName":"groupName" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • group-name - The name of the placement group.

  • state - The state of the placement group (pending | available | deleting | deleted).

  • strategy - The strategy of the placement group (cluster).

", - "locationName":"Filter" } }, "documentation":"

Contains the parameters for DescribePlacementGroups.

" @@ -6693,11 +6949,6 @@ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, - "PrefixListIds":{ - "shape":"ValueStringList", - "documentation":"

One or more prefix list IDs.

", - "locationName":"PrefixListId" - }, "Filters":{ "shape":"FilterList", "documentation":"

One or more filters.

  • prefix-list-id: The ID of a prefix list.

  • prefix-list-name: The name of a prefix list.

", @@ -6710,6 +6961,11 @@ "NextToken":{ "shape":"String", "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" + }, + "PrefixListIds":{ + "shape":"ValueStringList", + "documentation":"

One or more prefix list IDs.

", + "locationName":"PrefixListId" } }, "documentation":"

Contains the parameters for DescribePrefixLists.

" @@ -6717,15 +6973,15 @@ "DescribePrefixListsResult":{ "type":"structure", "members":{ - "PrefixLists":{ - "shape":"PrefixListSet", - "documentation":"

All available prefix lists.

", - "locationName":"prefixListSet" - }, "NextToken":{ "shape":"String", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "locationName":"nextToken" + }, + "PrefixLists":{ + "shape":"PrefixListSet", + "documentation":"

All available prefix lists.

", + "locationName":"prefixListSet" } }, "documentation":"

Contains the output of DescribePrefixLists.

" @@ -6733,20 +6989,20 @@ "DescribeRegionsRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).

  • region-name - The name of the region (for example, us-east-1).

", + "locationName":"Filter" }, "RegionNames":{ "shape":"RegionNameStringList", "documentation":"

The names of one or more regions.

", "locationName":"RegionName" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).

  • region-name - The name of the region (for example, us-east-1).

", - "locationName":"Filter" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeRegions.

" @@ -6765,6 +7021,11 @@ "DescribeReservedInstancesListingsRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • reserved-instances-id - The ID of the Reserved Instances.

  • reserved-instances-listing-id - The ID of the Reserved Instances listing.

  • status - The status of the Reserved Instance listing (pending | active | cancelled | closed).

  • status-message - The reason for the status.

", + "locationName":"Filter" + }, "ReservedInstancesId":{ "shape":"String", "documentation":"

One or more Reserved Instance IDs.

", @@ -6774,11 +7035,6 @@ "shape":"String", "documentation":"

One or more Reserved Instance listing IDs.

", "locationName":"reservedInstancesListingId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • reserved-instances-id - The ID of the Reserved Instances.

  • reserved-instances-listing-id - The ID of the Reserved Instances listing.

  • status - The status of the Reserved Instance listing (pending | active | cancelled | closed).

  • status-message - The reason for the status.

", - "locationName":"Filter" } }, "documentation":"

Contains the parameters for DescribeReservedInstancesListings.

" @@ -6797,6 +7053,11 @@ "DescribeReservedInstancesModificationsRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • client-token - The idempotency token for the modification request.

  • create-date - The time when the modification request was created.

  • effective-date - The time when the modification becomes effective.

  • modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

  • modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

  • modification-result.target-configuration.instance-count - The number of new Reserved Instances.

  • modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

  • modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

  • reserved-instances-id - The ID of the Reserved Instances modified.

  • reserved-instances-modification-id - The ID of the modification request.

  • status - The status of the Reserved Instances modification request (processing | fulfilled | failed).

  • status-message - The reason for the status.

  • update-date - The time when the modification request was last updated.

", + "locationName":"Filter" + }, "ReservedInstancesModificationIds":{ "shape":"ReservedInstancesModificationIdStringList", "documentation":"

IDs for the submitted modification request.

", @@ -6806,11 +7067,6 @@ "shape":"String", "documentation":"

The token to retrieve the next page of results.

", "locationName":"nextToken" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • client-token - The idempotency token for the modification request.

  • create-date - The time when the modification request was created.

  • effective-date - The time when the modification becomes effective.

  • modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

  • modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

  • modification-result.target-configuration.instance-count - The number of new Reserved Instances.

  • modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

  • modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

  • reserved-instances-id - The ID of the Reserved Instances modified.

  • reserved-instances-modification-id - The ID of the modification request.

  • status - The status of the Reserved Instances modification request (processing | fulfilled | failed).

  • status-message - The reason for the status.

  • update-date - The time when the modification request was last updated.

", - "locationName":"Filter" } }, "documentation":"

Contains the parameters for DescribeReservedInstancesModifications.

" @@ -6818,15 +7074,15 @@ "DescribeReservedInstancesModificationsResult":{ "type":"structure", "members":{ - "ReservedInstancesModifications":{ - "shape":"ReservedInstancesModificationList", - "documentation":"

The Reserved Instance modification information.

", - "locationName":"reservedInstancesModificationsSet" - }, "NextToken":{ "shape":"String", "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "locationName":"nextToken" + }, + "ReservedInstancesModifications":{ + "shape":"ReservedInstancesModificationList", + "documentation":"

The Reserved Instance modification information.

", + "locationName":"reservedInstancesModificationsSet" } }, "documentation":"

Contains the output of DescribeReservedInstancesModifications.

" @@ -6834,60 +7090,22 @@ "DescribeReservedInstancesOfferingsRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingIds":{ - "shape":"ReservedInstancesOfferingIdStringList", - "documentation":"

One or more Reserved Instances offering IDs.

", - "locationName":"ReservedInstancesOfferingId" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type that the reservation will cover (for example, m1.small). For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" - }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone in which the Reserved Instance can be used.

" }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC.

" - }, "Filters":{ "shape":"FilterList", "documentation":"

One or more filters.

  • availability-zone - The Availability Zone where the Reserved Instance can be used.

  • duration - The duration of the Reserved Instance (for example, one year or three years), in seconds (31536000 | 94608000).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type that is covered by the reservation.

  • marketplace - Set to true to show only Reserved Instance Marketplace offerings. When this filter is not used, which is the default behavior, all offerings from both AWS and the Reserved Instance Marketplace are listed.

  • product-description - The Reserved Instance product platform description. Instances that include (Amazon VPC) in the product platform description will only be displayed to EC2-Classic account holders and are for use with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC))

  • reserved-instances-offering-id - The Reserved Instances offering ID.

  • scope - The scope of the Reserved Instance (Availability Zone or Region).

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

", "locationName":"Filter" }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy of dedicated is applied to instances that run in a VPC on single-tenant hardware (i.e., Dedicated Instances).

Default: default

", - "locationName":"instanceTenancy" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "documentation":"

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

", - "locationName":"offeringType" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. The maximum is 100.

Default: 100

", - "locationName":"maxResults" - }, "IncludeMarketplace":{ "shape":"Boolean", "documentation":"

Include Reserved Instance Marketplace offerings in the response.

" }, - "MinDuration":{ - "shape":"Long", - "documentation":"

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

" + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type that the reservation will cover (for example, m1.small). For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" }, "MaxDuration":{ "shape":"Long", @@ -6897,9 +7115,47 @@ "shape":"Integer", "documentation":"

The maximum number of instances to filter when searching for offerings.

Default: 20

" }, + "MinDuration":{ + "shape":"Long", + "documentation":"

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

" + }, "OfferingClass":{ "shape":"OfferingClassType", "documentation":"

The offering class of the Reserved Instance. Can be standard or convertible.

" + }, + "ProductDescription":{ + "shape":"RIProductDescription", + "documentation":"

The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC.

" + }, + "ReservedInstancesOfferingIds":{ + "shape":"ReservedInstancesOfferingIdStringList", + "documentation":"

One or more Reserved Instances offering IDs.

", + "locationName":"ReservedInstancesOfferingId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceTenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy of dedicated is applied to instances that run in a VPC on single-tenant hardware (i.e., Dedicated Instances).

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

", + "locationName":"instanceTenancy" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. The maximum is 100.

Default: 100

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

", + "locationName":"nextToken" + }, + "OfferingType":{ + "shape":"OfferingTypeValues", + "documentation":"

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

", + "locationName":"offeringType" } }, "documentation":"

Contains the parameters for DescribeReservedInstancesOfferings.

" @@ -6923,29 +7179,29 @@ "DescribeReservedInstancesRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone - The Availability Zone where the Reserved Instance can be used.

  • duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

  • end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type that is covered by the reservation.

  • scope - The scope of the Reserved Instance (Region or Availability Zone).

  • product-description - The Reserved Instance product platform description. Instances that include (Amazon VPC) in the product platform description will only be displayed to EC2-Classic account holders and are for use with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).

  • reserved-instances-id - The ID of the Reserved Instance.

  • start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

  • state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

", + "locationName":"Filter" + }, + "OfferingClass":{ + "shape":"OfferingClassType", + "documentation":"

Describes whether the Reserved Instance is Standard or Convertible.

" }, "ReservedInstancesIds":{ "shape":"ReservedInstancesIdStringList", "documentation":"

One or more Reserved Instance IDs.

Default: Describes all your Reserved Instances, or only those otherwise specified.

", "locationName":"ReservedInstancesId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone where the Reserved Instance can be used.

  • duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

  • end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type that is covered by the reservation.

  • scope - The scope of the Reserved Instance (Region or Availability Zone).

  • product-description - The Reserved Instance product platform description. Instances that include (Amazon VPC) in the product platform description will only be displayed to EC2-Classic account holders and are for use with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).

  • reserved-instances-id - The ID of the Reserved Instance.

  • start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

  • state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

", - "locationName":"Filter" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" }, "OfferingType":{ "shape":"OfferingTypeValues", "documentation":"

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

", "locationName":"offeringType" - }, - "OfferingClass":{ - "shape":"OfferingClassType", - "documentation":"

Describes whether the Reserved Instance is Standard or Convertible.

" } }, "documentation":"

Contains the parameters for DescribeReservedInstances.

" @@ -6964,6 +7220,11 @@ "DescribeRouteTablesRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • association.route-table-association-id - The ID of an association ID for the route table.

  • association.route-table-id - The ID of the route table involved in the association.

  • association.subnet-id - The ID of the subnet involved in the association.

  • association.main - Indicates whether the route table is the main route table for the VPC (true | false). Route tables that do not have an association ID are not returned in the response.

  • route-table-id - The ID of the route table.

  • route.destination-cidr-block - The IPv4 CIDR range specified in a route in the table.

  • route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

  • route.destination-prefix-list-id - The ID (prefix) of the AWS service specified in a route in the table.

  • route.egress-only-internet-gateway-id - The ID of an egress-only Internet gateway specified in a route in the route table.

  • route.gateway-id - The ID of a gateway specified in a route in the table.

  • route.instance-id - The ID of an instance specified in a route in the table.

  • route.nat-gateway-id - The ID of a NAT gateway.

  • route.origin - Describes how the route was created. CreateRouteTable indicates that the route was automatically created when the route table was created; CreateRoute indicates that the route was manually added to the route table; EnableVgwRoutePropagation indicates that the route was propagated by route propagation.

  • route.state - The state of a route in the route table (active | blackhole). The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, the specified NAT instance has been terminated, and so on).

  • route.vpc-peering-connection-id - The ID of a VPC peering connection specified in a route in the table.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC for the route table.

", + "locationName":"Filter" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -6973,11 +7234,6 @@ "shape":"ValueStringList", "documentation":"

One or more route table IDs.

Default: Describes all your route tables.

", "locationName":"RouteTableId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • association.route-table-association-id - The ID of an association ID for the route table.

  • association.route-table-id - The ID of the route table involved in the association.

  • association.subnet-id - The ID of the subnet involved in the association.

  • association.main - Indicates whether the route table is the main route table for the VPC (true | false).

  • route-table-id - The ID of the route table.

  • route.destination-cidr-block - The IPv4 CIDR range specified in a route in the table.

  • route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

  • route.destination-prefix-list-id - The ID (prefix) of the AWS service specified in a route in the table.

  • route.egress-only-internet-gateway-id - The ID of an egress-only Internet gateway specified in a route in the route table.

  • route.gateway-id - The ID of a gateway specified in a route in the table.

  • route.instance-id - The ID of an instance specified in a route in the table.

  • route.nat-gateway-id - The ID of a NAT gateway.

  • route.origin - Describes how the route was created. CreateRouteTable indicates that the route was automatically created when the route table was created; CreateRoute indicates that the route was manually added to the route table; EnableVgwRoutePropagation indicates that the route was propagated by route propagation.

  • route.state - The state of a route in the route table (active | blackhole). The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, the specified NAT instance has been terminated, and so on).

  • route.vpc-peering-connection-id - The ID of a VPC peering connection specified in a route in the table.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC for the route table.

", - "locationName":"Filter" } }, "documentation":"

Contains the parameters for DescribeRouteTables.

" @@ -6996,42 +7252,42 @@ "DescribeScheduledInstanceAvailabilityRequest":{ "type":"structure", "required":[ - "Recurrence", - "FirstSlotStartTimeRange" + "FirstSlotStartTimeRange", + "Recurrence" ], "members":{ "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrenceRequest", - "documentation":"

The schedule recurrence.

" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • network-platform - The network platform (EC2-Classic or EC2-VPC).

  • platform - The platform (Linux/UNIX or Windows).

", + "locationName":"Filter" }, "FirstSlotStartTimeRange":{ "shape":"SlotDateTimeRangeRequest", "documentation":"

The time period for the first schedule to start.

" }, - "MinSlotDurationInHours":{ + "MaxResults":{ "shape":"Integer", - "documentation":"

The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

" + "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 300. The default value is 300. To retrieve the remaining results, make another call with the returned NextToken value.

" }, "MaxSlotDurationInHours":{ "shape":"Integer", "documentation":"

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

" }, + "MinSlotDurationInHours":{ + "shape":"Integer", + "documentation":"

The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

" + }, "NextToken":{ "shape":"String", "documentation":"

The token for the next set of results.

" }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 300. The default value is 300. To retrieve the remaining results, make another call with the returned NextToken value.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • network-platform - The network platform (EC2-Classic or EC2-VPC).

  • platform - The platform (Linux/UNIX or Windows).

", - "locationName":"Filter" + "Recurrence":{ + "shape":"ScheduledInstanceRecurrenceRequest", + "documentation":"

The schedule recurrence.

" } }, "documentation":"

Contains the parameters for DescribeScheduledInstanceAvailability.

" @@ -7059,6 +7315,19 @@ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • network-platform - The network platform (EC2-Classic or EC2-VPC).

  • platform - The platform (Linux/UNIX or Windows).

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 300. The default value is 100. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

" + }, "ScheduledInstanceIds":{ "shape":"ScheduledInstanceIdRequestSet", "documentation":"

One or more Scheduled Instance IDs.

", @@ -7067,19 +7336,6 @@ "SlotStartTimeRange":{ "shape":"SlotStartTimeRangeRequest", "documentation":"

The time period for the first schedule to start.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 300. The default value is 100. To retrieve the remaining results, make another call with the returned NextToken value.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • network-platform - The network platform (EC2-Classic or EC2-VPC).

  • platform - The platform (Linux/UNIX or Windows).

", - "locationName":"Filter" } }, "documentation":"

Contains the parameters for DescribeScheduledInstances.

" @@ -7127,25 +7383,25 @@ "DescribeSecurityGroupsRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "documentation":"

[EC2-Classic and default VPC only] One or more security group names. You can specify either the security group name or the security group ID. For security groups in a nondefault VPC, use the group-name filter to describe security groups by name.

Default: Describes all your security groups.

", - "locationName":"GroupName" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

  • description - The description of the security group.

  • egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service to which the security group allows access.

  • group-id - The ID of the security group.

  • group-name - The name of the security group.

  • ip-permission.cidr - An IPv4 CIDR range that has been granted permission in a security group rule.

  • ip-permission.from-port - The start of port range for the TCP and UDP protocols, or an ICMP type number.

  • ip-permission.group-id - The ID of a security group that has been granted permission.

  • ip-permission.group-name - The name of a security group that has been granted permission.

  • ip-permission.ipv6-cidr - An IPv6 CIDR range that has been granted permission in a security group rule.

  • ip-permission.protocol - The IP protocol for the permission (tcp | udp | icmp or a protocol number).

  • ip-permission.to-port - The end of port range for the TCP and UDP protocols, or an ICMP code.

  • ip-permission.user-id - The ID of an AWS account that has been granted permission.

  • owner-id - The AWS account ID of the owner of the security group.

  • tag-key - The key of a tag assigned to the security group.

  • tag-value - The value of a tag assigned to the security group.

  • vpc-id - The ID of the VPC specified when the security group was created.

", + "locationName":"Filter" }, "GroupIds":{ "shape":"GroupIdStringList", "documentation":"

One or more security group IDs. Required for security groups in a nondefault VPC.

Default: Describes all your security groups.

", "locationName":"GroupId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

  • description - The description of the security group.

  • egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service to which the security group allows access.

  • group-id - The ID of the security group.

  • group-name - The name of the security group.

  • ip-permission.cidr - An IPv4 CIDR range that has been granted permission in a security group rule.

  • ip-permission.from-port - The start of port range for the TCP and UDP protocols, or an ICMP type number.

  • ip-permission.group-id - The ID of a security group that has been granted permission.

  • ip-permission.group-name - The name of a security group that has been granted permission.

  • ip-permission.ipv6-cidr - An IPv6 CIDR range that has been granted permission in a security group rule.

  • ip-permission.protocol - The IP protocol for the permission (tcp | udp | icmp or a protocol number).

  • ip-permission.to-port - The end of port range for the TCP and UDP protocols, or an ICMP code.

  • ip-permission.user-id - The ID of an AWS account that has been granted permission.

  • owner-id - The AWS account ID of the owner of the security group.

  • tag-key - The key of a tag assigned to the security group.

  • tag-value - The value of a tag assigned to the security group.

  • vpc-id - The ID of the VPC specified when the security group was created.

", - "locationName":"Filter" + "GroupNames":{ + "shape":"GroupNameStringList", + "documentation":"

[EC2-Classic and default VPC only] One or more security group names. You can specify either the security group name or the security group ID. For security groups in a nondefault VPC, use the group-name filter to describe security groups by name.

Default: Describes all your security groups.

", + "locationName":"GroupName" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeSecurityGroups.

" @@ -7164,22 +7420,22 @@ "DescribeSnapshotAttributeRequest":{ "type":"structure", "required":[ - "SnapshotId", - "Attribute" + "Attribute", + "SnapshotId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Attribute":{ + "shape":"SnapshotAttributeName", + "documentation":"

The snapshot attribute you would like to view.

" }, "SnapshotId":{ "shape":"String", "documentation":"

The ID of the EBS snapshot.

" }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute you would like to view.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeSnapshotAttribute.

" @@ -7187,11 +7443,6 @@ "DescribeSnapshotAttributeResult":{ "type":"structure", "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the EBS snapshot.

", - "locationName":"snapshotId" - }, "CreateVolumePermissions":{ "shape":"CreateVolumePermissionList", "documentation":"

A list of permissions for creating volumes from the snapshot.

", @@ -7201,6 +7452,11 @@ "shape":"ProductCodeList", "documentation":"

A list of product codes.

", "locationName":"productCodes" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the EBS snapshot.

", + "locationName":"snapshotId" } }, "documentation":"

Contains the output of DescribeSnapshotAttribute.

" @@ -7208,15 +7464,18 @@ "DescribeSnapshotsRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • description - A description of the snapshot.

  • owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM consolew.

  • owner-id - The ID of the AWS account that owns the snapshot.

  • progress - The progress of the snapshot, as a percentage (for example, 80%).

  • snapshot-id - The snapshot ID.

  • start-time - The time stamp when the snapshot was initiated.

  • status - The status of the snapshot (pending | completed | error).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • volume-id - The ID of the volume the snapshot is for.

  • volume-size - The size of the volume, in GiB.

", + "locationName":"Filter" }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", - "locationName":"SnapshotId" + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of snapshot results returned by DescribeSnapshots in paginated output. When this parameter is used, DescribeSnapshots only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another DescribeSnapshots request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeSnapshots returns all results. You cannot specify this parameter and the snapshot IDs parameter in the same request.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The NextToken value returned from a previous paginated DescribeSnapshots request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.

" }, "OwnerIds":{ "shape":"OwnerStringList", @@ -7228,18 +7487,15 @@ "documentation":"

One or more AWS accounts IDs that can create volumes from the snapshot.

", "locationName":"RestorableBy" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • description - A description of the snapshot.

  • owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM consolew.

  • owner-id - The ID of the AWS account that owns the snapshot.

  • progress - The progress of the snapshot, as a percentage (for example, 80%).

  • snapshot-id - The snapshot ID.

  • start-time - The time stamp when the snapshot was initiated.

  • status - The status of the snapshot (pending | completed | error).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • volume-id - The ID of the volume the snapshot is for.

  • volume-size - The size of the volume, in GiB.

", - "locationName":"Filter" + "SnapshotIds":{ + "shape":"SnapshotIdStringList", + "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", + "locationName":"SnapshotId" }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value returned from a previous paginated DescribeSnapshots request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of snapshot results returned by DescribeSnapshots in paginated output. When this parameter is used, DescribeSnapshots only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another DescribeSnapshots request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeSnapshots returns all results. You cannot specify this parameter and the snapshot IDs parameter in the same request.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeSnapshots.

" @@ -7291,20 +7547,20 @@ "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", + "locationName":"maxResults" }, "NextToken":{ "shape":"String", "documentation":"

The token for the next set of results.

", "locationName":"nextToken" }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", - "locationName":"maxResults" + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot fleet request.

", + "locationName":"spotFleetRequestId" } }, "documentation":"

Contains the parameters for DescribeSpotFleetInstances.

" @@ -7312,15 +7568,10 @@ "DescribeSpotFleetInstancesResponse":{ "type":"structure", "required":[ - "SpotFleetRequestId", - "ActiveInstances" + "ActiveInstances", + "SpotFleetRequestId" ], "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, "ActiveInstances":{ "shape":"ActiveInstanceSet", "documentation":"

The running instances. Note that this list is refreshed periodically and might be out of date.

", @@ -7330,6 +7581,11 @@ "shape":"String", "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", "locationName":"nextToken" + }, + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot fleet request.

", + "locationName":"spotFleetRequestId" } }, "documentation":"

Contains the output of DescribeSpotFleetInstances.

" @@ -7346,30 +7602,30 @@ "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, "EventType":{ "shape":"EventType", "documentation":"

The type of events to describe. By default, all events are described.

", "locationName":"eventType" }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"startTime" + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", + "locationName":"maxResults" }, "NextToken":{ "shape":"String", "documentation":"

The token for the next set of results.

", "locationName":"nextToken" }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", - "locationName":"maxResults" + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot fleet request.

", + "locationName":"spotFleetRequestId" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"startTime" } }, "documentation":"

Contains the parameters for DescribeSpotFleetRequestHistory.

" @@ -7377,12 +7633,27 @@ "DescribeSpotFleetRequestHistoryResponse":{ "type":"structure", "required":[ - "SpotFleetRequestId", - "StartTime", + "HistoryRecords", "LastEvaluatedTime", - "HistoryRecords" + "SpotFleetRequestId", + "StartTime" ], "members":{ + "HistoryRecords":{ + "shape":"HistoryRecords", + "documentation":"

Information about the events in the history of the Spot fleet request.

", + "locationName":"historyRecordSet" + }, + "LastEvaluatedTime":{ + "shape":"DateTime", + "documentation":"

The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). All records up to this time were retrieved.

If nextToken indicates that there are more results, this value is not present.

", + "locationName":"lastEvaluatedTime" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, "SpotFleetRequestId":{ "shape":"String", "documentation":"

The ID of the Spot fleet request.

", @@ -7392,21 +7663,6 @@ "shape":"DateTime", "documentation":"

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", "locationName":"startTime" - }, - "LastEvaluatedTime":{ - "shape":"DateTime", - "documentation":"

The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). All records up to this time were retrieved.

If nextToken indicates that there are more results, this value is not present.

", - "locationName":"lastEvaluatedTime" - }, - "HistoryRecords":{ - "shape":"HistoryRecords", - "documentation":"

Information about the events in the history of the Spot fleet request.

", - "locationName":"historyRecordSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" } }, "documentation":"

Contains the output of DescribeSpotFleetRequestHistory.

" @@ -7419,20 +7675,20 @@ "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot fleet requests.

", - "locationName":"spotFleetRequestId" + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", + "locationName":"maxResults" }, "NextToken":{ "shape":"String", "documentation":"

The token for the next set of results.

", "locationName":"nextToken" }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", - "locationName":"maxResults" + "SpotFleetRequestIds":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the Spot fleet requests.

", + "locationName":"spotFleetRequestId" } }, "documentation":"

Contains the parameters for DescribeSpotFleetRequests.

" @@ -7441,15 +7697,15 @@ "type":"structure", "required":["SpotFleetRequestConfigs"], "members":{ - "SpotFleetRequestConfigs":{ - "shape":"SpotFleetRequestConfigSet", - "documentation":"

Information about the configuration of your Spot fleet.

", - "locationName":"spotFleetRequestConfigSet" - }, "NextToken":{ "shape":"String", "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", "locationName":"nextToken" + }, + "SpotFleetRequestConfigs":{ + "shape":"SpotFleetRequestConfigSet", + "documentation":"

Information about the configuration of your Spot fleet.

", + "locationName":"spotFleetRequestConfigSet" } }, "documentation":"

Contains the output of DescribeSpotFleetRequests.

" @@ -7457,6 +7713,11 @@ "DescribeSpotInstanceRequestsRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the Amazon EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the Amazon EBS volume (for example, /dev/sdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

  • launch.block-device-mapping.volume-size - The size of the Amazon EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of the Amazon EBS volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.

  • launch.group-id - The security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether monitoring is enabled for the Spot instance.

  • launch.ramdisk-id - The RAM disk ID.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • network-interface.description - A description of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.group-name - The name of the security group associated with the network interface.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot instance request ID.

  • spot-price - The maximum hourly price for any Spot instance launched to fulfill the request.

  • state - The state of the Spot instance request (open | active | closed | cancelled | failed). Spot bid status information can help you track your Amazon EC2 Spot instance requests. For more information, see Spot Bid Status in the Amazon Elastic Compute Cloud User Guide.

  • status-code - The short code describing the most recent evaluation of your Spot instance request.

  • status-message - The message explaining the status of the Spot instance request.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • type - The type of Spot instance request (one-time | persistent).

  • launched-availability-zone - The Availability Zone in which the bid is launched.

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

", + "locationName":"Filter" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -7466,11 +7727,6 @@ "shape":"SpotInstanceRequestIdList", "documentation":"

One or more Spot instance request IDs.

", "locationName":"SpotInstanceRequestId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the Amazon EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the Amazon EBS volume (for example, /dev/sdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

  • launch.block-device-mapping.volume-size - The size of the Amazon EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of the Amazon EBS volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.

  • launch.group-id - The security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether monitoring is enabled for the Spot instance.

  • launch.ramdisk-id - The RAM disk ID.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • network-interface.description - A description of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.group-name - The name of the security group associated with the network interface.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot instance request ID.

  • spot-price - The maximum hourly price for any Spot instance launched to fulfill the request.

  • state - The state of the Spot instance request (open | active | closed | cancelled | failed). Spot bid status information can help you track your Amazon EC2 Spot instance requests. For more information, see Spot Bid Status in the Amazon Elastic Compute Cloud User Guide.

  • status-code - The short code describing the most recent evaluation of your Spot instance request.

  • status-message - The message explaining the status of the Spot instance request.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • type - The type of Spot instance request (one-time | persistent).

  • launched-availability-zone - The Availability Zone in which the bid is launched.

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

", - "locationName":"Filter" } }, "documentation":"

Contains the parameters for DescribeSpotInstanceRequests.

" @@ -7489,16 +7745,21 @@ "DescribeSpotPriceHistoryRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone - The Availability Zone for which prices should be returned.

  • instance-type - The type of instance (for example, m3.medium).

  • product-description - The product description for the Spot price (Linux/UNIX | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

  • spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

  • timestamp - The timestamp of the Spot price history, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or less than comparison is not supported.

", + "locationName":"Filter" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

Filters the results by the specified Availability Zone.

", + "locationName":"availabilityZone" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"startTime" - }, "EndTime":{ "shape":"DateTime", "documentation":"

The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", @@ -7509,21 +7770,6 @@ "documentation":"

Filters the results by the specified instance types. Note that T2 and HS1 instance types are not supported.

", "locationName":"InstanceType" }, - "ProductDescriptions":{ - "shape":"ProductDescriptionList", - "documentation":"

Filters the results by the specified basic product descriptions.

", - "locationName":"ProductDescription" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone for which prices should be returned.

  • instance-type - The type of instance (for example, m3.medium).

  • product-description - The product description for the Spot price (Linux/UNIX | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

  • spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

  • timestamp - The timestamp of the Spot price history, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or less than comparison is not supported.

", - "locationName":"Filter" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

Filters the results by the specified Availability Zone.

", - "locationName":"availabilityZone" - }, "MaxResults":{ "shape":"Integer", "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", @@ -7533,6 +7779,16 @@ "shape":"String", "documentation":"

The token for the next set of results.

", "locationName":"nextToken" + }, + "ProductDescriptions":{ + "shape":"ProductDescriptionList", + "documentation":"

Filters the results by the specified basic product descriptions.

", + "locationName":"ProductDescription" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"startTime" } }, "documentation":"

Contains the parameters for DescribeSpotPriceHistory.

" @@ -7540,15 +7796,15 @@ "DescribeSpotPriceHistoryResult":{ "type":"structure", "members":{ - "SpotPriceHistory":{ - "shape":"SpotPriceHistoryList", - "documentation":"

The historical Spot prices.

", - "locationName":"spotPriceHistorySet" - }, "NextToken":{ "shape":"String", "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", "locationName":"nextToken" + }, + "SpotPriceHistory":{ + "shape":"SpotPriceHistoryList", + "documentation":"

The historical Spot prices.

", + "locationName":"spotPriceHistorySet" } }, "documentation":"

Contains the output of DescribeSpotPriceHistory.

" @@ -7561,10 +7817,6 @@ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, "MaxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

" @@ -7572,41 +7824,45 @@ "NextToken":{ "shape":"NextToken", "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

" } } }, "DescribeStaleSecurityGroupsResult":{ "type":"structure", "members":{ - "StaleSecurityGroupSet":{ - "shape":"StaleSecurityGroupSet", - "documentation":"

Information about the stale security groups.

", - "locationName":"staleSecurityGroupSet" - }, "NextToken":{ "shape":"String", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "locationName":"nextToken" + }, + "StaleSecurityGroupSet":{ + "shape":"StaleSecurityGroupSet", + "documentation":"

Information about the stale security groups.

", + "locationName":"staleSecurityGroupSet" } } }, "DescribeSubnetsRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availabilityZone - The Availability Zone for the subnet. You can also use availability-zone as the filter name.

  • available-ip-address-count - The number of IPv4 addresses in the subnet that are available.

  • cidrBlock - The IPv4 CIDR block of the subnet. The CIDR block you specify must exactly match the subnet's CIDR block for information to be returned for the subnet. You can also use cidr or cidr-block as the filter names.

  • defaultForAz - Indicates whether this is the default subnet for the Availability Zone. You can also use default-for-az as the filter name.

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the subnet.

  • ipv6-cidr-block-association.association-id - An association ID for an IPv6 CIDR block associated with the subnet.

  • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the subnet.

  • state - The state of the subnet (pending | available).

  • subnet-id - The ID of the subnet.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC for the subnet.

", + "locationName":"Filter" }, "SubnetIds":{ "shape":"SubnetIdStringList", "documentation":"

One or more subnet IDs.

Default: Describes all your subnets.

", "locationName":"SubnetId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availabilityZone - The Availability Zone for the subnet. You can also use availability-zone as the filter name.

  • available-ip-address-count - The number of IPv4 addresses in the subnet that are available.

  • cidrBlock - The IPv4 CIDR block of the subnet. The CIDR block you specify must exactly match the subnet's CIDR block for information to be returned for the subnet. You can also use cidr or cidr-block as the filter names.

  • defaultForAz - Indicates whether this is the default subnet for the Availability Zone. You can also use default-for-az as the filter name.

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the subnet.

  • ipv6-cidr-block-association.association-id - An association ID for an IPv6 CIDR block associated with the subnet.

  • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the subnet.

  • state - The state of the subnet (pending | available).

  • subnet-id - The ID of the subnet.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC for the subnet.

", - "locationName":"Filter" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeSubnets.

" @@ -7651,15 +7907,15 @@ "DescribeTagsResult":{ "type":"structure", "members":{ - "Tags":{ - "shape":"TagDescriptionList", - "documentation":"

A list of tags.

", - "locationName":"tagSet" - }, "NextToken":{ "shape":"String", "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return..

", "locationName":"nextToken" + }, + "Tags":{ + "shape":"TagDescriptionList", + "documentation":"

A list of tags.

", + "locationName":"tagSet" } }, "documentation":"

Contains the output of DescribeTags.

" @@ -7668,18 +7924,18 @@ "type":"structure", "required":["VolumeId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Attribute":{ + "shape":"VolumeAttributeName", + "documentation":"

The attribute of the volume. This parameter is required.

" }, "VolumeId":{ "shape":"String", "documentation":"

The ID of the volume.

" }, - "Attribute":{ - "shape":"VolumeAttributeName", - "documentation":"

The instance attribute.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeVolumeAttribute.

" @@ -7687,11 +7943,6 @@ "DescribeVolumeAttributeResult":{ "type":"structure", "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, "AutoEnableIO":{ "shape":"AttributeBooleanValue", "documentation":"

The state of autoEnableIO attribute.

", @@ -7701,6 +7952,11 @@ "shape":"ProductCodeList", "documentation":"

A list of product codes.

", "locationName":"productCodes" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the volume.

", + "locationName":"volumeId" } }, "documentation":"

Contains the output of DescribeVolumeAttribute.

" @@ -7708,28 +7964,28 @@ "DescribeVolumeStatusRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • action.code - The action code for the event (for example, enable-volume-io).

  • action.description - A description of the action.

  • action.event-id - The event ID associated with the action.

  • availability-zone - The Availability Zone of the instance.

  • event.description - A description of the event.

  • event.event-id - The event ID.

  • event.event-type - The event type (for io-enabled: passed | failed; for io-performance: io-performance:degraded | io-performance:severely-degraded | io-performance:stalled).

  • event.not-after - The latest end time for the event.

  • event.not-before - The earliest start time for the event.

  • volume-status.details-name - The cause for volume-status.status (io-enabled | io-performance).

  • volume-status.details-status - The status of volume-status.details-name (for io-enabled: passed | failed; for io-performance: normal | degraded | severely-degraded | stalled).

  • volume-status.status - The status of the volume (ok | impaired | warning | insufficient-data).

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of volume results returned by DescribeVolumeStatus in paginated output. When this parameter is used, the request only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeVolumeStatus returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The NextToken value to include in a future DescribeVolumeStatus request. When the results of the request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" }, "VolumeIds":{ "shape":"VolumeIdStringList", "documentation":"

One or more volume IDs.

Default: Describes all your volumes.

", "locationName":"VolumeId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • action.code - The action code for the event (for example, enable-volume-io).

  • action.description - A description of the action.

  • action.event-id - The event ID associated with the action.

  • availability-zone - The Availability Zone of the instance.

  • event.description - A description of the event.

  • event.event-id - The event ID.

  • event.event-type - The event type (for io-enabled: passed | failed; for io-performance: io-performance:degraded | io-performance:severely-degraded | io-performance:stalled).

  • event.not-after - The latest end time for the event.

  • event.not-before - The earliest start time for the event.

  • volume-status.details-name - The cause for volume-status.status (io-enabled | io-performance).

  • volume-status.details-status - The status of volume-status.details-name (for io-enabled: passed | failed; for io-performance: normal | degraded | severely-degraded | stalled).

  • volume-status.status - The status of the volume (ok | impaired | warning | insufficient-data).

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeVolumeStatus request. When the results of the request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of volume results returned by DescribeVolumeStatus in paginated output. When this parameter is used, the request only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeVolumeStatus returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeVolumeStatus.

" @@ -7737,46 +7993,88 @@ "DescribeVolumeStatusResult":{ "type":"structure", "members":{ - "VolumeStatuses":{ - "shape":"VolumeStatusList", - "documentation":"

A list of volumes.

", - "locationName":"volumeStatusSet" - }, "NextToken":{ "shape":"String", "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "locationName":"nextToken" + }, + "VolumeStatuses":{ + "shape":"VolumeStatusList", + "documentation":"

A list of volumes.

", + "locationName":"volumeStatusSet" } }, "documentation":"

Contains the output of DescribeVolumeStatus.

" }, - "DescribeVolumesRequest":{ + "DescribeVolumesModificationsRequest":{ "type":"structure", "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "VolumeIds":{ + "shape":"VolumeIdStringList", + "documentation":"

One or more volume IDs for which in-progress modifications will be described.

", + "locationName":"VolumeId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Supported filters: volume-id, modification-state, target-size, target-iops, target-volume-type, original-size, original-iops, original-volume-type, start-time.

", + "locationName":"Filter" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned by a previous paginated request.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results (up to a limit of 500) to be returned in a paginated request.

" + } + } + }, + "DescribeVolumesModificationsResult":{ + "type":"structure", + "members":{ + "VolumesModifications":{ + "shape":"VolumeModificationList", + "documentation":"

A list of returned VolumeModification objects.

", + "locationName":"volumeModificationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for pagination, null if there are no more results

", + "locationName":"nextToken" + } + } + }, + "DescribeVolumesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • attachment.attach-time - The time stamp when the attachment initiated.

  • attachment.delete-on-termination - Whether the volume is deleted on instance termination.

  • attachment.device - The device name that is exposed to the instance (for example, /dev/sda1).

  • attachment.instance-id - The ID of the instance the volume is attached to.

  • attachment.status - The attachment state (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone in which the volume was created.

  • create-time - The time stamp when the volume was created.

  • encrypted - The encryption status of the volume.

  • size - The size of the volume, in GiB.

  • snapshot-id - The snapshot from which the volume was created.

  • status - The status of the volume (creating | available | in-use | deleting | deleted | error).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • volume-id - The volume ID.

  • volume-type - The Amazon EBS volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", + "locationName":"Filter" }, "VolumeIds":{ "shape":"VolumeIdStringList", "documentation":"

One or more volume IDs.

", "locationName":"VolumeId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • attachment.attach-time - The time stamp when the attachment initiated.

  • attachment.delete-on-termination - Whether the volume is deleted on instance termination.

  • attachment.device - The device name that is exposed to the instance (for example, /dev/sda1).

  • attachment.instance-id - The ID of the instance the volume is attached to.

  • attachment.status - The attachment state (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone in which the volume was created.

  • create-time - The time stamp when the volume was created.

  • encrypted - The encryption status of the volume.

  • size - The size of the volume, in GiB.

  • snapshot-id - The snapshot from which the volume was created.

  • status - The status of the volume (creating | available | in-use | deleting | deleted | error).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • volume-id - The volume ID.

  • volume-type - The Amazon EBS volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", - "locationName":"Filter" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of volume results returned by DescribeVolumes in paginated output. When this parameter is used, DescribeVolumes only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another DescribeVolumes request with the returned NextToken value. This value can be between 5 and 500; if MaxResults is given a value larger than 500, only 500 results are returned. If this parameter is not used, then DescribeVolumes returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.

", + "locationName":"maxResults" }, "NextToken":{ "shape":"String", "documentation":"

The NextToken value returned from a previous paginated DescribeVolumes request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.

", "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of volume results returned by DescribeVolumes in paginated output. When this parameter is used, DescribeVolumes only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another DescribeVolumes request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeVolumes returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.

", - "locationName":"maxResults" } }, "documentation":"

Contains the parameters for DescribeVolumes.

" @@ -7800,22 +8098,22 @@ "DescribeVpcAttributeRequest":{ "type":"structure", "required":[ - "VpcId", - "Attribute" + "Attribute", + "VpcId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Attribute":{ + "shape":"VpcAttributeName", + "documentation":"

The VPC attribute.

" }, "VpcId":{ "shape":"String", "documentation":"

The ID of the VPC.

" }, - "Attribute":{ - "shape":"VpcAttributeName", - "documentation":"

The VPC attribute.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeVpcAttribute.

" @@ -7828,15 +8126,15 @@ "documentation":"

The ID of the VPC.

", "locationName":"vpcId" }, - "EnableDnsSupport":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not.

", - "locationName":"enableDnsSupport" - }, "EnableDnsHostnames":{ "shape":"AttributeBooleanValue", "documentation":"

Indicates whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.

", "locationName":"enableDnsHostnames" + }, + "EnableDnsSupport":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not.

", + "locationName":"enableDnsSupport" } }, "documentation":"

Contains the output of DescribeVpcAttribute.

" @@ -7844,10 +8142,6 @@ "DescribeVpcClassicLinkDnsSupportRequest":{ "type":"structure", "members":{ - "VpcIds":{ - "shape":"VpcClassicLinkIdList", - "documentation":"

One or more VPC IDs.

" - }, "MaxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

", @@ -7857,6 +8151,10 @@ "shape":"NextToken", "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

", "locationName":"nextToken" + }, + "VpcIds":{ + "shape":"VpcClassicLinkIdList", + "documentation":"

One or more VPC IDs.

" } }, "documentation":"

Contains the parameters for DescribeVpcClassicLinkDnsSupport.

" @@ -7864,15 +8162,15 @@ "DescribeVpcClassicLinkDnsSupportResult":{ "type":"structure", "members":{ - "Vpcs":{ - "shape":"ClassicLinkDnsSupportList", - "documentation":"

Information about the ClassicLink DNS support status of the VPCs.

", - "locationName":"vpcs" - }, "NextToken":{ "shape":"NextToken", "documentation":"

The token to use when requesting the next set of items.

", "locationName":"nextToken" + }, + "Vpcs":{ + "shape":"ClassicLinkDnsSupportList", + "documentation":"

Information about the ClassicLink DNS support status of the VPCs.

", + "locationName":"vpcs" } }, "documentation":"

Contains the output of DescribeVpcClassicLinkDnsSupport.

" @@ -7880,6 +8178,11 @@ "DescribeVpcClassicLinkRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true | false).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

", + "locationName":"Filter" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -7889,11 +8192,6 @@ "shape":"VpcClassicLinkIdList", "documentation":"

One or more VPCs for which you want to describe the ClassicLink status.

", "locationName":"VpcId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true | false).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

", - "locationName":"Filter" } }, "documentation":"

Contains the parameters for DescribeVpcClassicLink.

" @@ -7930,15 +8228,15 @@ "DescribeVpcEndpointServicesResult":{ "type":"structure", "members":{ - "ServiceNames":{ - "shape":"ValueStringList", - "documentation":"

A list of supported AWS services.

", - "locationName":"serviceNameSet" - }, "NextToken":{ "shape":"String", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "locationName":"nextToken" + }, + "ServiceNames":{ + "shape":"ValueStringList", + "documentation":"

A list of supported AWS services.

", + "locationName":"serviceNameSet" } }, "documentation":"

Contains the output of DescribeVpcEndpointServices.

" @@ -7950,11 +8248,6 @@ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "documentation":"

One or more endpoint IDs.

", - "locationName":"VpcEndpointId" - }, "Filters":{ "shape":"FilterList", "documentation":"

One or more filters.

  • service-name: The name of the AWS service.

  • vpc-id: The ID of the VPC in which the endpoint resides.

  • vpc-endpoint-id: The ID of the endpoint.

  • vpc-endpoint-state: The state of the endpoint. (pending | available | deleting | deleted)

", @@ -7967,6 +8260,11 @@ "NextToken":{ "shape":"String", "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" + }, + "VpcEndpointIds":{ + "shape":"ValueStringList", + "documentation":"

One or more endpoint IDs.

", + "locationName":"VpcEndpointId" } }, "documentation":"

Contains the parameters for DescribeVpcEndpoints.

" @@ -7974,15 +8272,15 @@ "DescribeVpcEndpointsResult":{ "type":"structure", "members":{ - "VpcEndpoints":{ - "shape":"VpcEndpointSet", - "documentation":"

Information about the endpoints.

", - "locationName":"vpcEndpointSet" - }, "NextToken":{ "shape":"String", "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "locationName":"nextToken" + }, + "VpcEndpoints":{ + "shape":"VpcEndpointSet", + "documentation":"

Information about the endpoints.

", + "locationName":"vpcEndpointSet" } }, "documentation":"

Contains the output of DescribeVpcEndpoints.

" @@ -7990,6 +8288,11 @@ "DescribeVpcPeeringConnectionsRequest":{ "type":"structure", "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • accepter-vpc-info.cidr-block - The IPv4 CIDR block of the peer VPC.

  • accepter-vpc-info.owner-id - The AWS account ID of the owner of the peer VPC.

  • accepter-vpc-info.vpc-id - The ID of the peer VPC.

  • expiration-time - The expiration date and time for the VPC peering connection.

  • requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's VPC.

  • requester-vpc-info.owner-id - The AWS account ID of the owner of the requester VPC.

  • requester-vpc-info.vpc-id - The ID of the requester VPC.

  • status-code - The status of the VPC peering connection (pending-acceptance | failed | expired | provisioning | active | deleted | rejected).

  • status-message - A message that provides more information about the status of the VPC peering connection, if applicable.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-peering-connection-id - The ID of the VPC peering connection.

", + "locationName":"Filter" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -7999,11 +8302,6 @@ "shape":"ValueStringList", "documentation":"

One or more VPC peering connection IDs.

Default: Describes all your VPC peering connections.

", "locationName":"VpcPeeringConnectionId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • accepter-vpc-info.cidr-block - The IPv4 CIDR block of the peer VPC.

  • accepter-vpc-info.owner-id - The AWS account ID of the owner of the peer VPC.

  • accepter-vpc-info.vpc-id - The ID of the peer VPC.

  • expiration-time - The expiration date and time for the VPC peering connection.

  • requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's VPC.

  • requester-vpc-info.owner-id - The AWS account ID of the owner of the requester VPC.

  • requester-vpc-info.vpc-id - The ID of the requester VPC.

  • status-code - The status of the VPC peering connection (pending-acceptance | failed | expired | provisioning | active | deleted | rejected).

  • status-message - A message that provides more information about the status of the VPC peering connection, if applicable.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-peering-connection-id - The ID of the VPC peering connection.

", - "locationName":"Filter" } }, "documentation":"

Contains the parameters for DescribeVpcPeeringConnections.

" @@ -8022,20 +8320,20 @@ "DescribeVpcsRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • cidr - The IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC's CIDR block for information to be returned for the VPC. Must contain the slash followed by one or two digits (for example, /28).

  • dhcp-options-id - The ID of a set of DHCP options.

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.association-id - The association ID for an IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the VPC.

  • isDefault - Indicates whether the VPC is the default VPC.

  • state - The state of the VPC (pending | available).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC.

", + "locationName":"Filter" }, "VpcIds":{ "shape":"VpcIdStringList", "documentation":"

One or more VPC IDs.

Default: Describes all your VPCs.

", "locationName":"VpcId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • cidr - The IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC's CIDR block for information to be returned for the VPC. Must contain the slash followed by one or two digits (for example, /28).

  • dhcp-options-id - The ID of a set of DHCP options.

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.association-id - The association ID for an IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the VPC.

  • isDefault - Indicates whether the VPC is the default VPC.

  • state - The state of the VPC (pending | available).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC.

", - "locationName":"Filter" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeVpcs.

" @@ -8054,20 +8352,20 @@ "DescribeVpnConnectionsRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • customer-gateway-configuration - The configuration information for the customer gateway.

  • customer-gateway-id - The ID of a customer gateway associated with the VPN connection.

  • state - The state of the VPN connection (pending | available | deleting | deleted).

  • option.static-routes-only - Indicates whether the connection has static routes only. Used for devices that do not support Border Gateway Protocol (BGP).

  • route.destination-cidr-block - The destination CIDR block. This corresponds to the subnet used in a customer data center.

  • bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP device.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • type - The type of VPN connection. Currently the only supported type is ipsec.1.

  • vpn-connection-id - The ID of the VPN connection.

  • vpn-gateway-id - The ID of a virtual private gateway associated with the VPN connection.

", + "locationName":"Filter" }, "VpnConnectionIds":{ "shape":"VpnConnectionIdStringList", "documentation":"

One or more VPN connection IDs.

Default: Describes your VPN connections.

", "locationName":"VpnConnectionId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • customer-gateway-configuration - The configuration information for the customer gateway.

  • customer-gateway-id - The ID of a customer gateway associated with the VPN connection.

  • state - The state of the VPN connection (pending | available | deleting | deleted).

  • option.static-routes-only - Indicates whether the connection has static routes only. Used for devices that do not support Border Gateway Protocol (BGP).

  • route.destination-cidr-block - The destination CIDR block. This corresponds to the subnet used in a customer data center.

  • bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP device.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • type - The type of VPN connection. Currently the only supported type is ipsec.1.

  • vpn-connection-id - The ID of the VPN connection.

  • vpn-gateway-id - The ID of a virtual private gateway associated with the VPN connection.

", - "locationName":"Filter" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeVpnConnections.

" @@ -8086,20 +8384,20 @@ "DescribeVpnGatewaysRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • attachment.state - The current state of the attachment between the gateway and the VPC (attaching | attached | detaching | detached).

  • attachment.vpc-id - The ID of an attached VPC.

  • availability-zone - The Availability Zone for the virtual private gateway (if applicable).

  • state - The state of the virtual private gateway (pending | available | deleting | deleted).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • type - The type of virtual private gateway. Currently the only supported type is ipsec.1.

  • vpn-gateway-id - The ID of the virtual private gateway.

", + "locationName":"Filter" }, "VpnGatewayIds":{ "shape":"VpnGatewayIdStringList", "documentation":"

One or more virtual private gateway IDs.

Default: Describes all your virtual private gateways.

", "locationName":"VpnGatewayId" }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • attachment.state - The current state of the attachment between the gateway and the VPC (attaching | attached | detaching | detached).

  • attachment.vpc-id - The ID of an attached VPC.

  • availability-zone - The Availability Zone for the virtual private gateway (if applicable).

  • state - The state of the virtual private gateway (pending | available | deleting | deleted).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • type - The type of virtual private gateway. Currently the only supported type is ipsec.1.

  • vpn-gateway-id - The ID of the virtual private gateway.

", - "locationName":"Filter" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DescribeVpnGateways.

" @@ -8180,16 +8478,16 @@ "type":"structure", "required":["AttachmentId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "AttachmentId":{ "shape":"String", "documentation":"

The ID of the attachment.

", "locationName":"attachmentId" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, "Force":{ "shape":"Boolean", "documentation":"

Specifies whether to force a detachment.

", @@ -8202,19 +8500,6 @@ "type":"structure", "required":["VolumeId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, "Device":{ "shape":"String", "documentation":"

The device name.

" @@ -8222,6 +8507,19 @@ "Force":{ "shape":"Boolean", "documentation":"

Forces detachment if the previous detachment attempt did not occur cleanly (for example, logging into an instance, unmounting the volume, and detaching normally). This option can lead to data loss or a corrupted file system. Use this option only as a last resort to detach a volume from a failed instance. The instance won't have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures.

" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the volume.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DetachVolume.

" @@ -8229,22 +8527,22 @@ "DetachVpnGatewayRequest":{ "type":"structure", "required":[ - "VpnGatewayId", - "VpcId" + "VpcId", + "VpnGatewayId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

" }, "VpnGatewayId":{ "shape":"String", "documentation":"

The ID of the virtual private gateway.

" }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DetachVpnGateway.

" @@ -8289,16 +8587,16 @@ "DhcpOptions":{ "type":"structure", "members":{ - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the set of DHCP options.

", - "locationName":"dhcpOptionsId" - }, "DhcpConfigurations":{ "shape":"DhcpConfigurationList", "documentation":"

One or more DHCP options in the set.

", "locationName":"dhcpConfigurationSet" }, + "DhcpOptionsId":{ + "shape":"String", + "documentation":"

The ID of the set of DHCP options.

", + "locationName":"dhcpOptionsId" + }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the DHCP options set.

", @@ -8324,17 +8622,17 @@ "DisableVgwRoutePropagationRequest":{ "type":"structure", "required":[ - "RouteTableId", - "GatewayId" + "GatewayId", + "RouteTableId" ], "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, "GatewayId":{ "shape":"String", "documentation":"

The ID of the virtual private gateway.

" + }, + "RouteTableId":{ + "shape":"String", + "documentation":"

The ID of the route table.

" } }, "documentation":"

Contains the parameters for DisableVgwRoutePropagation.

" @@ -8391,35 +8689,55 @@ "DisassociateAddressRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "AssociationId":{ + "shape":"String", + "documentation":"

[EC2-VPC] The association ID. Required for EC2-VPC.

" }, "PublicIp":{ "shape":"String", "documentation":"

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" }, - "AssociationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The association ID. Required for EC2-VPC.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DisassociateAddress.

" }, + "DisassociateIamInstanceProfileRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The ID of the IAM instance profile association.

" + } + } + }, + "DisassociateIamInstanceProfileResult":{ + "type":"structure", + "members":{ + "IamInstanceProfileAssociation":{ + "shape":"IamInstanceProfileAssociation", + "documentation":"

Information about the IAM instance profile association.

", + "locationName":"iamInstanceProfileAssociation" + } + } + }, "DisassociateRouteTableRequest":{ "type":"structure", "required":["AssociationId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "AssociationId":{ "shape":"String", "documentation":"

The association ID representing the current association between the route table and subnet.

", "locationName":"associationId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for DisassociateRouteTable.

" @@ -8438,15 +8756,15 @@ "DisassociateSubnetCidrBlockResult":{ "type":"structure", "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, "Ipv6CidrBlockAssociation":{ "shape":"SubnetIpv6CidrBlockAssociation", "documentation":"

Information about the IPv6 CIDR block association.

", "locationName":"ipv6CidrBlockAssociation" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" } } }, @@ -8464,29 +8782,29 @@ "DisassociateVpcCidrBlockResult":{ "type":"structure", "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, "Ipv6CidrBlockAssociation":{ "shape":"VpcIpv6CidrBlockAssociation", "documentation":"

Information about the IPv6 CIDR block association.

", "locationName":"ipv6CidrBlockAssociation" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } } }, "DiskImage":{ "type":"structure", "members":{ - "Image":{ - "shape":"DiskImageDetail", - "documentation":"

Information about the disk image.

" - }, "Description":{ "shape":"String", "documentation":"

A description of the disk image.

" }, + "Image":{ + "shape":"DiskImageDetail", + "documentation":"

Information about the disk image.

" + }, "Volume":{ "shape":"VolumeDetail", "documentation":"

Information about the volume.

" @@ -8498,29 +8816,29 @@ "type":"structure", "required":[ "Format", - "Size", - "ImportManifestUrl" + "ImportManifestUrl", + "Size" ], "members":{ + "Checksum":{ + "shape":"String", + "documentation":"

The checksum computed for the disk image.

", + "locationName":"checksum" + }, "Format":{ "shape":"DiskImageFormat", "documentation":"

The disk image format.

", "locationName":"format" }, - "Size":{ - "shape":"Long", - "documentation":"

The size of the disk image, in GiB.

", - "locationName":"size" - }, "ImportManifestUrl":{ "shape":"String", "documentation":"

A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", "locationName":"importManifestUrl" }, - "Checksum":{ - "shape":"String", - "documentation":"

The checksum computed for the disk image.

", - "locationName":"checksum" + "Size":{ + "shape":"Long", + "documentation":"

The size of the disk image, in GiB.

", + "locationName":"size" } }, "documentation":"

Describes a disk image.

" @@ -8528,21 +8846,21 @@ "DiskImageDetail":{ "type":"structure", "required":[ - "Format", "Bytes", + "Format", "ImportManifestUrl" ], "members":{ - "Format":{ - "shape":"DiskImageFormat", - "documentation":"

The disk image format.

", - "locationName":"format" - }, "Bytes":{ "shape":"Long", "documentation":"

The size of the disk image, in GiB.

", "locationName":"bytes" }, + "Format":{ + "shape":"DiskImageFormat", + "documentation":"

The disk image format.

", + "locationName":"format" + }, "ImportManifestUrl":{ "shape":"String", "documentation":"

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", @@ -8567,15 +8885,15 @@ "type":"structure", "required":["Id"], "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"size" - }, "Id":{ "shape":"String", "documentation":"

The volume identifier.

", "locationName":"id" + }, + "Size":{ + "shape":"Long", + "documentation":"

The size of the volume, in GiB.

", + "locationName":"size" } }, "documentation":"

Describes a disk image volume.

" @@ -8591,6 +8909,21 @@ "EbsBlockDevice":{ "type":"structure", "members":{ + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption.

", + "locationName":"encrypted" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

", + "locationName":"deleteOnTermination" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

", + "locationName":"iops" + }, "SnapshotId":{ "shape":"String", "documentation":"

The ID of the snapshot.

", @@ -8601,25 +8934,10 @@ "documentation":"

The size of the volume, in GiB.

Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

", "locationName":"volumeSize" }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - }, "VolumeType":{ "shape":"VolumeType", "documentation":"

The volume type: gp2, io1, st1, sc1, or standard.

Default: standard

", "locationName":"volumeType" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption.

", - "locationName":"encrypted" } }, "documentation":"

Describes a block device for an EBS volume.

" @@ -8627,16 +8945,6 @@ "EbsInstanceBlockDevice":{ "type":"structure", "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the EBS volume.

", - "locationName":"volumeId" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - }, "AttachTime":{ "shape":"DateTime", "documentation":"

The time stamp when the attachment initiated.

", @@ -8646,6 +8954,16 @@ "shape":"Boolean", "documentation":"

Indicates whether the volume is deleted on instance termination.

", "locationName":"deleteOnTermination" + }, + "Status":{ + "shape":"AttachmentStatus", + "documentation":"

The attachment state.

", + "locationName":"status" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the EBS volume.

", + "locationName":"volumeId" } }, "documentation":"

Describes a parameter used to set up an EBS volume in a block device mapping.

" @@ -8653,15 +8971,15 @@ "EbsInstanceBlockDeviceSpecification":{ "type":"structure", "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the EBS volume.

", - "locationName":"volumeId" - }, "DeleteOnTermination":{ "shape":"Boolean", "documentation":"

Indicates whether the volume is deleted on instance termination.

", "locationName":"deleteOnTermination" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the EBS volume.

", + "locationName":"volumeId" } }, "documentation":"

Describes information used to set up an EBS volume specified in a block device mapping.

" @@ -8669,15 +8987,15 @@ "EgressOnlyInternetGateway":{ "type":"structure", "members":{ - "EgressOnlyInternetGatewayId":{ - "shape":"EgressOnlyInternetGatewayId", - "documentation":"

The ID of the egress-only Internet gateway.

", - "locationName":"egressOnlyInternetGatewayId" - }, "Attachments":{ "shape":"InternetGatewayAttachmentList", "documentation":"

Information about the attachment of the egress-only Internet gateway.

", "locationName":"attachmentSet" + }, + "EgressOnlyInternetGatewayId":{ + "shape":"EgressOnlyInternetGatewayId", + "documentation":"

The ID of the egress-only Internet gateway.

", + "locationName":"egressOnlyInternetGatewayId" } }, "documentation":"

Describes an egress-only Internet gateway.

" @@ -8700,17 +9018,17 @@ "EnableVgwRoutePropagationRequest":{ "type":"structure", "required":[ - "RouteTableId", - "GatewayId" + "GatewayId", + "RouteTableId" ], "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, "GatewayId":{ "shape":"String", "documentation":"

The ID of the virtual private gateway.

" + }, + "RouteTableId":{ + "shape":"String", + "documentation":"

The ID of the route table.

" } }, "documentation":"

Contains the parameters for EnableVgwRoutePropagation.

" @@ -8794,20 +9112,20 @@ "EventInformation":{ "type":"structure", "members":{ - "InstanceId":{ + "EventDescription":{ "shape":"String", - "documentation":"

The ID of the instance. This information is available only for instanceChange events.

", - "locationName":"instanceId" + "documentation":"

The description of the event.

", + "locationName":"eventDescription" }, "EventSubType":{ "shape":"String", "documentation":"

The event.

The following are the error events.

  • iamFleetRoleInvalid - The Spot fleet did not have the required permissions either to launch or terminate an instance.

  • launchSpecTemporarilyBlacklisted - The configuration is not valid and several attempts to launch instances have failed. For more information, see the description of the event.

  • spotFleetRequestConfigurationInvalid - The configuration is not valid. For more information, see the description of the event.

  • spotInstanceCountLimitExceeded - You've reached the limit on the number of Spot instances that you can launch.

The following are the fleetRequestChange events.

  • active - The Spot fleet has been validated and Amazon EC2 is attempting to maintain the target number of running Spot instances.

  • cancelled - The Spot fleet is canceled and has no running Spot instances. The Spot fleet will be deleted two days after its instances were terminated.

  • cancelled_running - The Spot fleet is canceled and will not launch additional Spot instances, but its existing Spot instances continue to run until they are interrupted or terminated.

  • cancelled_terminating - The Spot fleet is canceled and its Spot instances are terminating.

  • expired - The Spot fleet request has expired. A subsequent event indicates that the instances were terminated, if the request was created with TerminateInstancesWithExpiration set.

  • modify_in_progress - A request to modify the Spot fleet request was accepted and is in progress.

  • modify_successful - The Spot fleet request was modified.

  • price_update - The bid price for a launch configuration was adjusted because it was too high. This change is permanent.

  • submitted - The Spot fleet request is being evaluated and Amazon EC2 is preparing to launch the target number of Spot instances.

The following are the instanceChange events.

  • launched - A bid was fulfilled and a new instance was launched.

  • terminated - An instance was terminated by the user.

", "locationName":"eventSubType" }, - "EventDescription":{ + "InstanceId":{ "shape":"String", - "documentation":"

The description of the event.

", - "locationName":"eventDescription" + "documentation":"

The ID of the instance. This information is available only for instanceChange events.

", + "locationName":"instanceId" } }, "documentation":"

Describes a Spot fleet event.

" @@ -8845,15 +9163,25 @@ "ExportTask":{ "type":"structure", "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the resource being exported.

", + "locationName":"description" + }, "ExportTaskId":{ "shape":"String", "documentation":"

The ID of the export task.

", "locationName":"exportTaskId" }, - "Description":{ - "shape":"String", - "documentation":"

A description of the resource being exported.

", - "locationName":"description" + "ExportToS3Task":{ + "shape":"ExportToS3Task", + "documentation":"

Information about the export task.

", + "locationName":"exportToS3" + }, + "InstanceExportDetails":{ + "shape":"InstanceExportDetails", + "documentation":"

Information about the instance to export.

", + "locationName":"instanceExport" }, "State":{ "shape":"ExportTaskState", @@ -8864,16 +9192,6 @@ "shape":"String", "documentation":"

The status message related to the export task.

", "locationName":"statusMessage" - }, - "InstanceExportDetails":{ - "shape":"InstanceExportDetails", - "documentation":"

Information about the instance to export.

", - "locationName":"instanceExport" - }, - "ExportToS3Task":{ - "shape":"ExportToS3Task", - "documentation":"

Information about the export task.

", - "locationName":"exportToS3" } }, "documentation":"

Describes an instance export task.

" @@ -8904,16 +9222,16 @@ "ExportToS3Task":{ "type":"structure", "members":{ - "DiskImageFormat":{ - "shape":"DiskImageFormat", - "documentation":"

The format for the exported image.

", - "locationName":"diskImageFormat" - }, "ContainerFormat":{ "shape":"ContainerFormat", "documentation":"

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

", "locationName":"containerFormat" }, + "DiskImageFormat":{ + "shape":"DiskImageFormat", + "documentation":"

The format for the exported image.

", + "locationName":"diskImageFormat" + }, "S3Bucket":{ "shape":"String", "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", @@ -8930,16 +9248,16 @@ "ExportToS3TaskSpecification":{ "type":"structure", "members":{ - "DiskImageFormat":{ - "shape":"DiskImageFormat", - "documentation":"

The format for the exported image.

", - "locationName":"diskImageFormat" - }, "ContainerFormat":{ "shape":"ContainerFormat", "documentation":"

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

", "locationName":"containerFormat" }, + "DiskImageFormat":{ + "shape":"DiskImageFormat", + "documentation":"

The format for the exported image.

", + "locationName":"diskImageFormat" + }, "S3Bucket":{ "shape":"String", "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", @@ -8991,6 +9309,21 @@ "documentation":"

The date and time the flow log was created.

", "locationName":"creationTime" }, + "DeliverLogsErrorMessage":{ + "shape":"String", + "documentation":"

Information about the error that occurred. Rate limited indicates that CloudWatch logs throttling has been applied for one or more network interfaces, or that you've reached the limit on the number of CloudWatch Logs log groups that you can create. Access error indicates that the IAM role associated with the flow log does not have sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an internal error.

", + "locationName":"deliverLogsErrorMessage" + }, + "DeliverLogsPermissionArn":{ + "shape":"String", + "documentation":"

The ARN of the IAM role that posts logs to CloudWatch Logs.

", + "locationName":"deliverLogsPermissionArn" + }, + "DeliverLogsStatus":{ + "shape":"String", + "documentation":"

The status of the logs delivery (SUCCESS | FAILED).

", + "locationName":"deliverLogsStatus" + }, "FlowLogId":{ "shape":"String", "documentation":"

The flow log ID.

", @@ -9001,6 +9334,11 @@ "documentation":"

The status of the flow log (ACTIVE).

", "locationName":"flowLogStatus" }, + "LogGroupName":{ + "shape":"String", + "documentation":"

The name of the flow log group.

", + "locationName":"logGroupName" + }, "ResourceId":{ "shape":"String", "documentation":"

The ID of the resource on which the flow log was created.

", @@ -9010,26 +9348,6 @@ "shape":"TrafficType", "documentation":"

The type of traffic captured for the flow log.

", "locationName":"trafficType" - }, - "LogGroupName":{ - "shape":"String", - "documentation":"

The name of the flow log group.

", - "locationName":"logGroupName" - }, - "DeliverLogsStatus":{ - "shape":"String", - "documentation":"

The status of the logs delivery (SUCCESS | FAILED).

", - "locationName":"deliverLogsStatus" - }, - "DeliverLogsErrorMessage":{ - "shape":"String", - "documentation":"

Information about the error that occurred. Rate limited indicates that CloudWatch logs throttling has been applied for one or more network interfaces, or that you've reached the limit on the number of CloudWatch Logs log groups that you can create. Access error indicates that the IAM role associated with the flow log does not have sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an internal error.

", - "locationName":"deliverLogsErrorMessage" - }, - "DeliverLogsPermissionArn":{ - "shape":"String", - "documentation":"

The ARN of the IAM role that posts logs to CloudWatch Logs.

", - "locationName":"deliverLogsPermissionArn" } }, "documentation":"

Describes a flow log.

" @@ -9049,6 +9367,116 @@ "NetworkInterface" ] }, + "FpgaImage":{ + "type":"structure", + "members":{ + "FpgaImageId":{ + "shape":"String", + "documentation":"

The FPGA image identifier (AFI ID).

", + "locationName":"fpgaImageId" + }, + "FpgaImageGlobalId":{ + "shape":"String", + "documentation":"

The global FPGA image identifier (AGFI ID).

", + "locationName":"fpgaImageGlobalId" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the AFI.

", + "locationName":"name" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the AFI.

", + "locationName":"description" + }, + "ShellVersion":{ + "shape":"String", + "documentation":"

The version of the AWS Shell that was used to create the bitstream.

", + "locationName":"shellVersion" + }, + "PciId":{ + "shape":"PciId", + "documentation":"

Information about the PCI bus.

", + "locationName":"pciId" + }, + "State":{ + "shape":"FpgaImageState", + "documentation":"

Information about the state of the AFI.

", + "locationName":"state" + }, + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The date and time the AFI was created.

", + "locationName":"createTime" + }, + "UpdateTime":{ + "shape":"DateTime", + "documentation":"

The time of the most recent update to the AFI.

", + "locationName":"updateTime" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the AFI owner.

", + "locationName":"ownerId" + }, + "OwnerAlias":{ + "shape":"String", + "documentation":"

The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

", + "locationName":"ownerAlias" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

The product codes for the AFI.

", + "locationName":"productCodes" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the AFI.

", + "locationName":"tags" + } + }, + "documentation":"

Describes an Amazon FPGA image (AFI).

" + }, + "FpgaImageIdList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "FpgaImageList":{ + "type":"list", + "member":{ + "shape":"FpgaImage", + "locationName":"item" + } + }, + "FpgaImageState":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"FpgaImageStateCode", + "documentation":"

The state. The following are the possible values:

  • pending - AFI bitstream generation is in progress.

  • available - The AFI is available for use.

  • failed - AFI bitstream generation failed.

  • unavailable - The AFI is no longer available for use.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

If the state is failed, this is the error message.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

" + }, + "FpgaImageStateCode":{ + "type":"string", + "enum":[ + "pending", + "failed", + "available", + "unavailable" + ] + }, "GatewayType":{ "type":"string", "enum":["ipsec.1"] @@ -9057,14 +9485,14 @@ "type":"structure", "required":["InstanceId"], "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" } }, "documentation":"

Contains the parameters for GetConsoleOutput.

" @@ -9077,15 +9505,15 @@ "documentation":"

The ID of the instance.

", "locationName":"instanceId" }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The time the output was last updated.

", - "locationName":"timestamp" - }, "Output":{ "shape":"String", "documentation":"

The console output, Base64-encoded. If using a command line tool, the tool decodes the output for you.

", "locationName":"output" + }, + "Timestamp":{ + "shape":"DateTime", + "documentation":"

The time the output was last updated.

", + "locationName":"timestamp" } }, "documentation":"

Contains the output of GetConsoleOutput.

" @@ -9112,15 +9540,15 @@ "GetConsoleScreenshotResult":{ "type":"structure", "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, "ImageData":{ "shape":"String", "documentation":"

The data that comprises the image.

", "locationName":"imageData" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" } }, "documentation":"

Contains the output of the request.

" @@ -9128,42 +9556,42 @@ "GetHostReservationPurchasePreviewRequest":{ "type":"structure", "required":[ - "OfferingId", - "HostIdSet" + "HostIdSet", + "OfferingId" ], "members":{ - "OfferingId":{ - "shape":"String", - "documentation":"

The offering ID of the reservation.

" - }, "HostIdSet":{ "shape":"RequestHostIdSet", "documentation":"

The ID/s of the Dedicated Host/s that the reservation will be associated with.

" + }, + "OfferingId":{ + "shape":"String", + "documentation":"

The offering ID of the reservation.

" } } }, "GetHostReservationPurchasePreviewResult":{ "type":"structure", "members":{ + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + }, "Purchase":{ "shape":"PurchaseSet", "documentation":"

The purchase information of the Dedicated Host Reservation and the Dedicated Hosts associated with it.

", "locationName":"purchase" }, - "TotalUpfrontPrice":{ - "shape":"String", - "documentation":"

The potential total upfront price. This is billed immediately.

", - "locationName":"totalUpfrontPrice" - }, "TotalHourlyPrice":{ "shape":"String", "documentation":"

The potential total hourly price of the reservation per hour.

", "locationName":"totalHourlyPrice" }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" + "TotalUpfrontPrice":{ + "shape":"String", + "documentation":"

The potential total upfront price. This is billed immediately.

", + "locationName":"totalUpfrontPrice" } } }, @@ -9171,14 +9599,14 @@ "type":"structure", "required":["InstanceId"], "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the Windows instance.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the Windows instance.

" } }, "documentation":"

Contains the parameters for GetPasswordData.

" @@ -9191,15 +9619,15 @@ "documentation":"

The ID of the Windows instance.

", "locationName":"instanceId" }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The time the data was last updated.

", - "locationName":"timestamp" - }, "PasswordData":{ "shape":"String", "documentation":"

The password of the instance.

", "locationName":"passwordData" + }, + "Timestamp":{ + "shape":"DateTime", + "documentation":"

The time the data was last updated.

", + "locationName":"timestamp" } }, "documentation":"

Contains the output of GetPasswordData.

" @@ -9228,43 +9656,45 @@ "GetReservedInstancesExchangeQuoteResult":{ "type":"structure", "members":{ - "ReservedInstanceValueSet":{ - "shape":"ReservedInstanceReservationValueSet", - "documentation":"

The configuration of your Convertible Reserved Instances.

", - "locationName":"reservedInstanceValueSet" - }, - "ReservedInstanceValueRollup":{ - "shape":"ReservationValue", - "locationName":"reservedInstanceValueRollup" - }, - "TargetConfigurationValueSet":{ - "shape":"TargetReservationValueSet", - "documentation":"

The values of the target Convertible Reserved Instances.

", - "locationName":"targetConfigurationValueSet" - }, - "TargetConfigurationValueRollup":{ - "shape":"ReservationValue", - "locationName":"targetConfigurationValueRollup" - }, - "PaymentDue":{ - "shape":"String", - "documentation":"

The total true upfront charge for the exchange.

", - "locationName":"paymentDue" - }, "CurrencyCode":{ "shape":"String", "documentation":"

The currency of the transaction.

", "locationName":"currencyCode" }, + "IsValidExchange":{ + "shape":"Boolean", + "documentation":"

If true, the exchange is valid. If false, the exchange cannot be completed.

", + "locationName":"isValidExchange" + }, "OutputReservedInstancesWillExpireAt":{ "shape":"DateTime", "documentation":"

The new end date of the reservation term.

", "locationName":"outputReservedInstancesWillExpireAt" }, - "IsValidExchange":{ - "shape":"Boolean", - "documentation":"

If true, the exchange is valid. If false, the exchange cannot be completed.

", - "locationName":"isValidExchange" + "PaymentDue":{ + "shape":"String", + "documentation":"

The total true upfront charge for the exchange.

", + "locationName":"paymentDue" + }, + "ReservedInstanceValueRollup":{ + "shape":"ReservationValue", + "documentation":"

The cost associated with the Reserved Instance.

", + "locationName":"reservedInstanceValueRollup" + }, + "ReservedInstanceValueSet":{ + "shape":"ReservedInstanceReservationValueSet", + "documentation":"

The configuration of your Convertible Reserved Instances.

", + "locationName":"reservedInstanceValueSet" + }, + "TargetConfigurationValueRollup":{ + "shape":"ReservationValue", + "documentation":"

The cost associated with the Reserved Instance.

", + "locationName":"targetConfigurationValueRollup" + }, + "TargetConfigurationValueSet":{ + "shape":"TargetReservationValueSet", + "documentation":"

The values of the target Convertible Reserved Instances.

", + "locationName":"targetConfigurationValueSet" }, "ValidationFailureReason":{ "shape":"String", @@ -9321,25 +9751,25 @@ "HistoryRecord":{ "type":"structure", "required":[ - "Timestamp", + "EventInformation", "EventType", - "EventInformation" + "Timestamp" ], "members":{ - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" + "EventInformation":{ + "shape":"EventInformation", + "documentation":"

Information about the event.

", + "locationName":"eventInformation" }, "EventType":{ "shape":"EventType", "documentation":"

The event type.

  • error - Indicates an error with the Spot fleet request.

  • fleetRequestChange - Indicates a change in the status or configuration of the Spot fleet request.

  • instanceChange - Indicates that an instance was launched or terminated.

", "locationName":"eventType" }, - "EventInformation":{ - "shape":"EventInformation", - "documentation":"

Information about the event.

", - "locationName":"eventInformation" + "Timestamp":{ + "shape":"DateTime", + "documentation":"

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"timestamp" } }, "documentation":"

Describes an event in the history of the Spot fleet request.

" @@ -9354,50 +9784,50 @@ "Host":{ "type":"structure", "members":{ - "HostId":{ - "shape":"String", - "documentation":"

The ID of the Dedicated Host.

", - "locationName":"hostId" - }, "AutoPlacement":{ "shape":"AutoPlacement", "documentation":"

Whether auto-placement is on or off.

", "locationName":"autoPlacement" }, - "HostReservationId":{ - "shape":"String", - "documentation":"

The reservation ID of the Dedicated Host. This returns a null response if the Dedicated Host doesn't have an associated reservation.

", - "locationName":"hostReservationId" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"clientToken" - }, - "HostProperties":{ - "shape":"HostProperties", - "documentation":"

The hardware specifications of the Dedicated Host.

", - "locationName":"hostProperties" - }, - "State":{ - "shape":"AllocationState", - "documentation":"

The Dedicated Host's state.

", - "locationName":"state" - }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone of the Dedicated Host.

", "locationName":"availabilityZone" }, + "AvailableCapacity":{ + "shape":"AvailableCapacity", + "documentation":"

The number of new instances that can be launched onto the Dedicated Host.

", + "locationName":"availableCapacity" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"clientToken" + }, + "HostId":{ + "shape":"String", + "documentation":"

The ID of the Dedicated Host.

", + "locationName":"hostId" + }, + "HostProperties":{ + "shape":"HostProperties", + "documentation":"

The hardware specifications of the Dedicated Host.

", + "locationName":"hostProperties" + }, + "HostReservationId":{ + "shape":"String", + "documentation":"

The reservation ID of the Dedicated Host. This returns a null response if the Dedicated Host doesn't have an associated reservation.

", + "locationName":"hostReservationId" + }, "Instances":{ "shape":"HostInstanceList", "documentation":"

The IDs and instance type that are currently running on the Dedicated Host.

", "locationName":"instances" }, - "AvailableCapacity":{ - "shape":"AvailableCapacity", - "documentation":"

The number of new instances that can be launched onto the Dedicated Host.

", - "locationName":"availableCapacity" + "State":{ + "shape":"AllocationState", + "documentation":"

The Dedicated Host's state.

", + "locationName":"state" } }, "documentation":"

Describes the properties of the Dedicated Host.

" @@ -9435,16 +9865,31 @@ "HostOffering":{ "type":"structure", "members":{ - "OfferingId":{ + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency of the offering.

", + "locationName":"currencyCode" + }, + "Duration":{ + "shape":"Integer", + "documentation":"

The duration of the offering (in seconds).

", + "locationName":"duration" + }, + "HourlyPrice":{ "shape":"String", - "documentation":"

The ID of the offering.

", - "locationName":"offeringId" + "documentation":"

The hourly price of the offering.

", + "locationName":"hourlyPrice" }, "InstanceFamily":{ "shape":"String", "documentation":"

The instance family of the offering.

", "locationName":"instanceFamily" }, + "OfferingId":{ + "shape":"String", + "documentation":"

The ID of the offering.

", + "locationName":"offeringId" + }, "PaymentOption":{ "shape":"PaymentOption", "documentation":"

The available payment option.

", @@ -9454,21 +9899,6 @@ "shape":"String", "documentation":"

The upfront price of the offering. Does not apply to No Upfront offerings.

", "locationName":"upfrontPrice" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price of the offering.

", - "locationName":"hourlyPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency of the offering.

", - "locationName":"currencyCode" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the offering (in seconds).

", - "locationName":"duration" } }, "documentation":"

Details about the Dedicated Host Reservation offering.

" @@ -9480,25 +9910,25 @@ "HostProperties":{ "type":"structure", "members":{ - "Sockets":{ - "shape":"Integer", - "documentation":"

The number of sockets on the Dedicated Host.

", - "locationName":"sockets" - }, "Cores":{ "shape":"Integer", "documentation":"

The number of cores on the Dedicated Host.

", "locationName":"cores" }, - "TotalVCpus":{ - "shape":"Integer", - "documentation":"

The number of vCPUs on the Dedicated Host.

", - "locationName":"totalVCpus" - }, "InstanceType":{ "shape":"String", "documentation":"

The instance type size that the Dedicated Host supports (for example, m3.medium).

", "locationName":"instanceType" + }, + "Sockets":{ + "shape":"Integer", + "documentation":"

The number of sockets on the Dedicated Host.

", + "locationName":"sockets" + }, + "TotalVCpus":{ + "shape":"Integer", + "documentation":"

The number of vCPUs on the Dedicated Host.

", + "locationName":"totalVCpus" } }, "documentation":"

Describes properties of a Dedicated Host.

" @@ -9506,51 +9936,16 @@ "HostReservation":{ "type":"structure", "members":{ - "HostReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation that specifies the associated Dedicated Hosts.

", - "locationName":"hostReservationId" - }, - "HostIdSet":{ - "shape":"ResponseHostIdSet", - "documentation":"

The IDs of the Dedicated Hosts associated with the reservation.

", - "locationName":"hostIdSet" - }, - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the reservation. This remains the same regardless of which Dedicated Hosts are associated with it.

", - "locationName":"offeringId" - }, - "InstanceFamily":{ - "shape":"String", - "documentation":"

The instance family of the Dedicated Host Reservation. The instance family on the Dedicated Host must be the same in order for it to benefit from the reservation.

", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "documentation":"

The payment option selected for this reservation.

", - "locationName":"paymentOption" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price of the reservation.

", - "locationName":"hourlyPrice" - }, - "UpfrontPrice":{ - "shape":"String", - "documentation":"

The upfront price of the reservation.

", - "locationName":"upfrontPrice" + "Count":{ + "shape":"Integer", + "documentation":"

The number of Dedicated Hosts the reservation is associated with.

", + "locationName":"count" }, "CurrencyCode":{ "shape":"CurrencyCodeValues", "documentation":"

The currency in which the upfrontPrice and hourlyPrice amounts are specified. At this time, the only supported currency is USD.

", "locationName":"currencyCode" }, - "Count":{ - "shape":"Integer", - "documentation":"

The number of Dedicated Hosts the reservation is associated with.

", - "locationName":"count" - }, "Duration":{ "shape":"Integer", "documentation":"

The length of the reservation's term, specified in seconds. Can be 31536000 (1 year) | 94608000 (3 years).

", @@ -9561,6 +9956,36 @@ "documentation":"

The date and time that the reservation ends.

", "locationName":"end" }, + "HostIdSet":{ + "shape":"ResponseHostIdSet", + "documentation":"

The IDs of the Dedicated Hosts associated with the reservation.

", + "locationName":"hostIdSet" + }, + "HostReservationId":{ + "shape":"String", + "documentation":"

The ID of the reservation that specifies the associated Dedicated Hosts.

", + "locationName":"hostReservationId" + }, + "HourlyPrice":{ + "shape":"String", + "documentation":"

The hourly price of the reservation.

", + "locationName":"hourlyPrice" + }, + "InstanceFamily":{ + "shape":"String", + "documentation":"

The instance family of the Dedicated Host Reservation. The instance family on the Dedicated Host must be the same in order for it to benefit from the reservation.

", + "locationName":"instanceFamily" + }, + "OfferingId":{ + "shape":"String", + "documentation":"

The ID of the reservation. This remains the same regardless of which Dedicated Hosts are associated with it.

", + "locationName":"offeringId" + }, + "PaymentOption":{ + "shape":"PaymentOption", + "documentation":"

The payment option selected for this reservation.

", + "locationName":"paymentOption" + }, "Start":{ "shape":"DateTime", "documentation":"

The date and time that the reservation started.

", @@ -9570,6 +9995,11 @@ "shape":"ReservationState", "documentation":"

The state of the reservation.

", "locationName":"state" + }, + "UpfrontPrice":{ + "shape":"String", + "documentation":"

The upfront price of the reservation.

", + "locationName":"upfrontPrice" } }, "documentation":"

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

" @@ -9615,6 +10045,53 @@ }, "documentation":"

Describes an IAM instance profile.

" }, + "IamInstanceProfileAssociation":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The ID of the association.

", + "locationName":"associationId" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfile", + "documentation":"

The IAM instance profile.

", + "locationName":"iamInstanceProfile" + }, + "State":{ + "shape":"IamInstanceProfileAssociationState", + "documentation":"

The state of the association.

", + "locationName":"state" + }, + "Timestamp":{ + "shape":"DateTime", + "documentation":"

The time the IAM instance profile was associated with the instance.

", + "locationName":"timestamp" + } + }, + "documentation":"

Describes an association between an IAM instance profile and an instance.

" + }, + "IamInstanceProfileAssociationSet":{ + "type":"list", + "member":{ + "shape":"IamInstanceProfileAssociation", + "locationName":"item" + } + }, + "IamInstanceProfileAssociationState":{ + "type":"string", + "enum":[ + "associating", + "associated", + "disassociating", + "disassociated" + ] + }, "IamInstanceProfileSpecification":{ "type":"structure", "members":{ @@ -9634,15 +10111,15 @@ "IcmpTypeCode":{ "type":"structure", "members":{ - "Type":{ - "shape":"Integer", - "documentation":"

The ICMP type. A value of -1 means all types.

", - "locationName":"type" - }, "Code":{ "shape":"Integer", "documentation":"

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", "locationName":"code" + }, + "Type":{ + "shape":"Integer", + "documentation":"

The ICMP type. A value of -1 means all types.

", + "locationName":"type" } }, "documentation":"

Describes the ICMP type and code.

" @@ -9650,6 +10127,11 @@ "IdFormat":{ "type":"structure", "members":{ + "Deadline":{ + "shape":"DateTime", + "documentation":"

The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

", + "locationName":"deadline" + }, "Resource":{ "shape":"String", "documentation":"

The type of resource.

", @@ -9659,11 +10141,6 @@ "shape":"Boolean", "documentation":"

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", "locationName":"useLongIds" - }, - "Deadline":{ - "shape":"DateTime", - "documentation":"

The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

", - "locationName":"deadline" } }, "documentation":"

Describes the ID format for a resource.

" @@ -9678,6 +10155,16 @@ "Image":{ "type":"structure", "members":{ + "Architecture":{ + "shape":"ArchitectureValues", + "documentation":"

The architecture of the image.

", + "locationName":"architecture" + }, + "CreationDate":{ + "shape":"String", + "documentation":"

The date and time the image was created.

", + "locationName":"creationDate" + }, "ImageId":{ "shape":"String", "documentation":"

The ID of the AMI.

", @@ -9688,70 +10175,65 @@ "documentation":"

The location of the AMI.

", "locationName":"imageLocation" }, - "State":{ - "shape":"ImageState", - "documentation":"

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

", - "locationName":"imageState" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the image owner.

", - "locationName":"imageOwnerId" - }, - "CreationDate":{ - "shape":"String", - "documentation":"

The date and time the image was created.

", - "locationName":"creationDate" + "ImageType":{ + "shape":"ImageTypeValues", + "documentation":"

The type of image.

", + "locationName":"imageType" }, "Public":{ "shape":"Boolean", "documentation":"

Indicates whether the image has public launch permissions. The value is true if this image has public launch permissions or false if it has only implicit and explicit launch permissions.

", "locationName":"isPublic" }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

Any product codes associated with the AMI.

", - "locationName":"productCodes" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "documentation":"

The architecture of the image.

", - "locationName":"architecture" - }, - "ImageType":{ - "shape":"ImageTypeValues", - "documentation":"

The type of image.

", - "locationName":"imageType" - }, "KernelId":{ "shape":"String", "documentation":"

The kernel associated with the image, if any. Only applicable for machine images.

", "locationName":"kernelId" }, - "RamdiskId":{ + "OwnerId":{ "shape":"String", - "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "locationName":"ramdiskId" + "documentation":"

The AWS account ID of the image owner.

", + "locationName":"imageOwnerId" }, "Platform":{ "shape":"PlatformValues", "documentation":"

The value is Windows for Windows AMIs; otherwise blank.

", "locationName":"platform" }, - "SriovNetSupport":{ + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

Any product codes associated with the AMI.

", + "locationName":"productCodes" + }, + "RamdiskId":{ "shape":"String", - "documentation":"

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "locationName":"sriovNetSupport" + "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", + "locationName":"ramdiskId" + }, + "State":{ + "shape":"ImageState", + "documentation":"

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

", + "locationName":"imageState" + }, + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingList", + "documentation":"

Any block device mapping entries.

", + "locationName":"blockDeviceMapping" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the AMI that was provided during image creation.

", + "locationName":"description" }, "EnaSupport":{ "shape":"Boolean", "documentation":"

Specifies whether enhanced networking with ENA is enabled.

", "locationName":"enaSupport" }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the state change.

", - "locationName":"stateReason" + "Hypervisor":{ + "shape":"HypervisorType", + "documentation":"

The hypervisor type of the image.

", + "locationName":"hypervisor" }, "ImageOwnerAlias":{ "shape":"String", @@ -9763,40 +10245,35 @@ "documentation":"

The name of the AMI that was provided during image creation.

", "locationName":"name" }, - "Description":{ + "RootDeviceName":{ "shape":"String", - "documentation":"

The description of the AMI that was provided during image creation.

", - "locationName":"description" + "documentation":"

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", + "locationName":"rootDeviceName" }, "RootDeviceType":{ "shape":"DeviceType", "documentation":"

The type of root device used by the AMI. The AMI can use an EBS volume or an instance store volume.

", "locationName":"rootDeviceType" }, - "RootDeviceName":{ + "SriovNetSupport":{ "shape":"String", - "documentation":"

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "locationName":"rootDeviceName" + "documentation":"

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", + "locationName":"sriovNetSupport" }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

Any block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The type of virtualization of the AMI.

", - "locationName":"virtualizationType" + "StateReason":{ + "shape":"StateReason", + "documentation":"

The reason for the state change.

", + "locationName":"stateReason" }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the image.

", "locationName":"tagSet" }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the image.

", - "locationName":"hypervisor" + "VirtualizationType":{ + "shape":"VirtualizationType", + "documentation":"

The type of virtualization of the AMI.

", + "locationName":"virtualizationType" } }, "documentation":"

Describes an image.

" @@ -9804,6 +10281,11 @@ "ImageAttribute":{ "type":"structure", "members":{ + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingList", + "documentation":"

One or more block device mapping entries.

", + "locationName":"blockDeviceMapping" + }, "ImageId":{ "shape":"String", "documentation":"

The ID of the AMI.

", @@ -9819,6 +10301,11 @@ "documentation":"

One or more product codes.

", "locationName":"productCodes" }, + "Description":{ + "shape":"AttributeValue", + "documentation":"

A description for the AMI.

", + "locationName":"description" + }, "KernelId":{ "shape":"AttributeValue", "documentation":"

The kernel ID.

", @@ -9829,20 +10316,10 @@ "documentation":"

The RAM disk ID.

", "locationName":"ramdisk" }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

A description for the AMI.

", - "locationName":"description" - }, "SriovNetSupport":{ "shape":"AttributeValue", "documentation":"

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", "locationName":"sriovNetSupport" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries.

", - "locationName":"blockDeviceMapping" } }, "documentation":"

Describes an image attribute.

" @@ -9866,10 +10343,18 @@ "shape":"String", "documentation":"

The description of the disk image.

" }, + "DeviceName":{ + "shape":"String", + "documentation":"

The block device mapping for the disk.

" + }, "Format":{ "shape":"String", "documentation":"

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

" }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the EBS snapshot to be used for importing the snapshot.

" + }, "Url":{ "shape":"String", "documentation":"

The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an Amazon S3 URL (s3://..)

" @@ -9877,14 +10362,6 @@ "UserBucket":{ "shape":"UserBucket", "documentation":"

The S3 bucket for the disk image.

" - }, - "DeviceName":{ - "shape":"String", - "documentation":"

The block device mapping for the disk.

" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the EBS snapshot to be used for importing the snapshot.

" } }, "documentation":"

Describes the disk container object for an import image task.

" @@ -9933,9 +10410,17 @@ "ImportImageRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "Architecture":{ + "shape":"String", + "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64

" + }, + "ClientData":{ + "shape":"ClientData", + "documentation":"

The client-specific data.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

The token to enable idempotency for VM import requests.

" }, "Description":{ "shape":"String", @@ -9946,30 +10431,22 @@ "documentation":"

Information about the disk containers.

", "locationName":"DiskContainer" }, - "LicenseType":{ - "shape":"String", - "documentation":"

The license type to be used for the Amazon Machine Image (AMI) after importing.

Note: You may only use BYOL if you have existing licenses with rights to use these licenses in a third party cloud like AWS. For more information, see Prerequisites in the VM Import/Export User Guide.

Valid values: AWS | BYOL

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, "Hypervisor":{ "shape":"String", "documentation":"

The target hypervisor platform.

Valid values: xen

" }, - "Architecture":{ + "LicenseType":{ "shape":"String", - "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64

" + "documentation":"

The license type to be used for the Amazon Machine Image (AMI) after importing.

Note: You may only use BYOL if you have existing licenses with rights to use these licenses in a third party cloud like AWS. For more information, see Prerequisites in the VM Import/Export User Guide.

Valid values: AWS | BYOL

" }, "Platform":{ "shape":"String", "documentation":"

The operating system of the virtual machine.

Valid values: Windows | Linux

" }, - "ClientData":{ - "shape":"ClientData", - "documentation":"

The client-specific data.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The token to enable idempotency for VM import requests.

" - }, "RoleName":{ "shape":"String", "documentation":"

The name of the role to use when not using the default role, 'vmimport'.

" @@ -9980,16 +10457,31 @@ "ImportImageResult":{ "type":"structure", "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The task ID of the import image task.

", - "locationName":"importTaskId" - }, "Architecture":{ "shape":"String", "documentation":"

The architecture of the virtual machine.

", "locationName":"architecture" }, + "Description":{ + "shape":"String", + "documentation":"

A description of the import task.

", + "locationName":"description" + }, + "Hypervisor":{ + "shape":"String", + "documentation":"

The target hypervisor of the import task.

", + "locationName":"hypervisor" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the Amazon Machine Image (AMI) created by the import task.

", + "locationName":"imageId" + }, + "ImportTaskId":{ + "shape":"String", + "documentation":"

The task ID of the import image task.

", + "locationName":"importTaskId" + }, "LicenseType":{ "shape":"String", "documentation":"

The license type of the virtual machine.

", @@ -10000,40 +10492,25 @@ "documentation":"

The operating system of the virtual machine.

", "locationName":"platform" }, - "Hypervisor":{ + "Progress":{ "shape":"String", - "documentation":"

The target hypervisor of the import task.

", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import task.

", - "locationName":"description" + "documentation":"

The progress of the task.

", + "locationName":"progress" }, "SnapshotDetails":{ "shape":"SnapshotDetailList", "documentation":"

Information about the snapshots.

", "locationName":"snapshotDetailSet" }, - "ImageId":{ + "Status":{ "shape":"String", - "documentation":"

The ID of the Amazon Machine Image (AMI) created by the import task.

", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "documentation":"

The progress of the task.

", - "locationName":"progress" + "documentation":"

A brief status of the task.

", + "locationName":"status" }, "StatusMessage":{ "shape":"String", "documentation":"

A detailed status message of the import task.

", "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "documentation":"

A brief status of the task.

", - "locationName":"status" } }, "documentation":"

Contains the output for ImportImage.

" @@ -10041,16 +10518,31 @@ "ImportImageTask":{ "type":"structure", "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import image task.

", - "locationName":"importTaskId" - }, "Architecture":{ "shape":"String", "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64

", "locationName":"architecture" }, + "Description":{ + "shape":"String", + "documentation":"

A description of the import task.

", + "locationName":"description" + }, + "Hypervisor":{ + "shape":"String", + "documentation":"

The target hypervisor for the import task.

Valid values: xen

", + "locationName":"hypervisor" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

", + "locationName":"imageId" + }, + "ImportTaskId":{ + "shape":"String", + "documentation":"

The ID of the import image task.

", + "locationName":"importTaskId" + }, "LicenseType":{ "shape":"String", "documentation":"

The license type of the virtual machine.

", @@ -10061,40 +10553,25 @@ "documentation":"

The description string for the import image task.

", "locationName":"platform" }, - "Hypervisor":{ + "Progress":{ "shape":"String", - "documentation":"

The target hypervisor for the import task.

Valid values: xen

", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import task.

", - "locationName":"description" + "documentation":"

The percentage of progress of the import image task.

", + "locationName":"progress" }, "SnapshotDetails":{ "shape":"SnapshotDetailList", "documentation":"

Information about the snapshots.

", "locationName":"snapshotDetailSet" }, - "ImageId":{ + "Status":{ "shape":"String", - "documentation":"

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "documentation":"

The percentage of progress of the import image task.

", - "locationName":"progress" + "documentation":"

A brief status for the import image task.

", + "locationName":"status" }, "StatusMessage":{ "shape":"String", "documentation":"

A descriptive status message for the import image task.

", "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "documentation":"

A brief status for the import image task.

", - "locationName":"status" } }, "documentation":"

Describes an import image task.

" @@ -10109,60 +10586,60 @@ "ImportInstanceLaunchSpecification":{ "type":"structure", "members":{ + "AdditionalInfo":{ + "shape":"String", + "documentation":"

Reserved.

", + "locationName":"additionalInfo" + }, "Architecture":{ "shape":"ArchitectureValues", "documentation":"

The architecture of the instance.

", "locationName":"architecture" }, - "GroupNames":{ - "shape":"SecurityGroupStringList", - "documentation":"

One or more security group names.

", - "locationName":"GroupName" - }, "GroupIds":{ "shape":"SecurityGroupIdStringList", "documentation":"

One or more security group IDs.

", "locationName":"GroupId" }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "UserData":{ - "shape":"UserData", - "documentation":"

The user data to make available to the instance. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", - "locationName":"userData" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"Placement", - "documentation":"

The placement information for the instance.

", - "locationName":"placement" - }, - "Monitoring":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled.

", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet in which to launch the instance.

", - "locationName":"subnetId" + "GroupNames":{ + "shape":"SecurityGroupStringList", + "documentation":"

One or more security group names.

", + "locationName":"GroupName" }, "InstanceInitiatedShutdownBehavior":{ "shape":"ShutdownBehavior", "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", "locationName":"instanceInitiatedShutdownBehavior" }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

", + "locationName":"instanceType" + }, + "Monitoring":{ + "shape":"Boolean", + "documentation":"

Indicates whether monitoring is enabled.

", + "locationName":"monitoring" + }, + "Placement":{ + "shape":"Placement", + "documentation":"

The placement information for the instance.

", + "locationName":"placement" + }, "PrivateIpAddress":{ "shape":"String", "documentation":"

[EC2-VPC] An available IP address from the IP address range of the subnet.

", "locationName":"privateIpAddress" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

[EC2-VPC] The ID of the subnet in which to launch the instance.

", + "locationName":"subnetId" + }, + "UserData":{ + "shape":"UserData", + "documentation":"

The user data to make available to the instance. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", + "locationName":"userData" } }, "documentation":"

Describes the launch specification for VM import.

" @@ -10171,26 +10648,26 @@ "type":"structure", "required":["Platform"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "Description":{ "shape":"String", "documentation":"

A description for the instance being imported.

", "locationName":"description" }, - "LaunchSpecification":{ - "shape":"ImportInstanceLaunchSpecification", - "documentation":"

The launch specification.

", - "locationName":"launchSpecification" - }, "DiskImages":{ "shape":"DiskImageList", "documentation":"

The disk image.

", "locationName":"diskImage" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "LaunchSpecification":{ + "shape":"ImportInstanceLaunchSpecification", + "documentation":"

The launch specification.

", + "locationName":"launchSpecification" + }, "Platform":{ "shape":"PlatformValues", "documentation":"

The instance operating system.

", @@ -10214,10 +10691,10 @@ "type":"structure", "required":["Volumes"], "members":{ - "Volumes":{ - "shape":"ImportInstanceVolumeDetailSet", - "documentation":"

One or more volumes.

", - "locationName":"volumes" + "Description":{ + "shape":"String", + "documentation":"

A description of the task.

", + "locationName":"description" }, "InstanceId":{ "shape":"String", @@ -10229,10 +10706,10 @@ "documentation":"

The instance operating system.

", "locationName":"platform" }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" + "Volumes":{ + "shape":"ImportInstanceVolumeDetailSet", + "documentation":"

One or more volumes.

", + "locationName":"volumes" } }, "documentation":"

Describes an import instance task.

" @@ -10240,33 +10717,33 @@ "ImportInstanceVolumeDetailItem":{ "type":"structure", "required":[ - "BytesConverted", "AvailabilityZone", + "BytesConverted", "Image", - "Volume", - "Status" + "Status", + "Volume" ], "members":{ - "BytesConverted":{ - "shape":"Long", - "documentation":"

The number of bytes converted so far.

", - "locationName":"bytesConverted" - }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone where the resulting instance will reside.

", "locationName":"availabilityZone" }, + "BytesConverted":{ + "shape":"Long", + "documentation":"

The number of bytes converted so far.

", + "locationName":"bytesConverted" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the task.

", + "locationName":"description" + }, "Image":{ "shape":"DiskImageDescription", "documentation":"

The image.

", "locationName":"image" }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "documentation":"

The volume.

", - "locationName":"volume" - }, "Status":{ "shape":"String", "documentation":"

The status of the import of this particular disk image.

", @@ -10277,10 +10754,10 @@ "documentation":"

The status information or errors related to the disk image.

", "locationName":"statusMessage" }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" + "Volume":{ + "shape":"DiskImageVolumeDescription", + "documentation":"

The volume.

", + "locationName":"volume" } }, "documentation":"

Describes an import volume task.

" @@ -10320,15 +10797,15 @@ "ImportKeyPairResult":{ "type":"structure", "members":{ - "KeyName":{ - "shape":"String", - "documentation":"

The key pair name you provided.

", - "locationName":"keyName" - }, "KeyFingerprint":{ "shape":"String", "documentation":"

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

", "locationName":"keyFingerprint" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The key pair name you provided.

", + "locationName":"keyName" } }, "documentation":"

Contains the output of ImportKeyPair.

" @@ -10336,9 +10813,13 @@ "ImportSnapshotRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "ClientData":{ + "shape":"ClientData", + "documentation":"

The client-specific data.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Token to enable idempotency for VM import requests.

" }, "Description":{ "shape":"String", @@ -10348,13 +10829,9 @@ "shape":"SnapshotDiskContainer", "documentation":"

Information about the disk container.

" }, - "ClientData":{ - "shape":"ClientData", - "documentation":"

The client-specific data.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Token to enable idempotency for VM import requests.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, "RoleName":{ "shape":"String", @@ -10366,6 +10843,11 @@ "ImportSnapshotResult":{ "type":"structure", "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the import snapshot task.

", + "locationName":"description" + }, "ImportTaskId":{ "shape":"String", "documentation":"

The ID of the import snapshot task.

", @@ -10375,11 +10857,6 @@ "shape":"SnapshotTaskDetail", "documentation":"

Information about the import snapshot task.

", "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import snapshot task.

", - "locationName":"description" } }, "documentation":"

Contains the output for ImportSnapshot.

" @@ -10387,6 +10864,11 @@ "ImportSnapshotTask":{ "type":"structure", "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the import snapshot task.

", + "locationName":"description" + }, "ImportTaskId":{ "shape":"String", "documentation":"

The ID of the import snapshot task.

", @@ -10396,11 +10878,6 @@ "shape":"SnapshotTaskDetail", "documentation":"

Describes an import snapshot task.

", "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import snapshot task.

", - "locationName":"description" } }, "documentation":"

Describes an import snapshot task.

" @@ -10427,26 +10904,26 @@ "Volume" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone for the resulting EBS volume.

", "locationName":"availabilityZone" }, - "Image":{ - "shape":"DiskImageDetail", - "documentation":"

The disk image.

", - "locationName":"image" - }, "Description":{ "shape":"String", "documentation":"

A description of the volume.

", "locationName":"description" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Image":{ + "shape":"DiskImageDetail", + "documentation":"

The disk image.

", + "locationName":"image" + }, "Volume":{ "shape":"VolumeDetail", "documentation":"

The volume size.

", @@ -10469,22 +10946,22 @@ "ImportVolumeTaskDetails":{ "type":"structure", "required":[ - "BytesConverted", "AvailabilityZone", + "BytesConverted", "Image", "Volume" ], "members":{ - "BytesConverted":{ - "shape":"Long", - "documentation":"

The number of bytes converted so far.

", - "locationName":"bytesConverted" - }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone where the resulting volume will reside.

", "locationName":"availabilityZone" }, + "BytesConverted":{ + "shape":"Long", + "documentation":"

The number of bytes converted so far.

", + "locationName":"bytesConverted" + }, "Description":{ "shape":"String", "documentation":"

The description you provided when starting the import volume task.

", @@ -10506,85 +10983,95 @@ "Instance":{ "type":"structure", "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" + "AmiLaunchIndex":{ + "shape":"Integer", + "documentation":"

The AMI launch index, which can be used to find this instance in the launch group.

", + "locationName":"amiLaunchIndex" }, "ImageId":{ "shape":"String", "documentation":"

The ID of the AMI used to launch the instance.

", "locationName":"imageId" }, - "State":{ - "shape":"InstanceState", - "documentation":"

The current state of the instance.

", - "locationName":"instanceState" - }, - "PrivateDnsName":{ + "InstanceId":{ "shape":"String", - "documentation":"

(IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

[EC2-VPC] The Amazon-provided DNS server will resolve Amazon-provided private DNS hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not using the Amazon-provided DNS server in your VPC, your custom domain name servers must resolve the hostname as appropriate.

", - "locationName":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

(IPv4 only) The public DNS name assigned to the instance. This name is not available until the instance enters the running state. For EC2-VPC, this name is only available if you've enabled DNS hostnames for your VPC.

", - "locationName":"dnsName" - }, - "StateTransitionReason":{ - "shape":"String", - "documentation":"

The reason for the most recent state transition. This might be an empty string.

", - "locationName":"reason" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair, if this instance was launched with an associated key pair.

", - "locationName":"keyName" - }, - "AmiLaunchIndex":{ - "shape":"Integer", - "documentation":"

The AMI launch index, which can be used to find this instance in the launch group.

", - "locationName":"amiLaunchIndex" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

The product codes attached to this instance, if applicable.

", - "locationName":"productCodes" + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" }, "InstanceType":{ "shape":"InstanceType", "documentation":"

The instance type.

", "locationName":"instanceType" }, + "KernelId":{ + "shape":"String", + "documentation":"

The kernel associated with this instance, if applicable.

", + "locationName":"kernelId" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair, if this instance was launched with an associated key pair.

", + "locationName":"keyName" + }, "LaunchTime":{ "shape":"DateTime", "documentation":"

The time the instance was launched.

", "locationName":"launchTime" }, + "Monitoring":{ + "shape":"Monitoring", + "documentation":"

The monitoring for the instance.

", + "locationName":"monitoring" + }, "Placement":{ "shape":"Placement", "documentation":"

The location where the instance launched, if applicable.

", "locationName":"placement" }, - "KernelId":{ + "Platform":{ + "shape":"PlatformValues", + "documentation":"

The value is Windows for Windows instances; otherwise blank.

", + "locationName":"platform" + }, + "PrivateDnsName":{ "shape":"String", - "documentation":"

The kernel associated with this instance, if applicable.

", - "locationName":"kernelId" + "documentation":"

(IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

[EC2-VPC] The Amazon-provided DNS server will resolve Amazon-provided private DNS hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not using the Amazon-provided DNS server in your VPC, your custom domain name servers must resolve the hostname as appropriate.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IPv4 address assigned to the instance.

", + "locationName":"privateIpAddress" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

The product codes attached to this instance, if applicable.

", + "locationName":"productCodes" + }, + "PublicDnsName":{ + "shape":"String", + "documentation":"

(IPv4 only) The public DNS name assigned to the instance. This name is not available until the instance enters the running state. For EC2-VPC, this name is only available if you've enabled DNS hostnames for your VPC.

", + "locationName":"dnsName" + }, + "PublicIpAddress":{ + "shape":"String", + "documentation":"

The public IPv4 address assigned to the instance, if applicable.

", + "locationName":"ipAddress" }, "RamdiskId":{ "shape":"String", "documentation":"

The RAM disk associated with this instance, if applicable.

", "locationName":"ramdiskId" }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows instances; otherwise blank.

", - "locationName":"platform" + "State":{ + "shape":"InstanceState", + "documentation":"

The current state of the instance.

", + "locationName":"instanceState" }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring for the instance.

", - "locationName":"monitoring" + "StateTransitionReason":{ + "shape":"String", + "documentation":"

The reason for the most recent state transition. This might be an empty string.

", + "locationName":"reason" }, "SubnetId":{ "shape":"String", @@ -10596,65 +11083,60 @@ "documentation":"

[EC2-VPC] The ID of the VPC in which the instance is running.

", "locationName":"vpcId" }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IPv4 address assigned to the instance.

", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "documentation":"

The public IPv4 address assigned to the instance, if applicable.

", - "locationName":"ipAddress" - }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the most recent state transition.

", - "locationName":"stateReason" - }, "Architecture":{ "shape":"ArchitectureValues", "documentation":"

The architecture of the image.

", "locationName":"architecture" }, - "RootDeviceType":{ - "shape":"DeviceType", - "documentation":"

The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.

", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "documentation":"

The root device name (for example, /dev/sda1 or /dev/xvda).

", - "locationName":"rootDeviceName" - }, "BlockDeviceMappings":{ "shape":"InstanceBlockDeviceMappingList", "documentation":"

Any block device mapping entries for the instance.

", "locationName":"blockDeviceMapping" }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The virtualization type of the instance.

", - "locationName":"virtualizationType" + "ClientToken":{ + "shape":"String", + "documentation":"

The idempotency token you provided when you launched the instance, if applicable.

", + "locationName":"clientToken" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

", + "locationName":"ebsOptimized" + }, + "EnaSupport":{ + "shape":"Boolean", + "documentation":"

Specifies whether enhanced networking with ENA is enabled.

", + "locationName":"enaSupport" + }, + "Hypervisor":{ + "shape":"HypervisorType", + "documentation":"

The hypervisor type of the instance.

", + "locationName":"hypervisor" + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfile", + "documentation":"

The IAM instance profile associated with the instance, if applicable.

", + "locationName":"iamInstanceProfile" }, "InstanceLifecycle":{ "shape":"InstanceLifecycleType", "documentation":"

Indicates whether this is a Spot instance or a Scheduled Instance.

", "locationName":"instanceLifecycle" }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

If the request is a Spot instance request, the ID of the request.

", - "locationName":"spotInstanceRequestId" + "NetworkInterfaces":{ + "shape":"InstanceNetworkInterfaceList", + "documentation":"

[EC2-VPC] One or more network interfaces for the instance.

", + "locationName":"networkInterfaceSet" }, - "ClientToken":{ + "RootDeviceName":{ "shape":"String", - "documentation":"

The idempotency token you provided when you launched the instance, if applicable.

", - "locationName":"clientToken" + "documentation":"

The root device name (for example, /dev/sda1 or /dev/xvda).

", + "locationName":"rootDeviceName" }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" + "RootDeviceType":{ + "shape":"DeviceType", + "documentation":"

The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.

", + "locationName":"rootDeviceType" }, "SecurityGroups":{ "shape":"GroupIdentifierList", @@ -10666,35 +11148,30 @@ "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", "locationName":"sourceDestCheck" }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the instance.

", - "locationName":"hypervisor" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceList", - "documentation":"

[EC2-VPC] One or more network interfaces for the instance.

", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfile", - "documentation":"

The IAM instance profile associated with the instance, if applicable.

", - "locationName":"iamInstanceProfile" - }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

", - "locationName":"ebsOptimized" + "SpotInstanceRequestId":{ + "shape":"String", + "documentation":"

If the request is a Spot instance request, the ID of the request.

", + "locationName":"spotInstanceRequestId" }, "SriovNetSupport":{ "shape":"String", "documentation":"

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", "locationName":"sriovNetSupport" }, - "EnaSupport":{ - "shape":"Boolean", - "documentation":"

Specifies whether enhanced networking with ENA is enabled.

", - "locationName":"enaSupport" + "StateReason":{ + "shape":"StateReason", + "documentation":"

The reason for the most recent state transition.

", + "locationName":"stateReason" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the instance.

", + "locationName":"tagSet" + }, + "VirtualizationType":{ + "shape":"VirtualizationType", + "documentation":"

The virtualization type of the instance.

", + "locationName":"virtualizationType" } }, "documentation":"

Describes an instance.

" @@ -10702,11 +11179,41 @@ "InstanceAttribute":{ "type":"structure", "members":{ + "Groups":{ + "shape":"GroupIdentifierList", + "documentation":"

The security groups associated with the instance.

", + "locationName":"groupSet" + }, + "BlockDeviceMappings":{ + "shape":"InstanceBlockDeviceMappingList", + "documentation":"

The block device mapping of the instance.

", + "locationName":"blockDeviceMapping" + }, + "DisableApiTermination":{ + "shape":"AttributeBooleanValue", + "documentation":"

If the value is true, you can't terminate the instance through the Amazon EC2 console, CLI, or API; otherwise, you can.

", + "locationName":"disableApiTermination" + }, + "EnaSupport":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether enhanced networking with ENA is enabled.

", + "locationName":"enaSupport" + }, + "EbsOptimized":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether the instance is optimized for EBS I/O.

", + "locationName":"ebsOptimized" + }, "InstanceId":{ "shape":"String", "documentation":"

The ID of the instance.

", "locationName":"instanceId" }, + "InstanceInitiatedShutdownBehavior":{ + "shape":"AttributeValue", + "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", + "locationName":"instanceInitiatedShutdownBehavior" + }, "InstanceType":{ "shape":"AttributeValue", "documentation":"

The instance type.

", @@ -10717,65 +11224,35 @@ "documentation":"

The kernel ID.

", "locationName":"kernel" }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

A list of product codes.

", + "locationName":"productCodes" + }, "RamdiskId":{ "shape":"AttributeValue", "documentation":"

The RAM disk ID.

", "locationName":"ramdisk" }, - "UserData":{ - "shape":"AttributeValue", - "documentation":"

The user data.

", - "locationName":"userData" - }, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "documentation":"

If the value is true, you can't terminate the instance through the Amazon EC2 console, CLI, or API; otherwise, you can.

", - "locationName":"disableApiTermination" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "locationName":"instanceInitiatedShutdownBehavior" - }, "RootDeviceName":{ "shape":"AttributeValue", "documentation":"

The name of the root device (for example, /dev/sda1 or /dev/xvda).

", "locationName":"rootDeviceName" }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "documentation":"

The block device mapping of the instance.

", - "locationName":"blockDeviceMapping" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - }, - "EbsOptimized":{ + "SourceDestCheck":{ "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instance is optimized for EBS I/O.

", - "locationName":"ebsOptimized" + "documentation":"

Indicates whether source/destination checking is enabled. A value of true means checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT.

", + "locationName":"sourceDestCheck" }, "SriovNetSupport":{ "shape":"AttributeValue", "documentation":"

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", "locationName":"sriovNetSupport" }, - "EnaSupport":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether enhanced networking with ENA is enabled.

", - "locationName":"enaSupport" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether source/destination checking is enabled. A value of true means checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT.

", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

The security groups associated with the instance.

", - "locationName":"groupSet" + "UserData":{ + "shape":"AttributeValue", + "documentation":"

The user data.

", + "locationName":"userData" } }, "documentation":"

Describes an instance attribute.

" @@ -10835,15 +11312,15 @@ "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", "locationName":"ebs" }, - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name.

", - "locationName":"virtualName" - }, "NoDevice":{ "shape":"String", "documentation":"

suppress the specified device included in the block device mapping.

", "locationName":"noDevice" + }, + "VirtualName":{ + "shape":"String", + "documentation":"

The virtual device name.

", + "locationName":"virtualName" } }, "documentation":"

Describes a block device mapping entry.

" @@ -10858,16 +11335,16 @@ "InstanceCapacity":{ "type":"structure", "members":{ - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type size supported by the Dedicated Host.

", - "locationName":"instanceType" - }, "AvailableCapacity":{ "shape":"Integer", "documentation":"

The number of instances that can still be launched onto the Dedicated Host.

", "locationName":"availableCapacity" }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type size supported by the Dedicated Host.

", + "locationName":"instanceType" + }, "TotalCapacity":{ "shape":"Integer", "documentation":"

The total number of instances that can be launched onto the Dedicated Host.

", @@ -10879,15 +11356,15 @@ "InstanceCount":{ "type":"structure", "members":{ - "State":{ - "shape":"ListingState", - "documentation":"

The states of the listed Reserved Instances.

", - "locationName":"state" - }, "InstanceCount":{ "shape":"Integer", "documentation":"

The number of listed Reserved Instances in the state specified by the state.

", "locationName":"instanceCount" + }, + "State":{ + "shape":"ListingState", + "documentation":"

The states of the listed Reserved Instances.

", + "locationName":"state" } }, "documentation":"

Describes a Reserved Instance listing state.

" @@ -10994,11 +11471,71 @@ "InstanceNetworkInterface":{ "type":"structure", "members":{ + "Association":{ + "shape":"InstanceNetworkInterfaceAssociation", + "documentation":"

The association information for an Elastic IPv4 associated with the network interface.

", + "locationName":"association" + }, + "Attachment":{ + "shape":"InstanceNetworkInterfaceAttachment", + "documentation":"

The network interface attachment.

", + "locationName":"attachment" + }, + "Description":{ + "shape":"String", + "documentation":"

The description.

", + "locationName":"description" + }, + "Groups":{ + "shape":"GroupIdentifierList", + "documentation":"

One or more security groups.

", + "locationName":"groupSet" + }, + "Ipv6Addresses":{ + "shape":"InstanceIpv6AddressList", + "documentation":"

One or more IPv6 addresses associated with the network interface.

", + "locationName":"ipv6AddressesSet" + }, + "MacAddress":{ + "shape":"String", + "documentation":"

The MAC address.

", + "locationName":"macAddress" + }, "NetworkInterfaceId":{ "shape":"String", "documentation":"

The ID of the network interface.

", "locationName":"networkInterfaceId" }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that created the network interface.

", + "locationName":"ownerId" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The IPv4 address of the network interface within the subnet.

", + "locationName":"privateIpAddress" + }, + "PrivateIpAddresses":{ + "shape":"InstancePrivateIpAddressList", + "documentation":"

One or more private IPv4 addresses associated with the network interface.

", + "locationName":"privateIpAddressesSet" + }, + "SourceDestCheck":{ + "shape":"Boolean", + "documentation":"

Indicates whether to validate network traffic to or from this network interface.

", + "locationName":"sourceDestCheck" + }, + "Status":{ + "shape":"NetworkInterfaceStatus", + "documentation":"

The status of the network interface.

", + "locationName":"status" + }, "SubnetId":{ "shape":"String", "documentation":"

The ID of the subnet.

", @@ -11008,66 +11545,6 @@ "shape":"String", "documentation":"

The ID of the VPC.

", "locationName":"vpcId" - }, - "Description":{ - "shape":"String", - "documentation":"

The description.

", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that created the network interface.

", - "locationName":"ownerId" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "documentation":"

The status of the network interface.

", - "locationName":"status" - }, - "MacAddress":{ - "shape":"String", - "documentation":"

The MAC address.

", - "locationName":"macAddress" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IPv4 address of the network interface within the subnet.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Indicates whether to validate network traffic to or from this network interface.

", - "locationName":"sourceDestCheck" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups.

", - "locationName":"groupSet" - }, - "Attachment":{ - "shape":"InstanceNetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IPv4 associated with the network interface.

", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "documentation":"

One or more private IPv4 addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - }, - "Ipv6Addresses":{ - "shape":"InstanceIpv6AddressList", - "documentation":"

One or more IPv6 addresses associated with the network interface.

", - "locationName":"ipv6AddressesSet" } }, "documentation":"

Describes a network interface.

" @@ -11075,20 +11552,20 @@ "InstanceNetworkInterfaceAssociation":{ "type":"structure", "members":{ - "PublicIp":{ + "IpOwnerId":{ "shape":"String", - "documentation":"

The public IP address or Elastic IP address bound to the network interface.

", - "locationName":"publicIp" + "documentation":"

The ID of the owner of the Elastic IP address.

", + "locationName":"ipOwnerId" }, "PublicDnsName":{ "shape":"String", "documentation":"

The public DNS name.

", "locationName":"publicDnsName" }, - "IpOwnerId":{ + "PublicIp":{ "shape":"String", - "documentation":"

The ID of the owner of the Elastic IP address.

", - "locationName":"ipOwnerId" + "documentation":"

The public IP address or Elastic IP address bound to the network interface.

", + "locationName":"publicIp" } }, "documentation":"

Describes association information for an Elastic IP address (IPv4).

" @@ -11096,11 +11573,21 @@ "InstanceNetworkInterfaceAttachment":{ "type":"structure", "members":{ + "AttachTime":{ + "shape":"DateTime", + "documentation":"

The time stamp when the attachment initiated.

", + "locationName":"attachTime" + }, "AttachmentId":{ "shape":"String", "documentation":"

The ID of the network interface attachment.

", "locationName":"attachmentId" }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", + "locationName":"deleteOnTermination" + }, "DeviceIndex":{ "shape":"Integer", "documentation":"

The index of the device on the instance for the network interface attachment.

", @@ -11110,16 +11597,6 @@ "shape":"AttachmentStatus", "documentation":"

The attachment state.

", "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the attachment initiated.

", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", - "locationName":"deleteOnTermination" } }, "documentation":"

Describes a network interface attachment.

" @@ -11134,40 +11611,51 @@ "InstanceNetworkInterfaceSpecification":{ "type":"structure", "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

", + "locationName":"associatePublicIpAddress" }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device on the instance for the network interface attachment. If you are specifying a network interface in a RunInstances request, you must provide the device index.

", - "locationName":"deviceIndex" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an instance.

", - "locationName":"subnetId" + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

If set to true, the interface is deleted when the instance is terminated. You can specify true only if creating a new network interface when launching an instance.

", + "locationName":"deleteOnTermination" }, "Description":{ "shape":"String", "documentation":"

The description of the network interface. Applies only if creating a network interface when launching an instance.

", "locationName":"description" }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching more than one instance in a RunInstances request.

", - "locationName":"privateIpAddress" + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

The index of the device on the instance for the network interface attachment. If you are specifying a network interface in a RunInstances request, you must provide the device index.

", + "locationName":"deviceIndex" }, "Groups":{ "shape":"SecurityGroupIdStringList", "documentation":"

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

", "locationName":"SecurityGroupId" }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

If set to true, the interface is deleted when the instance is terminated. You can specify true only if creating a new network interface when launching an instance.

", - "locationName":"deleteOnTermination" + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

", + "locationName":"ipv6AddressCount" + }, + "Ipv6Addresses":{ + "shape":"InstanceIpv6AddressList", + "documentation":"

One or more IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

", + "locationName":"ipv6AddressesSet", + "queryName":"Ipv6Addresses" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching more than one instance in a RunInstances request.

", + "locationName":"privateIpAddress" }, "PrivateIpAddresses":{ "shape":"PrivateIpAddressSpecificationList", @@ -11180,21 +11668,10 @@ "documentation":"

The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a RunInstances request.

", "locationName":"secondaryPrivateIpAddressCount" }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

", - "locationName":"associatePublicIpAddress" - }, - "Ipv6Addresses":{ - "shape":"InstanceIpv6AddressList", - "documentation":"

One or more IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

", - "locationName":"ipv6AddressesSet", - "queryName":"Ipv6Addresses" - }, - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

", - "locationName":"ipv6AddressCount" + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an instance.

", + "locationName":"subnetId" } }, "documentation":"

Describes a network interface.

" @@ -11209,25 +11686,25 @@ "InstancePrivateIpAddress":{ "type":"structure", "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IPv4 address of the network interface.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private IPv4 DNS name.

", - "locationName":"privateDnsName" + "Association":{ + "shape":"InstanceNetworkInterfaceAssociation", + "documentation":"

The association information for an Elastic IP address for the network interface.

", + "locationName":"association" }, "Primary":{ "shape":"Boolean", "documentation":"

Indicates whether this IPv4 address is the primary private IP address of the network interface.

", "locationName":"primary" }, - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address for the network interface.

", - "locationName":"association" + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private IPv4 DNS name.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IPv4 address of the network interface.

", + "locationName":"privateIpAddress" } }, "documentation":"

Describes a private IPv4 address.

" @@ -11258,16 +11735,16 @@ "InstanceStateChange":{ "type":"structure", "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, "CurrentState":{ "shape":"InstanceState", "documentation":"

The current state of the instance.

", "locationName":"currentState" }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, "PreviousState":{ "shape":"InstanceState", "documentation":"

The previous state of the instance.

", @@ -11297,11 +11774,6 @@ "InstanceStatus":{ "type":"structure", "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone of the instance.

", @@ -11312,20 +11784,25 @@ "documentation":"

Any scheduled events associated with the instance.

", "locationName":"eventsSet" }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, "InstanceState":{ "shape":"InstanceState", "documentation":"

The intended state of the instance. DescribeInstanceStatus requires that an instance be in the running state.

", "locationName":"instanceState" }, - "SystemStatus":{ - "shape":"InstanceStatusSummary", - "documentation":"

Reports impaired functionality that stems from issues related to the systems that support an instance, such as hardware failures and network connectivity problems.

", - "locationName":"systemStatus" - }, "InstanceStatus":{ "shape":"InstanceStatusSummary", "documentation":"

Reports impaired functionality that stems from issues internal to the instance, such as impaired reachability.

", "locationName":"instanceStatus" + }, + "SystemStatus":{ + "shape":"InstanceStatusSummary", + "documentation":"

Reports impaired functionality that stems from issues related to the systems that support an instance, such as hardware failures and network connectivity problems.

", + "locationName":"systemStatus" } }, "documentation":"

Describes the status of an instance.

" @@ -11333,6 +11810,11 @@ "InstanceStatusDetails":{ "type":"structure", "members":{ + "ImpairedSince":{ + "shape":"DateTime", + "documentation":"

The time when a status check failed. For an instance that was launched and impaired, this is the time when the instance was launched.

", + "locationName":"impairedSince" + }, "Name":{ "shape":"StatusName", "documentation":"

The type of instance status.

", @@ -11342,11 +11824,6 @@ "shape":"StatusType", "documentation":"

The status.

", "locationName":"status" - }, - "ImpairedSince":{ - "shape":"DateTime", - "documentation":"

The time when a status check failed. For an instance that was launched and impaired, this is the time when the instance was launched.

", - "locationName":"impairedSince" } }, "documentation":"

Describes the instance status.

" @@ -11371,15 +11848,15 @@ "documentation":"

A description of the event.

After a scheduled event is completed, it can still be described for up to a week. If the event has been completed, this description starts with the following text: [Completed].

", "locationName":"description" }, - "NotBefore":{ - "shape":"DateTime", - "documentation":"

The earliest scheduled start time for the event.

", - "locationName":"notBefore" - }, "NotAfter":{ "shape":"DateTime", "documentation":"

The latest scheduled end time for the event.

", "locationName":"notAfter" + }, + "NotBefore":{ + "shape":"DateTime", + "documentation":"

The earliest scheduled start time for the event.

", + "locationName":"notBefore" } }, "documentation":"

Describes a scheduled event for an instance.

" @@ -11401,15 +11878,15 @@ "InstanceStatusSummary":{ "type":"structure", "members":{ - "Status":{ - "shape":"SummaryStatus", - "documentation":"

The status.

", - "locationName":"status" - }, "Details":{ "shape":"InstanceStatusDetailsList", "documentation":"

The system instance health or application instance health.

", "locationName":"details" + }, + "Status":{ + "shape":"SummaryStatus", + "documentation":"

The status.

", + "locationName":"status" } }, "documentation":"

Describes the status of an instance.

" @@ -11460,6 +11937,12 @@ "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", + "i3.large", + "i3.xlarge", + "i3.2xlarge", + "i3.4xlarge", + "i3.8xlarge", + "i3.16xlarge", "hi1.4xlarge", "hs1.8xlarge", "c1.medium", @@ -11498,16 +11981,16 @@ "InternetGateway":{ "type":"structure", "members":{ - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, "Attachments":{ "shape":"InternetGatewayAttachmentList", "documentation":"

Any VPCs attached to the Internet gateway.

", "locationName":"attachmentSet" }, + "InternetGatewayId":{ + "shape":"String", + "documentation":"

The ID of the Internet gateway.

", + "locationName":"internetGatewayId" + }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the Internet gateway.

", @@ -11519,15 +12002,15 @@ "InternetGatewayAttachment":{ "type":"structure", "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, "State":{ "shape":"AttachmentStatus", "documentation":"

The current state of the attachment.

", "locationName":"state" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } }, "documentation":"

Describes the attachment of a VPC to an Internet gateway or an egress-only Internet gateway.

" @@ -11549,25 +12032,15 @@ "IpPermission":{ "type":"structure", "members":{ - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers).

[EC2-VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or 58 (ICMPv6) allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For 58 (ICMPv6), you can optionally specify a port range; if you don't, traffic for all types and codes is allowed when authorizing rules.

", - "locationName":"ipProtocol" - }, "FromPort":{ "shape":"Integer", "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types.

", "locationName":"fromPort" }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "documentation":"

One or more security group and AWS account ID pairs.

", - "locationName":"groups" + "IpProtocol":{ + "shape":"String", + "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers).

[EC2-VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or 58 (ICMPv6) allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For 58 (ICMPv6), you can optionally specify a port range; if you don't, traffic for all types and codes is allowed when authorizing rules.

", + "locationName":"ipProtocol" }, "IpRanges":{ "shape":"IpRangeList", @@ -11583,6 +12056,16 @@ "shape":"PrefixListIdList", "documentation":"

(Valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress and DescribeSecurityGroups only) One or more prefix list IDs for an AWS service. In an AuthorizeSecurityGroupEgress request, this is the AWS service that you want to access through a VPC endpoint from instances associated with the security group.

", "locationName":"prefixListIds" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type.

", + "locationName":"toPort" + }, + "UserIdGroupPairs":{ + "shape":"UserIdGroupPairList", + "documentation":"

One or more security group and AWS account ID pairs.

", + "locationName":"groups" } }, "documentation":"

Describes a security group rule.

" @@ -11673,11 +12156,6 @@ "KeyPair":{ "type":"structure", "members":{ - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

", - "locationName":"keyName" - }, "KeyFingerprint":{ "shape":"String", "documentation":"

The SHA-1 digest of the DER encoded private key.

", @@ -11687,6 +12165,11 @@ "shape":"String", "documentation":"

An unencrypted PEM encoded RSA private key.

", "locationName":"keyMaterial" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" } }, "documentation":"

Describes a key pair.

" @@ -11694,15 +12177,15 @@ "KeyPairInfo":{ "type":"structure", "members":{ - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

", - "locationName":"keyName" - }, "KeyFingerprint":{ "shape":"String", "documentation":"

If you used CreateKeyPair to create the key pair, this is the SHA-1 digest of the DER encoded private key. If you used ImportKeyPair to provide AWS the public key, this is the MD5 public key fingerprint as specified in section 4 of RFC4716.

", "locationName":"keyFingerprint" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" } }, "documentation":"

Describes a key pair.

" @@ -11717,15 +12200,15 @@ "LaunchPermission":{ "type":"structure", "members":{ - "UserId":{ - "shape":"String", - "documentation":"

The AWS account ID.

", - "locationName":"userId" - }, "Group":{ "shape":"PermissionGroup", "documentation":"

The name of the group.

", "locationName":"group" + }, + "UserId":{ + "shape":"String", + "documentation":"

The AWS account ID.

", + "locationName":"userId" } }, "documentation":"

Describes a launch permission.

" @@ -11754,75 +12237,75 @@ "LaunchSpecification":{ "type":"structure", "members":{ - "ImageId":{ + "UserData":{ "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

", - "locationName":"keyName" + "documentation":"

The user data to make available to the instances. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", + "locationName":"userData" }, "SecurityGroups":{ "shape":"GroupIdentifierList", "documentation":"

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", "locationName":"groupSet" }, - "UserData":{ - "shape":"String", - "documentation":"

The user data to make available to the instances. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", - "locationName":"userData" - }, "AddressingType":{ "shape":"String", "documentation":"

Deprecated.

", "locationName":"addressingType" }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "documentation":"

The placement information for the instance.

", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappingList", "documentation":"

One or more block device mapping entries.

Although you can specify encrypted EBS volumes in this block device mapping for your Spot Instances, these volumes are not encrypted.

", "locationName":"blockDeviceMapping" }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which to launch the instance.

", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", - "locationName":"networkInterfaceSet" + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", + "locationName":"ebsOptimized" }, "IamInstanceProfile":{ "shape":"IamInstanceProfileSpecification", "documentation":"

The IAM instance profile.

", "locationName":"iamInstanceProfile" }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", - "locationName":"ebsOptimized" + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI.

", + "locationName":"imageId" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "KernelId":{ + "shape":"String", + "documentation":"

The ID of the kernel.

", + "locationName":"kernelId" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" + }, + "NetworkInterfaces":{ + "shape":"InstanceNetworkInterfaceSpecificationList", + "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", + "locationName":"networkInterfaceSet" + }, + "Placement":{ + "shape":"SpotPlacement", + "documentation":"

The placement information for the instance.

", + "locationName":"placement" + }, + "RamdiskId":{ + "shape":"String", + "documentation":"

The ID of the RAM disk.

", + "locationName":"ramdiskId" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet in which to launch the instance.

", + "locationName":"subnetId" }, "Monitoring":{ "shape":"RunInstancesMonitoringEnabled", @@ -11866,19 +12349,19 @@ "ModifyHostsRequest":{ "type":"structure", "required":[ - "HostIds", - "AutoPlacement" + "AutoPlacement", + "HostIds" ], "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "documentation":"

The host IDs of the Dedicated Hosts you want to modify.

", - "locationName":"hostId" - }, "AutoPlacement":{ "shape":"AutoPlacement", "documentation":"

Specify whether to enable or disable auto-placement.

", "locationName":"autoPlacement" + }, + "HostIds":{ + "shape":"RequestHostIdList", + "documentation":"

The host IDs of the Dedicated Hosts you want to modify.

", + "locationName":"hostId" } }, "documentation":"

Contains the parameters for ModifyHosts.

" @@ -11920,11 +12403,16 @@ "ModifyIdentityIdFormatRequest":{ "type":"structure", "required":[ + "PrincipalArn", "Resource", - "UseLongIds", - "PrincipalArn" + "UseLongIds" ], "members":{ + "PrincipalArn":{ + "shape":"String", + "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify all to modify the ID format for all IAM users, IAM roles, and the root user of the account.

", + "locationName":"principalArn" + }, "Resource":{ "shape":"String", "documentation":"

The type of resource: instance | reservation | snapshot | volume

", @@ -11934,11 +12422,6 @@ "shape":"Boolean", "documentation":"

Indicates whether the resource should use longer IDs (17-character IDs)

", "locationName":"useLongIds" - }, - "PrincipalArn":{ - "shape":"String", - "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify all to modify the ID format for all IAM users, IAM roles, and the root user of the account.

", - "locationName":"principalArn" } }, "documentation":"

Contains the parameters of ModifyIdentityIdFormat.

" @@ -11947,49 +12430,49 @@ "type":"structure", "required":["ImageId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Attribute":{ + "shape":"String", + "documentation":"

The name of the attribute to modify.

" + }, + "Description":{ + "shape":"AttributeValue", + "documentation":"

A description for the AMI.

" }, "ImageId":{ "shape":"String", "documentation":"

The ID of the AMI.

" }, - "Attribute":{ - "shape":"String", - "documentation":"

The name of the attribute to modify.

" + "LaunchPermission":{ + "shape":"LaunchPermissionModifications", + "documentation":"

A launch permission modification.

" }, "OperationType":{ "shape":"OperationType", "documentation":"

The operation type.

" }, - "UserIds":{ - "shape":"UserIdStringList", - "documentation":"

One or more AWS account IDs. This is only valid when modifying the launchPermission attribute.

", - "locationName":"UserId" - }, - "UserGroups":{ - "shape":"UserGroupStringList", - "documentation":"

One or more user groups. This is only valid when modifying the launchPermission attribute.

", - "locationName":"UserGroup" - }, "ProductCodes":{ "shape":"ProductCodeStringList", "documentation":"

One or more product codes. After you add a product code to an AMI, it can't be removed. This is only valid when modifying the productCodes attribute.

", "locationName":"ProductCode" }, + "UserGroups":{ + "shape":"UserGroupStringList", + "documentation":"

One or more user groups. This is only valid when modifying the launchPermission attribute.

", + "locationName":"UserGroup" + }, + "UserIds":{ + "shape":"UserIdStringList", + "documentation":"

One or more AWS account IDs. This is only valid when modifying the launchPermission attribute.

", + "locationName":"UserId" + }, "Value":{ "shape":"String", "documentation":"

The value of the attribute being modified. This is only valid when modifying the description attribute.

" }, - "LaunchPermission":{ - "shape":"LaunchPermissionModifications", - "documentation":"

A launch permission modification.

" - }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

A description for the AMI.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for ModifyImageAttribute.

" @@ -11998,40 +12481,55 @@ "type":"structure", "required":["InstanceId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" + "SourceDestCheck":{ + "shape":"AttributeBooleanValue", + "documentation":"

Specifies whether source/destination checking is enabled. A value of true means that checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT.

" }, "Attribute":{ "shape":"InstanceAttributeName", "documentation":"

The name of the attribute.

", "locationName":"attribute" }, - "Value":{ - "shape":"String", - "documentation":"

A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

", - "locationName":"value" - }, "BlockDeviceMappings":{ "shape":"InstanceBlockDeviceMappingSpecificationList", "documentation":"

Modifies the DeleteOnTermination attribute for volumes that are currently attached. The volume must be owned by the caller. If no value is specified for DeleteOnTermination, the default is true and the volume is deleted when the instance is terminated.

To add instance store volumes to an Amazon EBS-backed instance, you must add them when you launch the instance. For more information, see Updating the Block Device Mapping when Launching an Instance in the Amazon Elastic Compute Cloud User Guide.

", "locationName":"blockDeviceMapping" }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specifies whether source/destination checking is enabled. A value of true means that checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT.

" - }, "DisableApiTermination":{ "shape":"AttributeBooleanValue", "documentation":"

If the value is true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use this paramater for Spot Instances.

", "locationName":"disableApiTermination" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EbsOptimized":{ + "shape":"AttributeBooleanValue", + "documentation":"

Specifies whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

", + "locationName":"ebsOptimized" + }, + "EnaSupport":{ + "shape":"AttributeBooleanValue", + "documentation":"

Set to true to enable enhanced networking with ENA for the instance.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", + "locationName":"enaSupport" + }, + "Groups":{ + "shape":"GroupIdStringList", + "documentation":"

[EC2-VPC] Changes the security groups of the instance. You must specify at least one security group, even if it's just the default security group for the VPC. You must specify the security group ID, not the security group name.

", + "locationName":"GroupId" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "InstanceInitiatedShutdownBehavior":{ + "shape":"AttributeValue", + "documentation":"

Specifies whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", + "locationName":"instanceInitiatedShutdownBehavior" + }, "InstanceType":{ "shape":"AttributeValue", "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", @@ -12047,35 +12545,20 @@ "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", "locationName":"ramdisk" }, - "UserData":{ - "shape":"BlobAttributeValue", - "documentation":"

Changes the instance's user data to the specified value. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", - "locationName":"userData" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "documentation":"

Specifies whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "Groups":{ - "shape":"GroupIdStringList", - "documentation":"

[EC2-VPC] Changes the security groups of the instance. You must specify at least one security group, even if it's just the default security group for the VPC. You must specify the security group ID, not the security group name.

", - "locationName":"GroupId" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specifies whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

", - "locationName":"ebsOptimized" - }, "SriovNetSupport":{ "shape":"AttributeValue", "documentation":"

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the instance.

There is no way to disable enhanced networking with the Intel 82599 Virtual Function interface at this time.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", "locationName":"sriovNetSupport" }, - "EnaSupport":{ - "shape":"AttributeBooleanValue", - "documentation":"

Set to true to enable enhanced networking with ENA for the instance.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", - "locationName":"enaSupport" + "UserData":{ + "shape":"BlobAttributeValue", + "documentation":"

Changes the instance's user data to the specified value. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", + "locationName":"userData" + }, + "Value":{ + "shape":"String", + "documentation":"

A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

", + "locationName":"value" } }, "documentation":"

Contains the parameters for ModifyInstanceAttribute.

" @@ -12084,16 +12567,6 @@ "type":"structure", "required":["InstanceId"], "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance that you are modifying.

", - "locationName":"instanceId" - }, - "Tenancy":{ - "shape":"HostTenancy", - "documentation":"

The tenancy of the instance that you are modifying.

", - "locationName":"tenancy" - }, "Affinity":{ "shape":"Affinity", "documentation":"

The new affinity setting for the instance.

", @@ -12103,6 +12576,16 @@ "shape":"String", "documentation":"

The ID of the Dedicated Host that the instance will have affinity with.

", "locationName":"hostId" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance that you are modifying.

", + "locationName":"instanceId" + }, + "Tenancy":{ + "shape":"HostTenancy", + "documentation":"

The tenancy of the instance that you are modifying.

", + "locationName":"tenancy" } }, "documentation":"

Contains the parameters for ModifyInstancePlacement.

" @@ -12122,35 +12605,35 @@ "type":"structure", "required":["NetworkInterfaceId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" + "Attachment":{ + "shape":"NetworkInterfaceAttachmentChanges", + "documentation":"

Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

", + "locationName":"attachment" }, "Description":{ "shape":"AttributeValue", "documentation":"

A description for the network interface.

", "locationName":"description" }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether source/destination checking is enabled. A value of true means checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", - "locationName":"sourceDestCheck" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" }, "Groups":{ "shape":"SecurityGroupIdStringList", "documentation":"

Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

", "locationName":"SecurityGroupId" }, - "Attachment":{ - "shape":"NetworkInterfaceAttachmentChanges", - "documentation":"

Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

", - "locationName":"attachment" + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "SourceDestCheck":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether source/destination checking is enabled. A value of true means checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", + "locationName":"sourceDestCheck" } }, "documentation":"

Contains the parameters for ModifyNetworkInterfaceAttribute.

" @@ -12162,16 +12645,16 @@ "TargetConfigurations" ], "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - }, "ReservedInstancesIds":{ "shape":"ReservedInstancesIdStringList", "documentation":"

The IDs of the Reserved Instances to modify.

", "locationName":"ReservedInstancesId" }, + "ClientToken":{ + "shape":"String", + "documentation":"

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", + "locationName":"clientToken" + }, "TargetConfigurations":{ "shape":"ReservedInstancesConfigurationList", "documentation":"

The configuration settings for the Reserved Instances to modify.

", @@ -12195,36 +12678,36 @@ "type":"structure", "required":["SnapshotId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

" - }, "Attribute":{ "shape":"SnapshotAttributeName", "documentation":"

The snapshot attribute to modify.

Only volume creation permissions may be modified at the customer level.

" }, - "OperationType":{ - "shape":"OperationType", - "documentation":"

The type of operation to perform to the attribute.

" - }, - "UserIds":{ - "shape":"UserIdStringList", - "documentation":"

The account ID to modify for the snapshot.

", - "locationName":"UserId" + "CreateVolumePermission":{ + "shape":"CreateVolumePermissionModifications", + "documentation":"

A JSON representation of the snapshot attribute modification.

" }, "GroupNames":{ "shape":"GroupNameStringList", "documentation":"

The group to modify for the snapshot.

", "locationName":"UserGroup" }, - "CreateVolumePermission":{ - "shape":"CreateVolumePermissionModifications", - "documentation":"

A JSON representation of the snapshot attribute modification.

" + "OperationType":{ + "shape":"OperationType", + "documentation":"

The type of operation to perform to the attribute.

" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the snapshot.

" + }, + "UserIds":{ + "shape":"UserIdStringList", + "documentation":"

The account ID to modify for the snapshot.

", + "locationName":"UserId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for ModifySnapshotAttribute.

" @@ -12233,6 +12716,11 @@ "type":"structure", "required":["SpotFleetRequestId"], "members":{ + "ExcessCapacityTerminationPolicy":{ + "shape":"ExcessCapacityTerminationPolicy", + "documentation":"

Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.

", + "locationName":"excessCapacityTerminationPolicy" + }, "SpotFleetRequestId":{ "shape":"String", "documentation":"

The ID of the Spot fleet request.

", @@ -12242,11 +12730,6 @@ "shape":"Integer", "documentation":"

The size of the fleet.

", "locationName":"targetCapacity" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"ExcessCapacityTerminationPolicy", - "documentation":"

Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.

", - "locationName":"excessCapacityTerminationPolicy" } }, "documentation":"

Contains the parameters for ModifySpotFleetRequest.

" @@ -12266,18 +12749,18 @@ "type":"structure", "required":["SubnetId"], "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" + "AssignIpv6AddressOnCreation":{ + "shape":"AttributeBooleanValue", + "documentation":"

Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. This includes a network interface that's created when launching an instance into the subnet (the instance therefore receives an IPv6 address).

If you enable the IPv6 addressing feature for your subnet, your network interface or instance only receives an IPv6 address if it's created using version 2016-11-15 or later of the Amazon EC2 API.

" }, "MapPublicIpOnLaunch":{ "shape":"AttributeBooleanValue", "documentation":"

Specify true to indicate that network interfaces created in the specified subnet should be assigned a public IPv4 address. This includes a network interface that's created when launching an instance into the subnet (the instance therefore receives a public IPv4 address).

" }, - "AssignIpv6AddressOnCreation":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. This includes a network interface that's created when launching an instance into the subnet (the instance therefore receives an IPv6 address).

If you enable the IPv6 addressing feature for your subnet, your network interface or instance only receives an IPv6 address if it's created using version 2016-11-15 or later of the Amazon EC2 API.

" + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" } }, "documentation":"

Contains the parameters for ModifySubnetAttribute.

" @@ -12286,38 +12769,71 @@ "type":"structure", "required":["VolumeId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "AutoEnableIO":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether the volume should be auto-enabled for I/O operations.

" }, "VolumeId":{ "shape":"String", "documentation":"

The ID of the volume.

" }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the volume should be auto-enabled for I/O operations.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for ModifyVolumeAttribute.

" }, + "ModifyVolumeRequest":{ + "type":"structure", + "required":["VolumeId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "VolumeId":{"shape":"String"}, + "Size":{ + "shape":"Integer", + "documentation":"

Target size in GiB of the volume to be modified. Target volume size must be greater than or equal to than the existing size of the volume. For information about available EBS volume sizes, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html.

Default: If no size is specified, the existing size is retained.

" + }, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

Target EBS volume type of the volume to be modified

The API does not support modifications for volume type standard. You also cannot change the type of a volume to standard.

Default: If no type is specified, the existing type is retained.

" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

Target IOPS rate of the volume to be modified.

Only valid for Provisioned IOPS SSD (io1) volumes. For more information about io1 IOPS configuration, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops.

Default: If no IOPS value is specified, the existing value is retained.

" + } + } + }, + "ModifyVolumeResult":{ + "type":"structure", + "members":{ + "VolumeModification":{ + "shape":"VolumeModification", + "documentation":"

A VolumeModification object.

", + "locationName":"volumeModification" + } + } + }, "ModifyVpcAttributeRequest":{ "type":"structure", "required":["VpcId"], "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" + "EnableDnsHostnames":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

" }, "EnableDnsSupport":{ "shape":"AttributeBooleanValue", "documentation":"

Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" will succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

" }, - "EnableDnsHostnames":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

" + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } }, "documentation":"

Contains the parameters for ModifyVpcAttribute.

" @@ -12326,31 +12842,31 @@ "type":"structure", "required":["VpcEndpointId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the endpoint.

" - }, - "ResetPolicy":{ - "shape":"Boolean", - "documentation":"

Specify true to reset the policy document to the default policy. The default policy allows access to the service.

" - }, - "PolicyDocument":{ - "shape":"String", - "documentation":"

A policy document to attach to the endpoint. The policy must be in valid JSON format.

" - }, "AddRouteTableIds":{ "shape":"ValueStringList", "documentation":"

One or more route tables IDs to associate with the endpoint.

", "locationName":"AddRouteTableId" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "PolicyDocument":{ + "shape":"String", + "documentation":"

A policy document to attach to the endpoint. The policy must be in valid JSON format.

" + }, "RemoveRouteTableIds":{ "shape":"ValueStringList", "documentation":"

One or more route table IDs to disassociate from the endpoint.

", "locationName":"RemoveRouteTableId" + }, + "ResetPolicy":{ + "shape":"Boolean", + "documentation":"

Specify true to reset the policy document to the default policy. The default policy allows access to the service.

" + }, + "VpcEndpointId":{ + "shape":"String", + "documentation":"

The ID of the endpoint.

" } }, "documentation":"

Contains the parameters for ModifyVpcEndpoint.

" @@ -12370,36 +12886,36 @@ "type":"structure", "required":["VpcPeeringConnectionId"], "members":{ + "AccepterPeeringConnectionOptions":{ + "shape":"PeeringConnectionOptionsRequest", + "documentation":"

The VPC peering connection options for the accepter VPC.

" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

" - }, "RequesterPeeringConnectionOptions":{ "shape":"PeeringConnectionOptionsRequest", "documentation":"

The VPC peering connection options for the requester VPC.

" }, - "AccepterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptionsRequest", - "documentation":"

The VPC peering connection options for the accepter VPC.

" + "VpcPeeringConnectionId":{ + "shape":"String", + "documentation":"

The ID of the VPC peering connection.

" } } }, "ModifyVpcPeeringConnectionOptionsResult":{ "type":"structure", "members":{ - "RequesterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptions", - "documentation":"

Information about the VPC peering connection options for the requester VPC.

", - "locationName":"requesterPeeringConnectionOptions" - }, "AccepterPeeringConnectionOptions":{ "shape":"PeeringConnectionOptions", "documentation":"

Information about the VPC peering connection options for the accepter VPC.

", "locationName":"accepterPeeringConnectionOptions" + }, + "RequesterPeeringConnectionOptions":{ + "shape":"PeeringConnectionOptions", + "documentation":"

Information about the VPC peering connection options for the requester VPC.

", + "locationName":"requesterPeeringConnectionOptions" } } }, @@ -12407,15 +12923,15 @@ "type":"structure", "required":["InstanceIds"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "InstanceIds":{ "shape":"InstanceIdStringList", "documentation":"

One or more instance IDs.

", "locationName":"InstanceId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for MonitorInstances.

" @@ -12494,15 +13010,15 @@ "MovingAddressStatus":{ "type":"structure", "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, "MoveStatus":{ "shape":"MoveStatus", "documentation":"

The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

", "locationName":"moveStatus" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The Elastic IP address.

", + "locationName":"publicIp" } }, "documentation":"

Describes the status of a moving Elastic IP address.

" @@ -12517,21 +13033,6 @@ "NatGateway":{ "type":"structure", "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC in which the NAT gateway is located.

", - "locationName":"vpcId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which the NAT gateway is located.

", - "locationName":"subnetId" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of the NAT gateway.

", - "locationName":"natGatewayId" - }, "CreateTime":{ "shape":"DateTime", "documentation":"

The date and time the NAT gateway was created.

", @@ -12542,16 +13043,6 @@ "documentation":"

The date and time the NAT gateway was deleted, if applicable.

", "locationName":"deleteTime" }, - "NatGatewayAddresses":{ - "shape":"NatGatewayAddressList", - "documentation":"

Information about the IP addresses and network interface associated with the NAT gateway.

", - "locationName":"natGatewayAddressSet" - }, - "State":{ - "shape":"NatGatewayState", - "documentation":"

The state of the NAT gateway.

  • pending: The NAT gateway is being created and is not ready to process traffic.

  • failed: The NAT gateway could not be created. Check the failureCode and failureMessage fields for the reason.

  • available: The NAT gateway is able to process traffic. This status remains until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

  • deleting: The NAT gateway is in the process of being terminated and may still be processing traffic.

  • deleted: The NAT gateway has been terminated and is no longer processing traffic.

", - "locationName":"state" - }, "FailureCode":{ "shape":"String", "documentation":"

If the NAT gateway could not be created, specifies the error code for the failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)

", @@ -12562,10 +13053,35 @@ "documentation":"

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

  • For InsufficientFreeAddressesInSubnet: \"Subnet has insufficient free addresses to create this NAT gateway\"

  • For Gateway.NotAttached: \"Network vpc-xxxxxxxx has no Internet gateway attached\"

  • For InvalidAllocationID.NotFound: \"Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway\"

  • For Resource.AlreadyAssociated: \"Elastic IP address eipalloc-xxxxxxxx is already associated\"

  • For InternalError: \"Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again.\"

  • For InvalidSubnetID.NotFound: \"The specified subnet subnet-xxxxxxxx does not exist or could not be found.\"

", "locationName":"failureMessage" }, + "NatGatewayAddresses":{ + "shape":"NatGatewayAddressList", + "documentation":"

Information about the IP addresses and network interface associated with the NAT gateway.

", + "locationName":"natGatewayAddressSet" + }, + "NatGatewayId":{ + "shape":"String", + "documentation":"

The ID of the NAT gateway.

", + "locationName":"natGatewayId" + }, "ProvisionedBandwidth":{ "shape":"ProvisionedBandwidth", "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", "locationName":"provisionedBandwidth" + }, + "State":{ + "shape":"NatGatewayState", + "documentation":"

The state of the NAT gateway.

  • pending: The NAT gateway is being created and is not ready to process traffic.

  • failed: The NAT gateway could not be created. Check the failureCode and failureMessage fields for the reason.

  • available: The NAT gateway is able to process traffic. This status remains until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

  • deleting: The NAT gateway is in the process of being terminated and may still be processing traffic.

  • deleted: The NAT gateway has been terminated and is no longer processing traffic.

", + "locationName":"state" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet in which the NAT gateway is located.

", + "locationName":"subnetId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC in which the NAT gateway is located.

", + "locationName":"vpcId" } }, "documentation":"

Describes a NAT gateway.

" @@ -12573,25 +13089,25 @@ "NatGatewayAddress":{ "type":"structure", "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address associated with the NAT gateway.

", - "locationName":"publicIp" - }, "AllocationId":{ "shape":"String", "documentation":"

The allocation ID of the Elastic IP address that's associated with the NAT gateway.

", "locationName":"allocationId" }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface associated with the NAT gateway.

", + "locationName":"networkInterfaceId" + }, "PrivateIp":{ "shape":"String", "documentation":"

The private IP address associated with the Elastic IP address.

", "locationName":"privateIp" }, - "NetworkInterfaceId":{ + "PublicIp":{ "shape":"String", - "documentation":"

The ID of the network interface associated with the NAT gateway.

", - "locationName":"networkInterfaceId" + "documentation":"

The Elastic IP address associated with the NAT gateway.

", + "locationName":"publicIp" } }, "documentation":"

Describes the IP addresses and network interface associated with a NAT gateway.

" @@ -12623,35 +13139,35 @@ "NetworkAcl":{ "type":"structure", "members":{ - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC for the network ACL.

", - "locationName":"vpcId" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the default network ACL for the VPC.

", - "locationName":"default" + "Associations":{ + "shape":"NetworkAclAssociationList", + "documentation":"

Any associations between the network ACL and one or more subnets

", + "locationName":"associationSet" }, "Entries":{ "shape":"NetworkAclEntryList", "documentation":"

One or more entries (rules) in the network ACL.

", "locationName":"entrySet" }, - "Associations":{ - "shape":"NetworkAclAssociationList", - "documentation":"

Any associations between the network ACL and one or more subnets

", - "locationName":"associationSet" + "IsDefault":{ + "shape":"Boolean", + "documentation":"

Indicates whether this is the default network ACL for the VPC.

", + "locationName":"default" + }, + "NetworkAclId":{ + "shape":"String", + "documentation":"

The ID of the network ACL.

", + "locationName":"networkAclId" }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the network ACL.

", "locationName":"tagSet" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC for the network ACL.

", + "locationName":"vpcId" } }, "documentation":"

Describes a network ACL.

" @@ -12687,10 +13203,30 @@ "NetworkAclEntry":{ "type":"structure", "members":{ - "RuleNumber":{ - "shape":"Integer", - "documentation":"

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", - "locationName":"ruleNumber" + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 network range to allow or deny, in CIDR notation.

", + "locationName":"cidrBlock" + }, + "Egress":{ + "shape":"Boolean", + "documentation":"

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

", + "locationName":"egress" + }, + "IcmpTypeCode":{ + "shape":"IcmpTypeCode", + "documentation":"

ICMP protocol: The ICMP type and code.

", + "locationName":"icmpTypeCode" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 network range to allow or deny, in CIDR notation.

", + "locationName":"ipv6CidrBlock" + }, + "PortRange":{ + "shape":"PortRange", + "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", + "locationName":"portRange" }, "Protocol":{ "shape":"String", @@ -12702,30 +13238,10 @@ "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", "locationName":"ruleAction" }, - "Egress":{ - "shape":"Boolean", - "documentation":"

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "Ipv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 network range to allow or deny, in CIDR notation.

", - "locationName":"ipv6CidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code.

", - "locationName":"icmpTypeCode" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", + "locationName":"ruleNumber" } }, "documentation":"

Describes an entry in a network ACL.

" @@ -12747,20 +13263,15 @@ "NetworkInterface":{ "type":"structure", "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" + "Association":{ + "shape":"NetworkInterfaceAssociation", + "documentation":"

The association information for an Elastic IP address (IPv4) associated with the network interface.

", + "locationName":"association" }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" + "Attachment":{ + "shape":"NetworkInterfaceAttachment", + "documentation":"

The network interface attachment.

", + "locationName":"attachment" }, "AvailabilityZone":{ "shape":"String", @@ -12772,11 +13283,51 @@ "documentation":"

A description.

", "locationName":"description" }, + "Groups":{ + "shape":"GroupIdentifierList", + "documentation":"

Any security groups for the network interface.

", + "locationName":"groupSet" + }, + "InterfaceType":{ + "shape":"NetworkInterfaceType", + "documentation":"

The type of interface.

", + "locationName":"interfaceType" + }, + "Ipv6Addresses":{ + "shape":"NetworkInterfaceIpv6AddressesList", + "documentation":"

The IPv6 addresses associated with the network interface.

", + "locationName":"ipv6AddressesSet" + }, + "MacAddress":{ + "shape":"String", + "documentation":"

The MAC address.

", + "locationName":"macAddress" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, "OwnerId":{ "shape":"String", "documentation":"

The AWS account ID of the owner of the network interface.

", "locationName":"ownerId" }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The IPv4 address of the network interface within the subnet.

", + "locationName":"privateIpAddress" + }, + "PrivateIpAddresses":{ + "shape":"NetworkInterfacePrivateIpAddressList", + "documentation":"

The private IPv4 addresses associated with the network interface.

", + "locationName":"privateIpAddressesSet" + }, "RequesterId":{ "shape":"String", "documentation":"

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", @@ -12787,65 +13338,30 @@ "documentation":"

Indicates whether the network interface is being managed by AWS.

", "locationName":"requesterManaged" }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "documentation":"

The status of the network interface.

", - "locationName":"status" - }, - "MacAddress":{ - "shape":"String", - "documentation":"

The MAC address.

", - "locationName":"macAddress" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IPv4 address of the network interface within the subnet.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, "SourceDestCheck":{ "shape":"Boolean", "documentation":"

Indicates whether traffic to or from the instance is validated.

", "locationName":"sourceDestCheck" }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

Any security groups for the network interface.

", - "locationName":"groupSet" + "Status":{ + "shape":"NetworkInterfaceStatus", + "documentation":"

The status of the network interface.

", + "locationName":"status" }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address (IPv4) associated with the network interface.

", - "locationName":"association" + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" }, "TagSet":{ "shape":"TagList", "documentation":"

Any tags assigned to the network interface.

", "locationName":"tagSet" }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "documentation":"

The private IPv4 addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - }, - "Ipv6Addresses":{ - "shape":"NetworkInterfaceIpv6AddressesList", - "documentation":"

The IPv6 addresses associated with the network interface.

", - "locationName":"ipv6AddressesSet" - }, - "InterfaceType":{ - "shape":"NetworkInterfaceType", - "documentation":"

The type of interface.

", - "locationName":"interfaceType" + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } }, "documentation":"

Describes a network interface.

" @@ -12853,21 +13369,6 @@ "NetworkInterfaceAssociation":{ "type":"structure", "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The address of the Elastic IP address bound to the network interface.

", - "locationName":"publicIp" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

The public DNS name.

", - "locationName":"publicDnsName" - }, - "IpOwnerId":{ - "shape":"String", - "documentation":"

The ID of the Elastic IP address owner.

", - "locationName":"ipOwnerId" - }, "AllocationId":{ "shape":"String", "documentation":"

The allocation ID.

", @@ -12877,6 +13378,21 @@ "shape":"String", "documentation":"

The association ID.

", "locationName":"associationId" + }, + "IpOwnerId":{ + "shape":"String", + "documentation":"

The ID of the Elastic IP address owner.

", + "locationName":"ipOwnerId" + }, + "PublicDnsName":{ + "shape":"String", + "documentation":"

The public DNS name.

", + "locationName":"publicDnsName" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The address of the Elastic IP address bound to the network interface.

", + "locationName":"publicIp" } }, "documentation":"

Describes association information for an Elastic IP address (IPv4 only).

" @@ -12884,11 +13400,26 @@ "NetworkInterfaceAttachment":{ "type":"structure", "members":{ + "AttachTime":{ + "shape":"DateTime", + "documentation":"

The timestamp indicating when the attachment initiated.

", + "locationName":"attachTime" + }, "AttachmentId":{ "shape":"String", "documentation":"

The ID of the network interface attachment.

", "locationName":"attachmentId" }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", + "locationName":"deleteOnTermination" + }, + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

The device index of the network interface attachment on the instance.

", + "locationName":"deviceIndex" + }, "InstanceId":{ "shape":"String", "documentation":"

The ID of the instance.

", @@ -12899,25 +13430,10 @@ "documentation":"

The AWS account ID of the owner of the instance.

", "locationName":"instanceOwnerId" }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The device index of the network interface attachment on the instance.

", - "locationName":"deviceIndex" - }, "Status":{ "shape":"AttachmentStatus", "documentation":"

The attachment state.

", "locationName":"status" - }, - "AttachTime":{ - "shape":"DateTime", - "documentation":"

The timestamp indicating when the attachment initiated.

", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", - "locationName":"deleteOnTermination" } }, "documentation":"

Describes a network interface attachment.

" @@ -12982,25 +13498,25 @@ "NetworkInterfacePrivateIpAddress":{ "type":"structure", "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IPv4 address.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" + "Association":{ + "shape":"NetworkInterfaceAssociation", + "documentation":"

The association information for an Elastic IP address (IPv4) associated with the network interface.

", + "locationName":"association" }, "Primary":{ "shape":"Boolean", "documentation":"

Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

", "locationName":"primary" }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address (IPv4) associated with the network interface.

", - "locationName":"association" + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IPv4 address.

", + "locationName":"privateIpAddress" } }, "documentation":"

Describes the private IPv4 address of a network interface.

" @@ -13107,9 +13623,36 @@ "NoUpfront" ] }, + "PciId":{ + "type":"structure", + "members":{ + "DeviceId":{ + "shape":"String", + "documentation":"

The ID of the device.

" + }, + "VendorId":{ + "shape":"String", + "documentation":"

The ID of the vendor.

" + }, + "SubsystemId":{ + "shape":"String", + "documentation":"

The ID of the subsystem.

" + }, + "SubsystemVendorId":{ + "shape":"String", + "documentation":"

The ID of the vendor for the subsystem.

" + } + }, + "documentation":"

Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

" + }, "PeeringConnectionOptions":{ "type":"structure", "members":{ + "AllowDnsResolutionFromRemoteVpc":{ + "shape":"Boolean", + "documentation":"

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

", + "locationName":"allowDnsResolutionFromRemoteVpc" + }, "AllowEgressFromLocalClassicLinkToRemoteVpc":{ "shape":"Boolean", "documentation":"

If true, enables outbound communication from an EC2-Classic instance that's linked to a local VPC via ClassicLink to instances in a peer VPC.

", @@ -13119,11 +13662,6 @@ "shape":"Boolean", "documentation":"

If true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that's linked to a peer VPC via ClassicLink.

", "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - }, - "AllowDnsResolutionFromRemoteVpc":{ - "shape":"Boolean", - "documentation":"

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

", - "locationName":"allowDnsResolutionFromRemoteVpc" } }, "documentation":"

Describes the VPC peering connection options.

" @@ -13131,6 +13669,10 @@ "PeeringConnectionOptionsRequest":{ "type":"structure", "members":{ + "AllowDnsResolutionFromRemoteVpc":{ + "shape":"Boolean", + "documentation":"

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

" + }, "AllowEgressFromLocalClassicLinkToRemoteVpc":{ "shape":"Boolean", "documentation":"

If true, enables outbound communication from an EC2-Classic instance that's linked to a local VPC via ClassicLink to instances in a peer VPC.

" @@ -13138,10 +13680,6 @@ "AllowEgressFromLocalVpcToRemoteClassicLink":{ "shape":"Boolean", "documentation":"

If true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that's linked to a peer VPC via ClassicLink.

" - }, - "AllowDnsResolutionFromRemoteVpc":{ - "shape":"Boolean", - "documentation":"

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

" } }, "documentation":"

The VPC peering connection options.

" @@ -13158,25 +13696,30 @@ "documentation":"

The Availability Zone of the instance.

", "locationName":"availabilityZone" }, + "Affinity":{ + "shape":"String", + "documentation":"

The affinity setting for the instance on the Dedicated Host. This parameter is not supported for the ImportInstance command.

", + "locationName":"affinity" + }, "GroupName":{ "shape":"String", "documentation":"

The name of the placement group the instance is in (for cluster compute instances).

", "locationName":"groupName" }, - "Tenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the ImportInstance command.

", - "locationName":"tenancy" - }, "HostId":{ "shape":"String", "documentation":"

The ID of the Dedicated Host on which the instance resides. This parameter is not supported for the ImportInstance command.

", "locationName":"hostId" }, - "Affinity":{ + "Tenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the ImportInstance command.

", + "locationName":"tenancy" + }, + "SpreadDomain":{ "shape":"String", - "documentation":"

The affinity setting for the instance on the Dedicated Host. This parameter is not supported for the ImportInstance command.

", - "locationName":"affinity" + "documentation":"

Reserved for future use.

", + "locationName":"spreadDomain" } }, "documentation":"

Describes the placement of an instance.

" @@ -13189,15 +13732,15 @@ "documentation":"

The name of the placement group.

", "locationName":"groupName" }, - "Strategy":{ - "shape":"PlacementStrategy", - "documentation":"

The placement strategy.

", - "locationName":"strategy" - }, "State":{ "shape":"PlacementGroupState", "documentation":"

The state of the placement group.

", "locationName":"state" + }, + "Strategy":{ + "shape":"PlacementStrategy", + "documentation":"

The placement strategy.

", + "locationName":"strategy" } }, "documentation":"

Describes a placement group.

" @@ -13249,6 +13792,11 @@ "PrefixList":{ "type":"structure", "members":{ + "Cidrs":{ + "shape":"ValueStringList", + "documentation":"

The IP address range of the AWS service.

", + "locationName":"cidrSet" + }, "PrefixListId":{ "shape":"String", "documentation":"

The ID of the prefix.

", @@ -13258,11 +13806,6 @@ "shape":"String", "documentation":"

The name of the prefix.

", "locationName":"prefixListName" - }, - "Cidrs":{ - "shape":"ValueStringList", - "documentation":"

The IP address range of the AWS service.

", - "locationName":"cidrSet" } }, "documentation":"

Describes prefixes for AWS services.

" @@ -13302,25 +13845,25 @@ "PriceSchedule":{ "type":"structure", "members":{ - "Term":{ - "shape":"Long", - "documentation":"

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "locationName":"term" - }, - "Price":{ - "shape":"Double", - "documentation":"

The fixed price for the term.

", - "locationName":"price" + "Active":{ + "shape":"Boolean", + "documentation":"

The current price schedule, as determined by the term remaining for the Reserved Instance in the listing.

A specific price schedule is always in effect, but only one price schedule can be active at any time. Take, for example, a Reserved Instance listing that has five months remaining in its term. When you specify price schedules for five months and two months, this means that schedule 1, covering the first three months of the remaining term, will be active during months 5, 4, and 3. Then schedule 2, covering the last two months of the term, will be active for months 2 and 1.

", + "locationName":"active" }, "CurrencyCode":{ "shape":"CurrencyCodeValues", "documentation":"

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", "locationName":"currencyCode" }, - "Active":{ - "shape":"Boolean", - "documentation":"

The current price schedule, as determined by the term remaining for the Reserved Instance in the listing.

A specific price schedule is always in effect, but only one price schedule can be active at any time. Take, for example, a Reserved Instance listing that has five months remaining in its term. When you specify price schedules for five months and two months, this means that schedule 1, covering the first three months of the remaining term, will be active during months 5, 4, and 3. Then schedule 2, covering the last two months of the term, will be active for months 2 and 1.

", - "locationName":"active" + "Price":{ + "shape":"Double", + "documentation":"

The fixed price for the term.

", + "locationName":"price" + }, + "Term":{ + "shape":"Long", + "documentation":"

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", + "locationName":"term" } }, "documentation":"

Describes the price for a Reserved Instance.

" @@ -13335,20 +13878,20 @@ "PriceScheduleSpecification":{ "type":"structure", "members":{ - "Term":{ - "shape":"Long", - "documentation":"

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "locationName":"term" + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" }, "Price":{ "shape":"Double", "documentation":"

The fixed price for the term.

", "locationName":"price" }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" + "Term":{ + "shape":"Long", + "documentation":"

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", + "locationName":"term" } }, "documentation":"

Describes the price for a Reserved Instance.

" @@ -13363,15 +13906,15 @@ "PricingDetail":{ "type":"structure", "members":{ - "Price":{ - "shape":"Double", - "documentation":"

The price per instance.

", - "locationName":"price" - }, "Count":{ "shape":"Integer", "documentation":"

The number of reservations available for the price.

", "locationName":"count" + }, + "Price":{ + "shape":"Double", + "documentation":"

The price per instance.

", + "locationName":"price" } }, "documentation":"

Describes a Reserved Instance offering.

" @@ -13394,15 +13937,15 @@ "type":"structure", "required":["PrivateIpAddress"], "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IPv4 addresses.

", - "locationName":"privateIpAddress" - }, "Primary":{ "shape":"Boolean", "documentation":"

Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.

", "locationName":"primary" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IPv4 addresses.

", + "locationName":"privateIpAddress" } }, "documentation":"

Describes a secondary private IPv4 address for a network interface.

" @@ -13483,25 +14026,25 @@ "ProvisionedBandwidth":{ "type":"structure", "members":{ + "ProvisionTime":{ + "shape":"DateTime", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "locationName":"provisionTime" + }, "Provisioned":{ "shape":"String", "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", "locationName":"provisioned" }, - "Requested":{ - "shape":"String", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"requested" - }, "RequestTime":{ "shape":"DateTime", "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", "locationName":"requestTime" }, - "ProvisionTime":{ - "shape":"DateTime", + "Requested":{ + "shape":"String", "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"provisionTime" + "locationName":"requested" }, "Status":{ "shape":"String", @@ -13521,16 +14064,31 @@ "Purchase":{ "type":"structure", "members":{ - "HostReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"hostReservationId" + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency in which the UpfrontPrice and HourlyPrice amounts are specified. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + }, + "Duration":{ + "shape":"Integer", + "documentation":"

The duration of the reservation's term in seconds.

", + "locationName":"duration" }, "HostIdSet":{ "shape":"ResponseHostIdSet", "documentation":"

The IDs of the Dedicated Hosts associated with the reservation.

", "locationName":"hostIdSet" }, + "HostReservationId":{ + "shape":"String", + "documentation":"

The ID of the reservation.

", + "locationName":"hostReservationId" + }, + "HourlyPrice":{ + "shape":"String", + "documentation":"

The hourly price of the reservation per hour.

", + "locationName":"hourlyPrice" + }, "InstanceFamily":{ "shape":"String", "documentation":"

The instance family on the Dedicated Host that the reservation can be associated with.

", @@ -13545,21 +14103,6 @@ "shape":"String", "documentation":"

The upfront price of the reservation.

", "locationName":"upfrontPrice" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price of the reservation per hour.

", - "locationName":"hourlyPrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the UpfrontPrice and HourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the reservation's term in seconds.

", - "locationName":"duration" } }, "documentation":"

Describes the result of the purchase.

" @@ -13567,13 +14110,17 @@ "PurchaseHostReservationRequest":{ "type":"structure", "required":[ - "OfferingId", - "HostIdSet" + "HostIdSet", + "OfferingId" ], "members":{ - "OfferingId":{ + "ClientToken":{ "shape":"String", - "documentation":"

The ID of the offering.

" + "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

" }, "HostIdSet":{ "shape":"RequestHostIdSet", @@ -13583,60 +14130,56 @@ "shape":"String", "documentation":"

The specified limit is checked against the total upfront cost of the reservation (calculated as the offering's upfront cost multiplied by the host count). If the total upfront cost is greater than the specified price limit, the request will fail. This is used to ensure that the purchase does not exceed the expected upfront cost of the purchase. At this time, the only supported currency is USD. For example, to indicate a limit price of USD 100, specify 100.00.

" }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

" - }, - "ClientToken":{ + "OfferingId":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of the offering.

" } } }, "PurchaseHostReservationResult":{ "type":"structure", "members":{ - "Purchase":{ - "shape":"PurchaseSet", - "documentation":"

Describes the details of the purchase.

", - "locationName":"purchase" - }, - "TotalUpfrontPrice":{ + "ClientToken":{ "shape":"String", - "documentation":"

The total amount that will be charged to your account when you purchase the reservation.

", - "locationName":"totalUpfrontPrice" - }, - "TotalHourlyPrice":{ - "shape":"String", - "documentation":"

The total hourly price of the reservation calculated per hour.

", - "locationName":"totalHourlyPrice" + "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide

", + "locationName":"clientToken" }, "CurrencyCode":{ "shape":"CurrencyCodeValues", "documentation":"

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", "locationName":"currencyCode" }, - "ClientToken":{ + "Purchase":{ + "shape":"PurchaseSet", + "documentation":"

Describes the details of the purchase.

", + "locationName":"purchase" + }, + "TotalHourlyPrice":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide

", - "locationName":"clientToken" + "documentation":"

The total hourly price of the reservation calculated per hour.

", + "locationName":"totalHourlyPrice" + }, + "TotalUpfrontPrice":{ + "shape":"String", + "documentation":"

The total amount that will be charged to your account when you purchase the reservation.

", + "locationName":"totalUpfrontPrice" } } }, "PurchaseRequest":{ "type":"structure", "required":[ - "PurchaseToken", - "InstanceCount" + "InstanceCount", + "PurchaseToken" ], "members":{ - "PurchaseToken":{ - "shape":"String", - "documentation":"

The purchase token.

" - }, "InstanceCount":{ "shape":"Integer", "documentation":"

The number of instances.

" + }, + "PurchaseToken":{ + "shape":"String", + "documentation":"

The purchase token.

" } }, "documentation":"

Describes a request to purchase Scheduled Instances.

" @@ -13652,22 +14195,22 @@ "PurchaseReservedInstancesOfferingRequest":{ "type":"structure", "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" + "InstanceCount", + "ReservedInstancesOfferingId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of Reserved Instances to purchase.

" }, "ReservedInstancesOfferingId":{ "shape":"String", "documentation":"

The ID of the Reserved Instance offering to purchase.

" }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances to purchase.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" }, "LimitPrice":{ "shape":"ReservedInstanceLimitPrice", @@ -13692,15 +14235,15 @@ "type":"structure", "required":["PurchaseRequests"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, "ClientToken":{ "shape":"String", "documentation":"

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", "idempotencyToken":true }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, "PurchaseRequests":{ "shape":"PurchaseRequestSet", "documentation":"

One or more purchase requests.

", @@ -13751,15 +14294,15 @@ "type":"structure", "required":["InstanceIds"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "InstanceIds":{ "shape":"InstanceIdStringList", "documentation":"

One or more instance IDs.

", "locationName":"InstanceId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for RebootInstances.

" @@ -13767,15 +14310,15 @@ "RecurringCharge":{ "type":"structure", "members":{ - "Frequency":{ - "shape":"RecurringChargeFrequency", - "documentation":"

The frequency of the recurring charge.

", - "locationName":"frequency" - }, "Amount":{ "shape":"Double", "documentation":"

The amount of the recurring charge.

", "locationName":"amount" + }, + "Frequency":{ + "shape":"RecurringChargeFrequency", + "documentation":"

The frequency of the recurring charge.

", + "locationName":"frequency" } }, "documentation":"

Describes a recurring charge.

" @@ -13794,15 +14337,15 @@ "Region":{ "type":"structure", "members":{ - "RegionName":{ - "shape":"String", - "documentation":"

The name of the region.

", - "locationName":"regionName" - }, "Endpoint":{ "shape":"String", "documentation":"

The region service endpoint.

", "locationName":"regionEndpoint" + }, + "RegionName":{ + "shape":"String", + "documentation":"

The name of the region.

", + "locationName":"regionName" } }, "documentation":"

Describes a region.

" @@ -13825,35 +14368,50 @@ "type":"structure", "required":["Name"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "ImageLocation":{ "shape":"String", "documentation":"

The full path to your AMI manifest in Amazon S3 storage.

" }, - "Name":{ - "shape":"String", - "documentation":"

A name for your AMI.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for your AMI.

", - "locationName":"description" - }, "Architecture":{ "shape":"ArchitectureValues", "documentation":"

The architecture of the AMI.

Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture specified in the manifest file.

", "locationName":"architecture" }, + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingRequestList", + "documentation":"

One or more block device mapping entries.

", + "locationName":"BlockDeviceMapping" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for your AMI.

", + "locationName":"description" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EnaSupport":{ + "shape":"Boolean", + "documentation":"

Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

", + "locationName":"enaSupport" + }, "KernelId":{ "shape":"String", "documentation":"

The ID of the kernel.

", "locationName":"kernelId" }, + "Name":{ + "shape":"String", + "documentation":"

A name for your AMI.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", + "locationName":"name" + }, + "BillingProducts":{ + "shape":"BillingProductList", + "documentation":"

The billing product codes. Your account must be authorized to specify billing product codes. Otherwise, you can use the AWS Marketplace to bill for the use of an AMI.

", + "locationName":"BillingProduct" + }, "RamdiskId":{ "shape":"String", "documentation":"

The ID of the RAM disk.

", @@ -13864,25 +14422,15 @@ "documentation":"

The name of the root device (for example, /dev/sda1, or /dev/xvda).

", "locationName":"rootDeviceName" }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "documentation":"

One or more block device mapping entries.

", - "locationName":"BlockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"String", - "documentation":"

The type of virtualization.

Default: paravirtual

", - "locationName":"virtualizationType" - }, "SriovNetSupport":{ "shape":"String", "documentation":"

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

There is no way to disable sriovNetSupport at this time.

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

", "locationName":"sriovNetSupport" }, - "EnaSupport":{ - "shape":"Boolean", - "documentation":"

Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

", - "locationName":"enaSupport" + "VirtualizationType":{ + "shape":"String", + "documentation":"

The type of virtualization.

Default: paravirtual

", + "locationName":"virtualizationType" } }, "documentation":"

Contains the parameters for RegisterImage.

" @@ -13929,18 +14477,18 @@ "ReleaseAddressRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "AllocationId":{ + "shape":"String", + "documentation":"

[EC2-VPC] The allocation ID. Required for EC2-VPC.

" }, "PublicIp":{ "shape":"String", "documentation":"

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. Required for EC2-VPC.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for ReleaseAddress.

" @@ -13973,6 +14521,33 @@ }, "documentation":"

Contains the output of ReleaseHosts.

" }, + "ReplaceIamInstanceProfileAssociationRequest":{ + "type":"structure", + "required":[ + "IamInstanceProfile", + "AssociationId" + ], + "members":{ + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

" + }, + "AssociationId":{ + "shape":"String", + "documentation":"

The ID of the existing IAM instance profile association.

" + } + } + }, + "ReplaceIamInstanceProfileAssociationResult":{ + "type":"structure", + "members":{ + "IamInstanceProfileAssociation":{ + "shape":"IamInstanceProfileAssociation", + "documentation":"

Information about the IAM instance profile association.

", + "locationName":"iamInstanceProfileAssociation" + } + } + }, "ReplaceNetworkAclAssociationRequest":{ "type":"structure", "required":[ @@ -13980,16 +14555,16 @@ "NetworkAclId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "AssociationId":{ "shape":"String", "documentation":"

The ID of the current association between the original network ACL and the subnet.

", "locationName":"associationId" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, "NetworkAclId":{ "shape":"String", "documentation":"

The ID of the new network ACL to associate with the subnet.

", @@ -14012,27 +14587,47 @@ "ReplaceNetworkAclEntryRequest":{ "type":"structure", "required":[ + "Egress", "NetworkAclId", - "RuleNumber", "Protocol", "RuleAction", - "Egress" + "RuleNumber" ], "members":{ + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", + "locationName":"cidrBlock" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, + "Egress":{ + "shape":"Boolean", + "documentation":"

Indicates whether to replace the egress rule.

Default: If no value is specified, we replace the ingress rule.

", + "locationName":"egress" + }, + "IcmpTypeCode":{ + "shape":"IcmpTypeCode", + "documentation":"

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the ICMP (1) protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.

", + "locationName":"Icmp" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).

", + "locationName":"ipv6CidrBlock" + }, "NetworkAclId":{ "shape":"String", "documentation":"

The ID of the ACL.

", "locationName":"networkAclId" }, - "RuleNumber":{ - "shape":"Integer", - "documentation":"

The rule number of the entry to replace.

", - "locationName":"ruleNumber" + "PortRange":{ + "shape":"PortRange", + "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying TCP (6) or UDP (17) for the protocol.

", + "locationName":"portRange" }, "Protocol":{ "shape":"String", @@ -14044,30 +14639,10 @@ "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", "locationName":"ruleAction" }, - "Egress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to replace the egress rule.

Default: If no value is specified, we replace the ingress rule.

", - "locationName":"egress" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "Ipv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).

", - "locationName":"ipv6CidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the ICMP (1) protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying TCP (6) or UDP (17) for the protocol.

", - "locationName":"portRange" + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The rule number of the entry to replace.

", + "locationName":"ruleNumber" } }, "documentation":"

Contains the parameters for ReplaceNetworkAclEntry.

" @@ -14076,55 +14651,55 @@ "type":"structure", "required":["RouteTableId"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, "DestinationCidrBlock":{ "shape":"String", "documentation":"

The IPv4 CIDR address block used for the destination match. The value you provide must match the CIDR of an existing route in the table.

", "locationName":"destinationCidrBlock" }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of an Internet gateway or virtual private gateway.

", - "locationName":"gatewayId" - }, "DestinationIpv6CidrBlock":{ "shape":"String", "documentation":"

The IPv6 CIDR address block used for the destination match. The value you provide must match the CIDR of an existing route in the table.

", "locationName":"destinationIpv6CidrBlock" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, "EgressOnlyInternetGatewayId":{ "shape":"String", "documentation":"

[IPv6 traffic only] The ID of an egress-only Internet gateway.

", "locationName":"egressOnlyInternetGatewayId" }, + "GatewayId":{ + "shape":"String", + "documentation":"

The ID of an Internet gateway or virtual private gateway.

", + "locationName":"gatewayId" + }, "InstanceId":{ "shape":"String", "documentation":"

The ID of a NAT instance in your VPC.

", "locationName":"instanceId" }, + "NatGatewayId":{ + "shape":"String", + "documentation":"

[IPv4 traffic only] The ID of a NAT gateway.

", + "locationName":"natGatewayId" + }, "NetworkInterfaceId":{ "shape":"String", "documentation":"

The ID of a network interface.

", "locationName":"networkInterfaceId" }, + "RouteTableId":{ + "shape":"String", + "documentation":"

The ID of the route table.

", + "locationName":"routeTableId" + }, "VpcPeeringConnectionId":{ "shape":"String", "documentation":"

The ID of a VPC peering connection.

", "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

[IPv4 traffic only] The ID of a NAT gateway.

", - "locationName":"natGatewayId" } }, "documentation":"

Contains the parameters for ReplaceRoute.

" @@ -14136,16 +14711,16 @@ "RouteTableId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "AssociationId":{ "shape":"String", "documentation":"

The association ID.

", "locationName":"associationId" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, "RouteTableId":{ "shape":"String", "documentation":"

The ID of the new route table to associate with the subnet.

", @@ -14183,44 +14758,44 @@ "type":"structure", "required":[ "Instances", - "Status", - "ReasonCodes" + "ReasonCodes", + "Status" ], "members":{ + "Description":{ + "shape":"String", + "documentation":"

Descriptive text about the health state of your instance.

", + "locationName":"description" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, - "Instances":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instances.

", - "locationName":"instanceId" - }, - "Status":{ - "shape":"ReportStatusType", - "documentation":"

The status of all instances listed.

", - "locationName":"status" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time at which the reported instance health state began.

", - "locationName":"startTime" - }, "EndTime":{ "shape":"DateTime", "documentation":"

The time at which the reported instance health state ended.

", "locationName":"endTime" }, + "Instances":{ + "shape":"InstanceIdStringList", + "documentation":"

One or more instances.

", + "locationName":"instanceId" + }, "ReasonCodes":{ "shape":"ReasonCodesList", "documentation":"

One or more reason codes that describes the health state of your instance.

  • instance-stuck-in-state: My instance is stuck in a state.

  • unresponsive: My instance is unresponsive.

  • not-accepting-credentials: My instance is not accepting my credentials.

  • password-not-available: A password is not available for my instance.

  • performance-network: My instance is experiencing performance problems which I believe are network related.

  • performance-instance-store: My instance is experiencing performance problems which I believe are related to the instance stores.

  • performance-ebs-volume: My instance is experiencing performance problems which I believe are related to an EBS volume.

  • performance-other: My instance is experiencing performance problems.

  • other: [explain using the description parameter]

", "locationName":"reasonCode" }, - "Description":{ - "shape":"String", - "documentation":"

Descriptive text about the health state of your instance.

", - "locationName":"description" + "StartTime":{ + "shape":"DateTime", + "documentation":"

The time at which the reported instance health state began.

", + "locationName":"startTime" + }, + "Status":{ + "shape":"ReportStatusType", + "documentation":"

The status of all instances listed.

", + "locationName":"status" } }, "documentation":"

Contains the parameters for ReportInstanceStatus.

" @@ -14279,26 +14854,45 @@ "type":"structure", "required":["SpotPrice"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotPrice":{ + "AvailabilityZoneGroup":{ "shape":"String", - "documentation":"

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "locationName":"spotPrice" + "documentation":"

The user-specified name for a logical grouping of bids.

When you specify an Availability Zone group in a Spot Instance request, all Spot instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to bids for Spot Instances of the same instance type. Any additional Spot instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

If there is no active instance running in the Availability Zone group that you specify for a new Spot instance request (all instances are terminated, the bid is expired, or the bid falls below current market), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

Default: Instances are launched in any available Availability Zone.

", + "locationName":"availabilityZoneGroup" + }, + "BlockDurationMinutes":{ + "shape":"Integer", + "documentation":"

The required duration for the Spot instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

Note that you can't specify an Availability Zone group or a launch group if you specify a duration.

", + "locationName":"blockDurationMinutes" }, "ClientToken":{ "shape":"String", "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

", "locationName":"clientToken" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, "InstanceCount":{ "shape":"Integer", "documentation":"

The maximum number of Spot instances to launch.

Default: 1

", "locationName":"instanceCount" }, + "LaunchGroup":{ + "shape":"String", + "documentation":"

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

Default: Instances are launched and terminated individually

", + "locationName":"launchGroup" + }, + "LaunchSpecification":{ + "shape":"RequestSpotLaunchSpecification", + "documentation":"

The launch specification.

" + }, + "SpotPrice":{ + "shape":"String", + "documentation":"

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", + "locationName":"spotPrice" + }, "Type":{ "shape":"SpotInstanceType", "documentation":"

The Spot instance request type.

Default: one-time

", @@ -14313,23 +14907,7 @@ "shape":"DateTime", "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

Default: The request is effective indefinitely.

", "locationName":"validUntil" - }, - "LaunchGroup":{ - "shape":"String", - "documentation":"

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

Default: Instances are launched and terminated individually

", - "locationName":"launchGroup" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "documentation":"

The user-specified name for a logical grouping of bids.

When you specify an Availability Zone group in a Spot Instance request, all Spot instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to bids for Spot Instances of the same instance type. Any additional Spot instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

If there is no active instance running in the Availability Zone group that you specify for a new Spot instance request (all instances are terminated, the bid is expired, or the bid falls below current market), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

Default: Instances are launched in any available Availability Zone.

", - "locationName":"availabilityZoneGroup" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "documentation":"

The required duration for the Spot instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

Note that you can't specify an Availability Zone group or a launch group if you specify a duration.

", - "locationName":"blockDurationMinutes" - }, - "LaunchSpecification":{"shape":"RequestSpotLaunchSpecification"} + } }, "documentation":"

Contains the parameters for RequestSpotInstances.

" }, @@ -14347,82 +14925,85 @@ "RequestSpotLaunchSpecification":{ "type":"structure", "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

", - "locationName":"keyName" + "SecurityGroupIds":{ + "shape":"ValueStringList", + "documentation":"

One or more security group IDs.

", + "locationName":"SecurityGroupId" }, "SecurityGroups":{ "shape":"ValueStringList", + "documentation":"

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", "locationName":"SecurityGroup" }, - "UserData":{ - "shape":"String", - "documentation":"

The user data to make available to the instances. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", - "locationName":"userData" - }, "AddressingType":{ "shape":"String", "documentation":"

Deprecated.

", "locationName":"addressingType" }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "documentation":"

The placement information for the instance.

", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappingList", "documentation":"

One or more block device mapping entries.

Although you can specify encrypted EBS volumes in this block device mapping for your Spot Instances, these volumes are not encrypted.

", "locationName":"blockDeviceMapping" }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which to launch the instance.

", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", - "locationName":"NetworkInterface" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "documentation":"

The IAM instance profile.

", - "locationName":"iamInstanceProfile" - }, "EbsOptimized":{ "shape":"Boolean", "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", "locationName":"ebsOptimized" }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

", + "locationName":"iamInstanceProfile" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI.

", + "locationName":"imageId" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "KernelId":{ + "shape":"String", + "documentation":"

The ID of the kernel.

", + "locationName":"kernelId" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" + }, "Monitoring":{ "shape":"RunInstancesMonitoringEnabled", + "documentation":"

Indicates whether basic or detailed monitoring is enabled for the instance.

Default: Disabled

", "locationName":"monitoring" }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" + "NetworkInterfaces":{ + "shape":"InstanceNetworkInterfaceSpecificationList", + "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", + "locationName":"NetworkInterface" + }, + "Placement":{ + "shape":"SpotPlacement", + "documentation":"

The placement information for the instance.

", + "locationName":"placement" + }, + "RamdiskId":{ + "shape":"String", + "documentation":"

The ID of the RAM disk.

", + "locationName":"ramdiskId" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet in which to launch the instance.

", + "locationName":"subnetId" + }, + "UserData":{ + "shape":"String", + "documentation":"

The user data to make available to the instances. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", + "locationName":"userData" } }, "documentation":"

Describes the launch specification for an instance.

" @@ -14430,10 +15011,15 @@ "Reservation":{ "type":"structure", "members":{ - "ReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"reservationId" + "Groups":{ + "shape":"GroupIdentifierList", + "documentation":"

[EC2-Classic only] One or more security groups.

", + "locationName":"groupSet" + }, + "Instances":{ + "shape":"InstanceList", + "documentation":"

One or more instances.

", + "locationName":"instancesSet" }, "OwnerId":{ "shape":"String", @@ -14445,15 +15031,10 @@ "documentation":"

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", "locationName":"requesterId" }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

[EC2-Classic only] One or more security groups.

", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "documentation":"

One or more instances.

", - "locationName":"instancesSet" + "ReservationId":{ + "shape":"String", + "documentation":"

The ID of the reservation.

", + "locationName":"reservationId" } }, "documentation":"

Describes a reservation.

" @@ -14477,6 +15058,11 @@ "ReservationValue":{ "type":"structure", "members":{ + "HourlyPrice":{ + "shape":"String", + "documentation":"

The hourly rate of the reservation.

", + "locationName":"hourlyPrice" + }, "RemainingTotalValue":{ "shape":"String", "documentation":"

The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

", @@ -14486,11 +15072,6 @@ "shape":"String", "documentation":"

The remaining upfront cost of the reservation.

", "locationName":"remainingUpfrontValue" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly rate of the reservation.

", - "locationName":"hourlyPrice" } }, "documentation":"

The cost associated with the Reserved Instance.

" @@ -14521,15 +15102,15 @@ "ReservedInstanceReservationValue":{ "type":"structure", "members":{ - "ReservedInstanceId":{ - "shape":"String", - "documentation":"

The ID of the Convertible Reserved Instance that you are exchanging.

", - "locationName":"reservedInstanceId" - }, "ReservationValue":{ "shape":"ReservationValue", "documentation":"

The total value of the Convertible Reserved Instance that you are exchanging.

", "locationName":"reservationValue" + }, + "ReservedInstanceId":{ + "shape":"String", + "documentation":"

The ID of the Convertible Reserved Instance that you are exchanging.

", + "locationName":"reservedInstanceId" } }, "documentation":"

The total value of the Convertible Reserved Instance.

" @@ -14553,40 +15134,20 @@ "ReservedInstances":{ "type":"structure", "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type on which the Reserved Instance can be used.

", - "locationName":"instanceType" - }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone in which the Reserved Instance can be used.

", "locationName":"availabilityZone" }, - "Start":{ - "shape":"DateTime", - "documentation":"

The date and time the Reserved Instance started.

", - "locationName":"start" - }, - "End":{ - "shape":"DateTime", - "documentation":"

The time when the Reserved Instance expires.

", - "locationName":"end" - }, "Duration":{ "shape":"Long", "documentation":"

The duration of the Reserved Instance, in seconds.

", "locationName":"duration" }, - "UsagePrice":{ - "shape":"Float", - "documentation":"

The usage price of the Reserved Instance, per hour.

", - "locationName":"usagePrice" + "End":{ + "shape":"DateTime", + "documentation":"

The time when the Reserved Instance expires.

", + "locationName":"end" }, "FixedPrice":{ "shape":"Float", @@ -14598,30 +15159,50 @@ "documentation":"

The number of reservations purchased.

", "locationName":"instanceCount" }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type on which the Reserved Instance can be used.

", + "locationName":"instanceType" + }, "ProductDescription":{ "shape":"RIProductDescription", "documentation":"

The Reserved Instance product platform description.

", "locationName":"productDescription" }, + "ReservedInstancesId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance.

", + "locationName":"reservedInstancesId" + }, + "Start":{ + "shape":"DateTime", + "documentation":"

The date and time the Reserved Instance started.

", + "locationName":"start" + }, "State":{ "shape":"ReservedInstanceState", "documentation":"

The state of the Reserved Instance purchase.

", "locationName":"state" }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" + "UsagePrice":{ + "shape":"Float", + "documentation":"

The usage price of the Reserved Instance, per hour.

", + "locationName":"usagePrice" + }, + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" }, "InstanceTenancy":{ "shape":"Tenancy", "documentation":"

The tenancy of the instance.

", "locationName":"instanceTenancy" }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" + "OfferingClass":{ + "shape":"OfferingClassType", + "documentation":"

The offering class of the Reserved Instance.

", + "locationName":"offeringClass" }, "OfferingType":{ "shape":"OfferingTypeValues", @@ -14633,15 +15214,15 @@ "documentation":"

The recurring charge tag assigned to the resource.

", "locationName":"recurringCharges" }, - "OfferingClass":{ - "shape":"OfferingClassType", - "documentation":"

The offering class of the Reserved Instance.

", - "locationName":"offeringClass" - }, "Scope":{ "shape":"scope", "documentation":"

The scope of the Reserved Instance.

", "locationName":"scope" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the resource.

", + "locationName":"tagSet" } }, "documentation":"

Describes a Reserved Instance.

" @@ -14654,11 +15235,6 @@ "documentation":"

The Availability Zone for the modified Reserved Instances.

", "locationName":"availabilityZone" }, - "Platform":{ - "shape":"String", - "documentation":"

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", - "locationName":"platform" - }, "InstanceCount":{ "shape":"Integer", "documentation":"

The number of modified Reserved Instances.

", @@ -14669,6 +15245,11 @@ "documentation":"

The instance type for the modified Reserved Instances.

", "locationName":"instanceType" }, + "Platform":{ + "shape":"String", + "documentation":"

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", + "locationName":"platform" + }, "Scope":{ "shape":"scope", "documentation":"

Whether the Reserved Instance is applied to instances in a region or instances in a specific Availability Zone.

", @@ -14712,36 +15293,16 @@ "ReservedInstancesListing":{ "type":"structure", "members":{ - "ReservedInstancesListingId":{ + "ClientToken":{ "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" + "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", + "locationName":"clientToken" }, "CreateDate":{ "shape":"DateTime", "documentation":"

The time the listing was created.

", "locationName":"createDate" }, - "UpdateDate":{ - "shape":"DateTime", - "documentation":"

The last modified timestamp of the listing.

", - "locationName":"updateDate" - }, - "Status":{ - "shape":"ListingStatus", - "documentation":"

The status of the Reserved Instance listing.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The reason for the current status of the Reserved Instance listing. The response can be blank.

", - "locationName":"statusMessage" - }, "InstanceCounts":{ "shape":"InstanceCountList", "documentation":"

The number of instances in this state.

", @@ -14752,15 +15313,35 @@ "documentation":"

The price of the Reserved Instance listing.

", "locationName":"priceSchedules" }, + "ReservedInstancesId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance.

", + "locationName":"reservedInstancesId" + }, + "ReservedInstancesListingId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance listing.

", + "locationName":"reservedInstancesListingId" + }, + "Status":{ + "shape":"ListingStatus", + "documentation":"

The status of the Reserved Instance listing.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

The reason for the current status of the Reserved Instance listing. The response can be blank.

", + "locationName":"statusMessage" + }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the resource.

", "locationName":"tagSet" }, - "ClientToken":{ - "shape":"String", - "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" + "UpdateDate":{ + "shape":"DateTime", + "documentation":"

The last modified timestamp of the listing.

", + "locationName":"updateDate" } }, "documentation":"

Describes a Reserved Instance listing.

" @@ -14775,36 +15356,36 @@ "ReservedInstancesModification":{ "type":"structure", "members":{ - "ReservedInstancesModificationId":{ + "ClientToken":{ "shape":"String", - "documentation":"

A unique ID for the Reserved Instance modification.

", - "locationName":"reservedInstancesModificationId" - }, - "ReservedInstancesIds":{ - "shape":"ReservedIntancesIds", - "documentation":"

The IDs of one or more Reserved Instances.

", - "locationName":"reservedInstancesSet" - }, - "ModificationResults":{ - "shape":"ReservedInstancesModificationResultList", - "documentation":"

Contains target configurations along with their corresponding new Reserved Instance IDs.

", - "locationName":"modificationResultSet" + "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", + "locationName":"clientToken" }, "CreateDate":{ "shape":"DateTime", "documentation":"

The time when the modification request was created.

", "locationName":"createDate" }, - "UpdateDate":{ - "shape":"DateTime", - "documentation":"

The time when the modification request was last updated.

", - "locationName":"updateDate" - }, "EffectiveDate":{ "shape":"DateTime", "documentation":"

The time for the modification to become effective.

", "locationName":"effectiveDate" }, + "ModificationResults":{ + "shape":"ReservedInstancesModificationResultList", + "documentation":"

Contains target configurations along with their corresponding new Reserved Instance IDs.

", + "locationName":"modificationResultSet" + }, + "ReservedInstancesIds":{ + "shape":"ReservedIntancesIds", + "documentation":"

The IDs of one or more Reserved Instances.

", + "locationName":"reservedInstancesSet" + }, + "ReservedInstancesModificationId":{ + "shape":"String", + "documentation":"

A unique ID for the Reserved Instance modification.

", + "locationName":"reservedInstancesModificationId" + }, "Status":{ "shape":"String", "documentation":"

The status of the Reserved Instances modification request.

", @@ -14815,10 +15396,10 @@ "documentation":"

The reason for the status.

", "locationName":"statusMessage" }, - "ClientToken":{ - "shape":"String", - "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" + "UpdateDate":{ + "shape":"DateTime", + "documentation":"

The time when the modification request was last updated.

", + "locationName":"updateDate" } }, "documentation":"

Describes a Reserved Instance modification.

" @@ -14863,16 +15444,6 @@ "ReservedInstancesOffering":{ "type":"structure", "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote to confirm that an exchange can be made.

", - "locationName":"reservedInstancesOfferingId" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type on which the Reserved Instance can be used.

", - "locationName":"instanceType" - }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone in which the Reserved Instance can be used.

", @@ -14883,55 +15454,65 @@ "documentation":"

The duration of the Reserved Instance, in seconds.

", "locationName":"duration" }, - "UsagePrice":{ - "shape":"Float", - "documentation":"

The usage price of the Reserved Instance, per hour.

", - "locationName":"usagePrice" - }, "FixedPrice":{ "shape":"Float", "documentation":"

The purchase price of the Reserved Instance.

", "locationName":"fixedPrice" }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type on which the Reserved Instance can be used.

", + "locationName":"instanceType" + }, "ProductDescription":{ "shape":"RIProductDescription", "documentation":"

The Reserved Instance product platform description.

", "locationName":"productDescription" }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instance.

", - "locationName":"instanceTenancy" + "ReservedInstancesOfferingId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote to confirm that an exchange can be made.

", + "locationName":"reservedInstancesOfferingId" + }, + "UsagePrice":{ + "shape":"Float", + "documentation":"

The usage price of the Reserved Instance, per hour.

", + "locationName":"usagePrice" }, "CurrencyCode":{ "shape":"CurrencyCodeValues", "documentation":"

The currency of the Reserved Instance offering you are purchasing. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", "locationName":"currencyCode" }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "documentation":"

The Reserved Instance offering type.

", - "locationName":"offeringType" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "documentation":"

The recurring charge tag assigned to the resource.

", - "locationName":"recurringCharges" + "InstanceTenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy of the instance.

", + "locationName":"instanceTenancy" }, "Marketplace":{ "shape":"Boolean", "documentation":"

Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering, this is true.

", "locationName":"marketplace" }, + "OfferingClass":{ + "shape":"OfferingClassType", + "documentation":"

If convertible it can be exchanged for Reserved Instances of the same or higher monetary value, with different configurations. If standard, it is not possible to perform an exchange.

", + "locationName":"offeringClass" + }, + "OfferingType":{ + "shape":"OfferingTypeValues", + "documentation":"

The Reserved Instance offering type.

", + "locationName":"offeringType" + }, "PricingDetails":{ "shape":"PricingDetailsList", "documentation":"

The pricing details of the Reserved Instance offering.

", "locationName":"pricingDetailsSet" }, - "OfferingClass":{ - "shape":"OfferingClassType", - "documentation":"

If convertible it can be exchanged for Reserved Instances of the same or higher monetary value, with different configurations. If standard, it is not possible to perform an exchange.

", - "locationName":"offeringClass" + "RecurringCharges":{ + "shape":"RecurringChargesList", + "documentation":"

The recurring charge tag assigned to the resource.

", + "locationName":"recurringCharges" }, "Scope":{ "shape":"scope", @@ -14966,22 +15547,22 @@ "ResetImageAttributeRequest":{ "type":"structure", "required":[ - "ImageId", - "Attribute" + "Attribute", + "ImageId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Attribute":{ + "shape":"ResetImageAttributeName", + "documentation":"

The attribute to reset (currently you can only reset the launch permission attribute).

" }, "ImageId":{ "shape":"String", "documentation":"

The ID of the AMI.

" }, - "Attribute":{ - "shape":"ResetImageAttributeName", - "documentation":"

The attribute to reset (currently you can only reset the launch permission attribute).

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for ResetImageAttribute.

" @@ -14989,10 +15570,15 @@ "ResetInstanceAttributeRequest":{ "type":"structure", "required":[ - "InstanceId", - "Attribute" + "Attribute", + "InstanceId" ], "members":{ + "Attribute":{ + "shape":"InstanceAttributeName", + "documentation":"

The attribute to reset.

You can only reset the following attributes: kernel | ramdisk | sourceDestCheck. To change an instance attribute, use ModifyInstanceAttribute.

", + "locationName":"attribute" + }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -15002,11 +15588,6 @@ "shape":"String", "documentation":"

The ID of the instance.

", "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The attribute to reset.

You can only reset the following attributes: kernel | ramdisk | sourceDestCheck. To change an instance attribute, use ModifyInstanceAttribute.

", - "locationName":"attribute" } }, "documentation":"

Contains the parameters for ResetInstanceAttribute.

" @@ -15036,22 +15617,22 @@ "ResetSnapshotAttributeRequest":{ "type":"structure", "required":[ - "SnapshotId", - "Attribute" + "Attribute", + "SnapshotId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "Attribute":{ + "shape":"SnapshotAttributeName", + "documentation":"

The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.

" }, "SnapshotId":{ "shape":"String", "documentation":"

The ID of the snapshot.

" }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for ResetSnapshotAttribute.

" @@ -15120,15 +15701,15 @@ "RestoreAddressToClassicResult":{ "type":"structure", "members":{ - "Status":{ - "shape":"Status", - "documentation":"

The move status for the IP address.

", - "locationName":"status" - }, "PublicIp":{ "shape":"String", "documentation":"

The Elastic IP address.

", "locationName":"publicIp" + }, + "Status":{ + "shape":"Status", + "documentation":"

The move status for the IP address.

", + "locationName":"status" } }, "documentation":"

Contains the output of RestoreAddressToClassic.

" @@ -15147,6 +15728,31 @@ "documentation":"

The ID of the security group.

", "locationName":"groupId" }, + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", + "locationName":"ipPermissions" + }, + "CidrIp":{ + "shape":"String", + "documentation":"

The CIDR IP address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

", + "locationName":"cidrIp" + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

", + "locationName":"fromPort" + }, + "IpProtocol":{ + "shape":"String", + "documentation":"

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

", + "locationName":"ipProtocol" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

", + "locationName":"toPort" + }, "SourceSecurityGroupName":{ "shape":"String", "documentation":"

The name of a destination security group. To revoke outbound access to a destination security group, we recommend that you use a set of IP permissions instead.

", @@ -15156,31 +15762,6 @@ "shape":"String", "documentation":"

The AWS account number for a destination security group. To revoke outbound access to a destination security group, we recommend that you use a set of IP permissions instead.

", "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

", - "locationName":"cidrIp" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"ipPermissions" } }, "documentation":"

Contains the parameters for RevokeSecurityGroupEgress.

" @@ -15188,18 +15769,29 @@ "RevokeSecurityGroupIngressRequest":{ "type":"structure", "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" + "CidrIp":{ + "shape":"String", + "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

" + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use -1 to specify all ICMP types.

" + }, + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group. Required for a security group in a nondefault VPC.

" }, "GroupName":{ "shape":"String", "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" }, - "GroupId":{ + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

A set of IP permissions. You can't specify a source security group and a CIDR IP address range.

" + }, + "IpProtocol":{ "shape":"String", - "documentation":"

The ID of the security group. Required for a security group in a nondefault VPC.

" + "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

" }, "SourceSecurityGroupName":{ "shape":"String", @@ -15209,25 +15801,14 @@ "shape":"String", "documentation":"

[EC2-Classic] The AWS account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use -1 to specify all ICMP types.

" - }, "ToPort":{ "shape":"Integer", "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.

" }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

A set of IP permissions. You can't specify a source security group and a CIDR IP address range.

" + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for RevokeSecurityGroupIngress.

" @@ -15240,11 +15821,21 @@ "documentation":"

The IPv4 CIDR block used for the destination match.

", "locationName":"destinationCidrBlock" }, + "DestinationIpv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 CIDR block used for the destination match.

", + "locationName":"destinationIpv6CidrBlock" + }, "DestinationPrefixListId":{ "shape":"String", "documentation":"

The prefix of the AWS service.

", "locationName":"destinationPrefixListId" }, + "EgressOnlyInternetGatewayId":{ + "shape":"String", + "documentation":"

The ID of the egress-only Internet gateway.

", + "locationName":"egressOnlyInternetGatewayId" + }, "GatewayId":{ "shape":"String", "documentation":"

The ID of a gateway attached to your VPC.

", @@ -15260,40 +15851,30 @@ "documentation":"

The AWS account ID of the owner of the instance.

", "locationName":"instanceOwnerId" }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - }, "NatGatewayId":{ "shape":"String", "documentation":"

The ID of a NAT gateway.

", "locationName":"natGatewayId" }, - "State":{ - "shape":"RouteState", - "documentation":"

The state of the route. The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, or the specified NAT instance has been terminated).

", - "locationName":"state" + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" }, "Origin":{ "shape":"RouteOrigin", "documentation":"

Describes how the route was created.

  • CreateRouteTable - The route was automatically created when the route table was created.

  • CreateRoute - The route was manually added to the route table.

  • EnableVgwRoutePropagation - The route was propagated by route propagation.

", "locationName":"origin" }, - "DestinationIpv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 CIDR block used for the destination match.

", - "locationName":"destinationIpv6CidrBlock" + "State":{ + "shape":"RouteState", + "documentation":"

The state of the route. The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, or the specified NAT instance has been terminated).

", + "locationName":"state" }, - "EgressOnlyInternetGatewayId":{ + "VpcPeeringConnectionId":{ "shape":"String", - "documentation":"

The ID of the egress-only Internet gateway.

", - "locationName":"egressOnlyInternetGatewayId" + "documentation":"

The ID of the VPC peering connection.

", + "locationName":"vpcPeeringConnectionId" } }, "documentation":"

Describes a route in a route table.

" @@ -15323,35 +15904,35 @@ "RouteTable":{ "type":"structure", "members":{ + "Associations":{ + "shape":"RouteTableAssociationList", + "documentation":"

The associations between the route table and one or more subnets.

", + "locationName":"associationSet" + }, + "PropagatingVgws":{ + "shape":"PropagatingVgwList", + "documentation":"

Any virtual private gateway (VGW) propagating routes.

", + "locationName":"propagatingVgwSet" + }, "RouteTableId":{ "shape":"String", "documentation":"

The ID of the route table.

", "locationName":"routeTableId" }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, "Routes":{ "shape":"RouteList", "documentation":"

The routes in the route table.

", "locationName":"routeSet" }, - "Associations":{ - "shape":"RouteTableAssociationList", - "documentation":"

The associations between the route table and one or more subnets.

", - "locationName":"associationSet" - }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the route table.

", "locationName":"tagSet" }, - "PropagatingVgws":{ - "shape":"PropagatingVgwList", - "documentation":"

Any virtual private gateway (VGW) propagating routes.

", - "locationName":"propagatingVgwSet" + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } }, "documentation":"

Describes a route table.

" @@ -15359,6 +15940,11 @@ "RouteTableAssociation":{ "type":"structure", "members":{ + "Main":{ + "shape":"Boolean", + "documentation":"

Indicates whether this is the main route table.

", + "locationName":"main" + }, "RouteTableAssociationId":{ "shape":"String", "documentation":"

The ID of the association between a route table and a subnet.

", @@ -15373,11 +15959,6 @@ "shape":"String", "documentation":"

The ID of the subnet. A subnet ID is not returned for an implicit association.

", "locationName":"subnetId" - }, - "Main":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the main route table.

", - "locationName":"main" } }, "documentation":"

Describes an association between a route table and a subnet.

" @@ -15419,122 +16000,127 @@ "type":"structure", "required":[ "ImageId", - "MinCount", - "MaxCount" + "MaxCount", + "MinCount" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI, which you can get by calling DescribeImages.

" - }, - "MinCount":{ - "shape":"Integer", - "documentation":"

The minimum number of instances to launch. If you specify a minimum that is more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches no instances.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 General FAQ.

" - }, - "MaxCount":{ - "shape":"Integer", - "documentation":"

The maximum number of instances to launch. If you specify more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above MinCount.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 FAQ.

" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroupStringList", - "documentation":"

[EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, you must use security group IDs instead.

Default: Amazon EC2 uses the default security group.

", - "locationName":"SecurityGroup" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

One or more security group IDs. You can create a security group using CreateSecurityGroup.

Default: Amazon EC2 uses the default security group.

", - "locationName":"SecurityGroupId" - }, - "UserData":{ - "shape":"String", - "documentation":"

The user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows). If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Default: m1.small

" - }, - "Placement":{ - "shape":"Placement", - "documentation":"

The placement for the instance.

" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide.

" - }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappingRequestList", "documentation":"

The block device mapping.

Supplying both a snapshot ID and an encryption value as arguments for block-device mapping results in an error. This is because only blank volumes can be encrypted on start, and these are not created from a snapshot. If a snapshot is the basis for the volume, it contains data by definition and its encryption status cannot be changed using this action.

", "locationName":"BlockDeviceMapping" }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "documentation":"

The monitoring for the instance.

" - }, - "SubnetId":{ + "ImageId":{ "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

" + "documentation":"

The ID of the AMI, which you can get by calling DescribeImages.

" }, - "DisableApiTermination":{ - "shape":"Boolean", - "documentation":"

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute to false after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

Default: false

", - "locationName":"disableApiTermination" + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Default: m1.small

" }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.

Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.

", - "locationName":"privateIpAddress" + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

[EC2-VPC] A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

" }, "Ipv6Addresses":{ "shape":"InstanceIpv6AddressList", "documentation":"

[EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

", "locationName":"Ipv6Address" }, - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

[EC2-VPC] A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

" - }, - "ClientToken":{ + "KernelId":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", - "locationName":"clientToken" + "documentation":"

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide.

" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

" + }, + "MaxCount":{ + "shape":"Integer", + "documentation":"

The maximum number of instances to launch. If you specify more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above MinCount.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 FAQ.

" + }, + "MinCount":{ + "shape":"Integer", + "documentation":"

The minimum number of instances to launch. If you specify a minimum that is more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches no instances.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 General FAQ.

" + }, + "Monitoring":{ + "shape":"RunInstancesMonitoringEnabled", + "documentation":"

The monitoring for the instance.

" + }, + "Placement":{ + "shape":"Placement", + "documentation":"

The placement for the instance.

" + }, + "RamdiskId":{ + "shape":"String", + "documentation":"

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdStringList", + "documentation":"

One or more security group IDs. You can create a security group using CreateSecurityGroup.

Default: Amazon EC2 uses the default security group.

", + "locationName":"SecurityGroupId" + }, + "SecurityGroups":{ + "shape":"SecurityGroupStringList", + "documentation":"

[EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, you must use security group IDs instead.

Default: Amazon EC2 uses the default security group.

", + "locationName":"SecurityGroup" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

" + }, + "UserData":{ + "shape":"String", + "documentation":"

The user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows). If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

" }, "AdditionalInfo":{ "shape":"String", "documentation":"

Reserved.

", "locationName":"additionalInfo" }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "locationName":"networkInterface" + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", + "locationName":"clientToken" + }, + "DisableApiTermination":{ + "shape":"Boolean", + "documentation":"

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute to false after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

Default: false

", + "locationName":"disableApiTermination" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Default: false

", + "locationName":"ebsOptimized" }, "IamInstanceProfile":{ "shape":"IamInstanceProfileSpecification", "documentation":"

The IAM instance profile.

", "locationName":"iamInstanceProfile" }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Default: false

", - "locationName":"ebsOptimized" + "InstanceInitiatedShutdownBehavior":{ + "shape":"ShutdownBehavior", + "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

", + "locationName":"instanceInitiatedShutdownBehavior" + }, + "NetworkInterfaces":{ + "shape":"InstanceNetworkInterfaceSpecificationList", + "documentation":"

One or more network interfaces.

", + "locationName":"networkInterface" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.

Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.

", + "locationName":"privateIpAddress" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

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.

", + "locationName":"TagSpecification" } }, "documentation":"

Contains the parameters for RunInstances.

" @@ -15542,30 +16128,30 @@ "RunScheduledInstancesRequest":{ "type":"structure", "required":[ - "ScheduledInstanceId", - "LaunchSpecification" + "LaunchSpecification", + "ScheduledInstanceId" ], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, "ClientToken":{ "shape":"String", "documentation":"

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", "idempotencyToken":true }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, "InstanceCount":{ "shape":"Integer", "documentation":"

The number of instances.

Default: 1

" }, - "ScheduledInstanceId":{ - "shape":"String", - "documentation":"

The Scheduled Instance ID.

" - }, "LaunchSpecification":{ "shape":"ScheduledInstancesLaunchSpecification", "documentation":"

The launch specification. You must match the instance type, Availability Zone, network, and platform of the schedule that you purchased.

" + }, + "ScheduledInstanceId":{ + "shape":"String", + "documentation":"

The Scheduled Instance ID.

" } }, "documentation":"

Contains the parameters for RunScheduledInstances.

" @@ -15584,6 +16170,10 @@ "S3Storage":{ "type":"structure", "members":{ + "AWSAccessKeyId":{ + "shape":"String", + "documentation":"

The access key ID of the owner of the bucket. Before you specify a value for your access key ID, review and follow the guidance in Best Practices for Managing AWS Access Keys.

" + }, "Bucket":{ "shape":"String", "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", @@ -15594,10 +16184,6 @@ "documentation":"

The beginning of the file name of the AMI.

", "locationName":"prefix" }, - "AWSAccessKeyId":{ - "shape":"String", - "documentation":"

The access key ID of the owner of the bucket. Before you specify a value for your access key ID, review and follow the guidance in Best Practices for Managing AWS Access Keys.

" - }, "UploadPolicy":{ "shape":"Blob", "documentation":"

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

", @@ -15614,80 +16200,80 @@ "ScheduledInstance":{ "type":"structure", "members":{ - "ScheduledInstanceId":{ - "shape":"String", - "documentation":"

The Scheduled Instance ID.

", - "locationName":"scheduledInstanceId" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The platform (Linux/UNIX or Windows).

", - "locationName":"platform" - }, - "NetworkPlatform":{ - "shape":"String", - "documentation":"

The network platform (EC2-Classic or EC2-VPC).

", - "locationName":"networkPlatform" - }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone.

", "locationName":"availabilityZone" }, - "SlotDurationInHours":{ - "shape":"Integer", - "documentation":"

The number of hours in the schedule.

", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "documentation":"

The schedule recurrence.

", - "locationName":"recurrence" - }, - "PreviousSlotEndTime":{ + "CreateDate":{ "shape":"DateTime", - "documentation":"

The time that the previous schedule ended or will end.

", - "locationName":"previousSlotEndTime" - }, - "NextSlotStartTime":{ - "shape":"DateTime", - "documentation":"

The time for the next schedule to start.

", - "locationName":"nextSlotStartTime" + "documentation":"

The date when the Scheduled Instance was purchased.

", + "locationName":"createDate" }, "HourlyPrice":{ "shape":"String", "documentation":"

The hourly price for a single instance.

", "locationName":"hourlyPrice" }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "documentation":"

The total number of hours for a single instance for the entire term.

", - "locationName":"totalScheduledInstanceHours" - }, "InstanceCount":{ "shape":"Integer", "documentation":"

The number of instances.

", "locationName":"instanceCount" }, - "TermStartDate":{ + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "NetworkPlatform":{ + "shape":"String", + "documentation":"

The network platform (EC2-Classic or EC2-VPC).

", + "locationName":"networkPlatform" + }, + "NextSlotStartTime":{ "shape":"DateTime", - "documentation":"

The start date for the Scheduled Instance.

", - "locationName":"termStartDate" + "documentation":"

The time for the next schedule to start.

", + "locationName":"nextSlotStartTime" + }, + "Platform":{ + "shape":"String", + "documentation":"

The platform (Linux/UNIX or Windows).

", + "locationName":"platform" + }, + "PreviousSlotEndTime":{ + "shape":"DateTime", + "documentation":"

The time that the previous schedule ended or will end.

", + "locationName":"previousSlotEndTime" + }, + "Recurrence":{ + "shape":"ScheduledInstanceRecurrence", + "documentation":"

The schedule recurrence.

", + "locationName":"recurrence" + }, + "ScheduledInstanceId":{ + "shape":"String", + "documentation":"

The Scheduled Instance ID.

", + "locationName":"scheduledInstanceId" + }, + "SlotDurationInHours":{ + "shape":"Integer", + "documentation":"

The number of hours in the schedule.

", + "locationName":"slotDurationInHours" }, "TermEndDate":{ "shape":"DateTime", "documentation":"

The end date for the Scheduled Instance.

", "locationName":"termEndDate" }, - "CreateDate":{ + "TermStartDate":{ "shape":"DateTime", - "documentation":"

The date when the Scheduled Instance was purchased.

", - "locationName":"createDate" + "documentation":"

The start date for the Scheduled Instance.

", + "locationName":"termStartDate" + }, + "TotalScheduledInstanceHours":{ + "shape":"Integer", + "documentation":"

The total number of hours for a single instance for the entire term.

", + "locationName":"totalScheduledInstanceHours" } }, "documentation":"

Describes a Scheduled Instance.

" @@ -15695,40 +16281,15 @@ "ScheduledInstanceAvailability":{ "type":"structure", "members":{ - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

", - "locationName":"instanceType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The platform (Linux/UNIX or Windows).

", - "locationName":"platform" - }, - "NetworkPlatform":{ - "shape":"String", - "documentation":"

The network platform (EC2-Classic or EC2-VPC).

", - "locationName":"networkPlatform" - }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone.

", "locationName":"availabilityZone" }, - "PurchaseToken":{ - "shape":"String", - "documentation":"

The purchase token. This token expires in two hours.

", - "locationName":"purchaseToken" - }, - "SlotDurationInHours":{ + "AvailableInstanceCount":{ "shape":"Integer", - "documentation":"

The number of hours in the schedule.

", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "documentation":"

The schedule recurrence.

", - "locationName":"recurrence" + "documentation":"

The number of available instances.

", + "locationName":"availableInstanceCount" }, "FirstSlotStartTime":{ "shape":"DateTime", @@ -15740,25 +16301,50 @@ "documentation":"

The hourly price for a single instance.

", "locationName":"hourlyPrice" }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "documentation":"

The total number of hours for a single instance for the entire term.

", - "locationName":"totalScheduledInstanceHours" + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

", + "locationName":"instanceType" }, - "AvailableInstanceCount":{ + "MaxTermDurationInDays":{ "shape":"Integer", - "documentation":"

The number of available instances.

", - "locationName":"availableInstanceCount" + "documentation":"

The maximum term. The only possible value is 365 days.

", + "locationName":"maxTermDurationInDays" }, "MinTermDurationInDays":{ "shape":"Integer", "documentation":"

The minimum term. The only possible value is 365 days.

", "locationName":"minTermDurationInDays" }, - "MaxTermDurationInDays":{ + "NetworkPlatform":{ + "shape":"String", + "documentation":"

The network platform (EC2-Classic or EC2-VPC).

", + "locationName":"networkPlatform" + }, + "Platform":{ + "shape":"String", + "documentation":"

The platform (Linux/UNIX or Windows).

", + "locationName":"platform" + }, + "PurchaseToken":{ + "shape":"String", + "documentation":"

The purchase token. This token expires in two hours.

", + "locationName":"purchaseToken" + }, + "Recurrence":{ + "shape":"ScheduledInstanceRecurrence", + "documentation":"

The schedule recurrence.

", + "locationName":"recurrence" + }, + "SlotDurationInHours":{ "shape":"Integer", - "documentation":"

The maximum term. The only possible value is 365 days.

", - "locationName":"maxTermDurationInDays" + "documentation":"

The number of hours in the schedule.

", + "locationName":"slotDurationInHours" + }, + "TotalScheduledInstanceHours":{ + "shape":"Integer", + "documentation":"

The total number of hours for a single instance for the entire term.

", + "locationName":"totalScheduledInstanceHours" } }, "documentation":"

Describes a schedule that is available for your Scheduled Instances.

" @@ -15849,6 +16435,10 @@ "shape":"String", "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

" }, + "Ebs":{ + "shape":"ScheduledInstancesEbs", + "documentation":"

Parameters used to set up EBS volumes automatically when the instance is launched.

" + }, "NoDevice":{ "shape":"String", "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

" @@ -15856,10 +16446,6 @@ "VirtualName":{ "shape":"String", "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with two available instance store volumes can specify mappings for ephemeral0 and ephemeral1.The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

" - }, - "Ebs":{ - "shape":"ScheduledInstancesEbs", - "documentation":"

Parameters used to set up EBS volumes automatically when the instance is launched.

" } }, "documentation":"

Describes a block device mapping for a Scheduled Instance.

" @@ -15874,6 +16460,18 @@ "ScheduledInstancesEbs":{ "type":"structure", "members":{ + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the volume is deleted on instance termination.

" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

" + }, "SnapshotId":{ "shape":"String", "documentation":"

The ID of the snapshot.

" @@ -15882,21 +16480,9 @@ "shape":"Integer", "documentation":"

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

" - }, "VolumeType":{ "shape":"String", "documentation":"

The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.

Default: standard

" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

" } }, "documentation":"

Describes an EBS volume for a Scheduled Instance.

" @@ -15936,64 +16522,64 @@ "type":"structure", "required":["ImageId"], "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the Amazon Machine Image (AMI).

" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

" - }, - "SecurityGroupIds":{ - "shape":"ScheduledInstancesSecurityGroupIdSet", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"SecurityGroupId" - }, - "UserData":{ - "shape":"String", - "documentation":"

The base64-encoded MIME user data.

" - }, - "Placement":{ - "shape":"ScheduledInstancesPlacement", - "documentation":"

The placement information.

" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type.

" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

" - }, "BlockDeviceMappings":{ "shape":"ScheduledInstancesBlockDeviceMappingSet", "documentation":"

One or more block device mapping entries.

", "locationName":"BlockDeviceMapping" }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Default: false

" + }, + "IamInstanceProfile":{ + "shape":"ScheduledInstancesIamInstanceProfile", + "documentation":"

The IAM instance profile.

" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the Amazon Machine Image (AMI).

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type.

" + }, + "KernelId":{ + "shape":"String", + "documentation":"

The ID of the kernel.

" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

" + }, "Monitoring":{ "shape":"ScheduledInstancesMonitoring", "documentation":"

Enable or disable monitoring for the instances.

" }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which to launch the instances.

" - }, "NetworkInterfaces":{ "shape":"ScheduledInstancesNetworkInterfaceSet", "documentation":"

One or more network interfaces.

", "locationName":"NetworkInterface" }, - "IamInstanceProfile":{ - "shape":"ScheduledInstancesIamInstanceProfile", - "documentation":"

The IAM instance profile.

" + "Placement":{ + "shape":"ScheduledInstancesPlacement", + "documentation":"

The placement information.

" }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Default: false

" + "RamdiskId":{ + "shape":"String", + "documentation":"

The ID of the RAM disk.

" + }, + "SecurityGroupIds":{ + "shape":"ScheduledInstancesSecurityGroupIdSet", + "documentation":"

The IDs of one or more security groups.

", + "locationName":"SecurityGroupId" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet in which to launch the instances.

" + }, + "UserData":{ + "shape":"String", + "documentation":"

The base64-encoded MIME user data.

" } }, "documentation":"

Describes the launch specification for a Scheduled Instance.

If you are launching the Scheduled Instance in EC2-VPC, you must specify the ID of the subnet. You can specify the subnet using either SubnetId or NetworkInterface.

" @@ -16011,21 +16597,39 @@ "ScheduledInstancesNetworkInterface":{ "type":"structure", "members":{ - "NetworkInterfaceId":{ + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The public IPv4 address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether to delete the interface when the instance is terminated.

" + }, + "Description":{ "shape":"String", - "documentation":"

The ID of the network interface.

" + "documentation":"

The description.

" }, "DeviceIndex":{ "shape":"Integer", "documentation":"

The index of the device for the network interface attachment.

" }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

" + "Groups":{ + "shape":"ScheduledInstancesSecurityGroupIdSet", + "documentation":"

The IDs of one or more security groups.

", + "locationName":"Group" }, - "Description":{ + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

" + }, + "Ipv6Addresses":{ + "shape":"ScheduledInstancesIpv6AddressList", + "documentation":"

One or more specific IPv6 addresses from the subnet range.

", + "locationName":"Ipv6Address" + }, + "NetworkInterfaceId":{ "shape":"String", - "documentation":"

The description.

" + "documentation":"

The ID of the network interface.

" }, "PrivateIpAddress":{ "shape":"String", @@ -16040,27 +16644,9 @@ "shape":"Integer", "documentation":"

The number of secondary private IPv4 addresses.

" }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The public IPv4 address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

" - }, - "Groups":{ - "shape":"ScheduledInstancesSecurityGroupIdSet", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"Group" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether to delete the interface when the instance is terminated.

" - }, - "Ipv6Addresses":{ - "shape":"ScheduledInstancesIpv6AddressList", - "documentation":"

One or more specific IPv6 addresses from the subnet range.

", - "locationName":"Ipv6Address" - }, - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

" + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

" } }, "documentation":"

Describes a network interface for a Scheduled Instance.

" @@ -16089,13 +16675,13 @@ "ScheduledInstancesPrivateIpAddressConfig":{ "type":"structure", "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IPv4 address.

" - }, "Primary":{ "shape":"Boolean", "documentation":"

Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary IPv4 address.

" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The IPv4 address.

" } }, "documentation":"

Describes a private IPv4 address for a Scheduled Instance.

" @@ -16110,45 +16696,45 @@ "SecurityGroup":{ "type":"structure", "members":{ - "OwnerId":{ + "Description":{ "shape":"String", - "documentation":"

The AWS account ID of the owner of the security group.

", - "locationName":"ownerId" + "documentation":"

A description of the security group.

", + "locationName":"groupDescription" }, "GroupName":{ "shape":"String", "documentation":"

The name of the security group.

", "locationName":"groupName" }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the security group.

", - "locationName":"groupDescription" - }, "IpPermissions":{ "shape":"IpPermissionList", "documentation":"

One or more inbound rules associated with the security group.

", "locationName":"ipPermissions" }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the owner of the security group.

", + "locationName":"ownerId" + }, + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group.

", + "locationName":"groupId" + }, "IpPermissionsEgress":{ "shape":"IpPermissionList", "documentation":"

[EC2-VPC] One or more outbound rules associated with the security group.

", "locationName":"ipPermissionsEgress" }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC for the security group.

", - "locationName":"vpcId" - }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the security group.

", "locationName":"tagSet" + }, + "VpcId":{ + "shape":"String", + "documentation":"

[EC2-VPC] The ID of the VPC for the security group.

", + "locationName":"vpcId" } }, "documentation":"

Describes a security group

" @@ -16248,15 +16834,45 @@ "Snapshot":{ "type":"structure", "members":{ + "DataEncryptionKeyId":{ + "shape":"String", + "documentation":"

The data encryption key identifier for the snapshot. This value is a unique identifier that corresponds to the data encryption key that was used to encrypt the original volume or snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, and vice versa, if snapshots share the same data encryption key identifier, then they belong to the same volume/snapshot lineage. This parameter is only returned by the DescribeSnapshots API operation.

", + "locationName":"dataEncryptionKeyId" + }, + "Description":{ + "shape":"String", + "documentation":"

The description for the snapshot.

", + "locationName":"description" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the snapshot is encrypted.

", + "locationName":"encrypted" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The full ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the parent volume.

", + "locationName":"kmsKeyId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the EBS snapshot owner.

", + "locationName":"ownerId" + }, + "Progress":{ + "shape":"String", + "documentation":"

The progress of the snapshot, as a percentage.

", + "locationName":"progress" + }, "SnapshotId":{ "shape":"String", "documentation":"

The ID of the snapshot. Each snapshot receives a unique identifier when it is created.

", "locationName":"snapshotId" }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any purpose.

", - "locationName":"volumeId" + "StartTime":{ + "shape":"DateTime", + "documentation":"

The time stamp when the snapshot was initiated.

", + "locationName":"startTime" }, "State":{ "shape":"SnapshotState", @@ -16268,25 +16884,10 @@ "documentation":"

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper AWS Key Management Service (AWS KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by the DescribeSnapshots API operation.

", "locationName":"statusMessage" }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the snapshot was initiated.

", - "locationName":"startTime" - }, - "Progress":{ + "VolumeId":{ "shape":"String", - "documentation":"

The progress of the snapshot, as a percentage.

", - "locationName":"progress" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the EBS snapshot owner.

", - "locationName":"ownerId" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for the snapshot.

", - "locationName":"description" + "documentation":"

The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any purpose.

", + "locationName":"volumeId" }, "VolumeSize":{ "shape":"Integer", @@ -16302,21 +16903,6 @@ "shape":"TagList", "documentation":"

Any tags assigned to the snapshot.

", "locationName":"tagSet" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the snapshot is encrypted.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The full ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the parent volume.

", - "locationName":"kmsKeyId" - }, - "DataEncryptionKeyId":{ - "shape":"String", - "documentation":"

The data encryption key identifier for the snapshot. This value is a unique identifier that corresponds to the data encryption key that was used to encrypt the original volume or snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, and vice versa, if snapshots share the same data encryption key identifier, then they belong to the same volume/snapshot lineage. This parameter is only returned by the DescribeSnapshots API operation.

", - "locationName":"dataEncryptionKeyId" } }, "documentation":"

Describes a snapshot.

" @@ -16331,21 +16917,46 @@ "SnapshotDetail":{ "type":"structure", "members":{ - "DiskImageSize":{ - "shape":"Double", - "documentation":"

The size of the disk in the snapshot, in GiB.

", - "locationName":"diskImageSize" - }, "Description":{ "shape":"String", "documentation":"

A description for the snapshot.

", "locationName":"description" }, + "DeviceName":{ + "shape":"String", + "documentation":"

The block device mapping for the snapshot.

", + "locationName":"deviceName" + }, + "DiskImageSize":{ + "shape":"Double", + "documentation":"

The size of the disk in the snapshot, in GiB.

", + "locationName":"diskImageSize" + }, "Format":{ "shape":"String", "documentation":"

The format of the disk image from which the snapshot is created.

", "locationName":"format" }, + "Progress":{ + "shape":"String", + "documentation":"

The percentage of progress for the task.

", + "locationName":"progress" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The snapshot ID of the disk being imported.

", + "locationName":"snapshotId" + }, + "Status":{ + "shape":"String", + "documentation":"

A brief status of the snapshot creation.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

A detailed status message for the snapshot creation.

", + "locationName":"statusMessage" + }, "Url":{ "shape":"String", "documentation":"

The URL used to access the disk image.

", @@ -16355,31 +16966,6 @@ "shape":"UserBucketDetails", "documentation":"

The S3 bucket for the disk image.

", "locationName":"userBucket" - }, - "DeviceName":{ - "shape":"String", - "documentation":"

The block device mapping for the snapshot.

", - "locationName":"deviceName" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot ID of the disk being imported.

", - "locationName":"snapshotId" - }, - "Progress":{ - "shape":"String", - "documentation":"

The percentage of progress for the task.

", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A detailed status message for the snapshot creation.

", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "documentation":"

A brief status of the snapshot creation.

", - "locationName":"status" } }, "documentation":"

Describes the snapshot created from the imported disk.

" @@ -16438,21 +17024,41 @@ "SnapshotTaskDetail":{ "type":"structure", "members":{ - "DiskImageSize":{ - "shape":"Double", - "documentation":"

The size of the disk in the snapshot, in GiB.

", - "locationName":"diskImageSize" - }, "Description":{ "shape":"String", "documentation":"

The description of the snapshot.

", "locationName":"description" }, + "DiskImageSize":{ + "shape":"Double", + "documentation":"

The size of the disk in the snapshot, in GiB.

", + "locationName":"diskImageSize" + }, "Format":{ "shape":"String", "documentation":"

The format of the disk image from which the snapshot is created.

", "locationName":"format" }, + "Progress":{ + "shape":"String", + "documentation":"

The percentage of completion for the import snapshot task.

", + "locationName":"progress" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The snapshot ID of the disk being imported.

", + "locationName":"snapshotId" + }, + "Status":{ + "shape":"String", + "documentation":"

A brief status for the import snapshot task.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

A detailed status message for the import snapshot task.

", + "locationName":"statusMessage" + }, "Url":{ "shape":"String", "documentation":"

The URL of the disk image from which the snapshot is created.

", @@ -16462,26 +17068,6 @@ "shape":"UserBucketDetails", "documentation":"

The S3 bucket for the disk image.

", "locationName":"userBucket" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot ID of the disk being imported.

", - "locationName":"snapshotId" - }, - "Progress":{ - "shape":"String", - "documentation":"

The percentage of completion for the import snapshot task.

", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A detailed status message for the import snapshot task.

", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "documentation":"

A brief status for the import snapshot task.

", - "locationName":"status" } }, "documentation":"

Details about the import snapshot task.

" @@ -16489,16 +17075,21 @@ "SpotDatafeedSubscription":{ "type":"structure", "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the account.

", - "locationName":"ownerId" - }, "Bucket":{ "shape":"String", "documentation":"

The Amazon S3 bucket where the Spot instance data feed is located.

", "locationName":"bucket" }, + "Fault":{ + "shape":"SpotInstanceStateFault", + "documentation":"

The fault codes for the Spot instance request, if any.

", + "locationName":"fault" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the account.

", + "locationName":"ownerId" + }, "Prefix":{ "shape":"String", "documentation":"

The prefix that is prepended to data feed files.

", @@ -16508,11 +17099,6 @@ "shape":"DatafeedSubscriptionState", "documentation":"

The state of the Spot instance data feed subscription.

", "locationName":"state" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "documentation":"

The fault codes for the Spot instance request, if any.

", - "locationName":"fault" } }, "documentation":"

Describes the data feed for a Spot instance.

" @@ -16520,90 +17106,90 @@ "SpotFleetLaunchSpecification":{ "type":"structure", "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

", - "locationName":"keyName" - }, "SecurityGroups":{ "shape":"GroupIdentifierList", "documentation":"

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", "locationName":"groupSet" }, - "UserData":{ - "shape":"String", - "documentation":"

The user data to make available to the instances. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", - "locationName":"userData" - }, "AddressingType":{ "shape":"String", "documentation":"

Deprecated.

", "locationName":"addressingType" }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. Note that T2 and HS1 instance types are not supported.

", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"SpotPlacement", - "documentation":"

The placement information.

", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappingList", "documentation":"

One or more block device mapping entries.

", "locationName":"blockDeviceMapping" }, - "Monitoring":{ - "shape":"SpotFleetMonitoring", - "documentation":"

Enable or disable monitoring for the instances.

", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \"subnet-a61dafcf, subnet-65ea5f08\".

", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", - "locationName":"networkInterfaceSet" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "documentation":"

The IAM instance profile.

", - "locationName":"iamInstanceProfile" - }, "EbsOptimized":{ "shape":"Boolean", "documentation":"

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", "locationName":"ebsOptimized" }, - "WeightedCapacity":{ - "shape":"Double", - "documentation":"

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms (instances or a performance characteristic such as vCPUs, memory, or I/O).

If the target capacity divided by this value is not a whole number, we round the number of instances to the next whole number. If this value is not specified, the default is 1.

", - "locationName":"weightedCapacity" + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

", + "locationName":"iamInstanceProfile" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI.

", + "locationName":"imageId" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type. Note that T2 and HS1 instance types are not supported.

", + "locationName":"instanceType" + }, + "KernelId":{ + "shape":"String", + "documentation":"

The ID of the kernel.

", + "locationName":"kernelId" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" + }, + "Monitoring":{ + "shape":"SpotFleetMonitoring", + "documentation":"

Enable or disable monitoring for the instances.

", + "locationName":"monitoring" + }, + "NetworkInterfaces":{ + "shape":"InstanceNetworkInterfaceSpecificationList", + "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", + "locationName":"networkInterfaceSet" + }, + "Placement":{ + "shape":"SpotPlacement", + "documentation":"

The placement information.

", + "locationName":"placement" + }, + "RamdiskId":{ + "shape":"String", + "documentation":"

The ID of the RAM disk.

", + "locationName":"ramdiskId" }, "SpotPrice":{ "shape":"String", "documentation":"

The bid price per unit hour for the specified instance type. If this value is not specified, the default is the Spot bid price specified for the fleet. To determine the bid price per unit hour, divide the Spot bid price by the value of WeightedCapacity.

", "locationName":"spotPrice" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \"subnet-a61dafcf, subnet-65ea5f08\".

", + "locationName":"subnetId" + }, + "UserData":{ + "shape":"String", + "documentation":"

The user data to make available to the instances. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", + "locationName":"userData" + }, + "WeightedCapacity":{ + "shape":"Double", + "documentation":"

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms (instances or a performance characteristic such as vCPUs, memory, or I/O).

If the target capacity divided by this value is not a whole number, we round the number of instances to the next whole number. If this value is not specified, the default is 1.

", + "locationName":"weightedCapacity" } }, "documentation":"

Describes the launch specification for one or more Spot instances.

" @@ -16622,12 +17208,27 @@ "SpotFleetRequestConfig":{ "type":"structure", "required":[ - "SpotFleetRequestId", - "SpotFleetRequestState", + "CreateTime", "SpotFleetRequestConfig", - "CreateTime" + "SpotFleetRequestId", + "SpotFleetRequestState" ], "members":{ + "ActivityStatus":{ + "shape":"ActivityStatus", + "documentation":"

The progress of the Spot fleet request. If there is an error, the status is error. After all bids are placed, the status is pending_fulfillment. If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. If the size of the fleet is decreased, the status is pending_termination while Spot instances are terminating.

", + "locationName":"activityStatus" + }, + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The creation date and time of the request.

", + "locationName":"createTime" + }, + "SpotFleetRequestConfig":{ + "shape":"SpotFleetRequestConfigData", + "documentation":"

Information about the configuration of the Spot fleet request.

", + "locationName":"spotFleetRequestConfig" + }, "SpotFleetRequestId":{ "shape":"String", "documentation":"

The ID of the Spot fleet request.

", @@ -16637,21 +17238,6 @@ "shape":"BatchState", "documentation":"

The state of the Spot fleet request.

", "locationName":"spotFleetRequestState" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "documentation":"

Information about the configuration of the Spot fleet request.

", - "locationName":"spotFleetRequestConfig" - }, - "CreateTime":{ - "shape":"DateTime", - "documentation":"

The creation date and time of the request.

", - "locationName":"createTime" - }, - "ActivityStatus":{ - "shape":"ActivityStatus", - "documentation":"

The progress of the Spot fleet request. If there is an error, the status is error. After all bids are placed, the status is pending_fulfillment. If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. If the size of the fleet is decreased, the status is pending_termination while Spot instances are terminating.

", - "locationName":"activityStatus" } }, "documentation":"

Describes a Spot fleet request.

" @@ -16659,41 +17245,31 @@ "SpotFleetRequestConfigData":{ "type":"structure", "required":[ - "SpotPrice", - "TargetCapacity", "IamFleetRole", - "LaunchSpecifications" + "LaunchSpecifications", + "SpotPrice", + "TargetCapacity" ], "members":{ + "AllocationStrategy":{ + "shape":"AllocationStrategy", + "documentation":"

Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

", + "locationName":"allocationStrategy" + }, "ClientToken":{ "shape":"String", "documentation":"

A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", "locationName":"clientToken" }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The bid price per unit hour.

", - "locationName":"spotPrice" + "ExcessCapacityTerminationPolicy":{ + "shape":"ExcessCapacityTerminationPolicy", + "documentation":"

Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.

", + "locationName":"excessCapacityTerminationPolicy" }, - "TargetCapacity":{ - "shape":"Integer", - "documentation":"

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.

", - "locationName":"targetCapacity" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.

", - "locationName":"validUntil" - }, - "TerminateInstancesWithExpiration":{ - "shape":"Boolean", - "documentation":"

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

", - "locationName":"terminateInstancesWithExpiration" + "FulfilledCapacity":{ + "shape":"Double", + "documentation":"

The number of units fulfilled by this request compared to the set target capacity.

", + "locationName":"fulfilledCapacity" }, "IamFleetRole":{ "shape":"String", @@ -16705,26 +17281,36 @@ "documentation":"

Information about the launch specifications for the Spot fleet request.

", "locationName":"launchSpecifications" }, - "ExcessCapacityTerminationPolicy":{ - "shape":"ExcessCapacityTerminationPolicy", - "documentation":"

Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.

", - "locationName":"excessCapacityTerminationPolicy" + "SpotPrice":{ + "shape":"String", + "documentation":"

The bid price per unit hour.

", + "locationName":"spotPrice" }, - "AllocationStrategy":{ - "shape":"AllocationStrategy", - "documentation":"

Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

", - "locationName":"allocationStrategy" + "TargetCapacity":{ + "shape":"Integer", + "documentation":"

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.

", + "locationName":"targetCapacity" }, - "FulfilledCapacity":{ - "shape":"Double", - "documentation":"

The number of units fulfilled by this request compared to the set target capacity.

", - "locationName":"fulfilledCapacity" + "TerminateInstancesWithExpiration":{ + "shape":"Boolean", + "documentation":"

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

", + "locationName":"terminateInstancesWithExpiration" }, "Type":{ "shape":"FleetType", "documentation":"

The type of request. Indicates whether the fleet will only request the target capacity or also attempt to maintain it. When you request a certain target capacity, the fleet will only place the required bids. It will not attempt to replenish Spot instances if capacity is diminished, nor will it submit bids in alternative Spot pools if capacity is not available. When you want to maintain a certain target capacity, fleet will place the required bids to meet this target capacity. It will also automatically replenish any interrupted instances. Default: maintain.

", "locationName":"type" }, + "ValidFrom":{ + "shape":"DateTime", + "documentation":"

The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

", + "locationName":"validFrom" + }, + "ValidUntil":{ + "shape":"DateTime", + "documentation":"

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.

", + "locationName":"validUntil" + }, "ReplaceUnhealthyInstances":{ "shape":"Boolean", "documentation":"

Indicates whether Spot fleet should replace unhealthy instances.

", @@ -16743,6 +17329,56 @@ "SpotInstanceRequest":{ "type":"structure", "members":{ + "ActualBlockHourlyPrice":{ + "shape":"String", + "documentation":"

If you specified a duration and your Spot instance request was fulfilled, this is the fixed hourly price in effect for the Spot instance while it runs.

", + "locationName":"actualBlockHourlyPrice" + }, + "AvailabilityZoneGroup":{ + "shape":"String", + "documentation":"

The Availability Zone group. If you specify the same Availability Zone group for all Spot instance requests, all Spot instances are launched in the same Availability Zone.

", + "locationName":"availabilityZoneGroup" + }, + "BlockDurationMinutes":{ + "shape":"Integer", + "documentation":"

The duration for the Spot instance, in minutes.

", + "locationName":"blockDurationMinutes" + }, + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The date and time when the Spot instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"createTime" + }, + "Fault":{ + "shape":"SpotInstanceStateFault", + "documentation":"

The fault codes for the Spot instance request, if any.

", + "locationName":"fault" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The instance ID, if an instance has been launched to fulfill the Spot instance request.

", + "locationName":"instanceId" + }, + "LaunchGroup":{ + "shape":"String", + "documentation":"

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

", + "locationName":"launchGroup" + }, + "LaunchSpecification":{ + "shape":"LaunchSpecification", + "documentation":"

Additional information for launching instances.

", + "locationName":"launchSpecification" + }, + "LaunchedAvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which the bid is launched.

", + "locationName":"launchedAvailabilityZone" + }, + "ProductDescription":{ + "shape":"RIProductDescription", + "documentation":"

The product description associated with the Spot instance.

", + "locationName":"productDescription" + }, "SpotInstanceRequestId":{ "shape":"String", "documentation":"

The ID of the Spot instance request.

", @@ -16753,26 +17389,26 @@ "documentation":"

The maximum hourly price (bid) for the Spot instance launched to fulfill the request.

", "locationName":"spotPrice" }, - "Type":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot instance request type.

", - "locationName":"type" - }, "State":{ "shape":"SpotInstanceState", "documentation":"

The state of the Spot instance request. Spot bid status information can help you track your Spot instance requests. For more information, see Spot Bid Status in the Amazon Elastic Compute Cloud User Guide.

", "locationName":"state" }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "documentation":"

The fault codes for the Spot instance request, if any.

", - "locationName":"fault" - }, "Status":{ "shape":"SpotInstanceStatus", "documentation":"

The status code and status message describing the Spot instance request.

", "locationName":"status" }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the resource.

", + "locationName":"tagSet" + }, + "Type":{ + "shape":"SpotInstanceType", + "documentation":"

The Spot instance request type.

", + "locationName":"type" + }, "ValidFrom":{ "shape":"DateTime", "documentation":"

The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The request becomes active at this date and time.

", @@ -16782,56 +17418,6 @@ "shape":"DateTime", "documentation":"

The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). If this is a one-time request, it remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached.

", "locationName":"validUntil" - }, - "LaunchGroup":{ - "shape":"String", - "documentation":"

The instance launch group. Launch groups are Spot instances that launch together and terminate together.

", - "locationName":"launchGroup" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "documentation":"

The Availability Zone group. If you specify the same Availability Zone group for all Spot instance requests, all Spot instances are launched in the same Availability Zone.

", - "locationName":"availabilityZoneGroup" - }, - "LaunchSpecification":{ - "shape":"LaunchSpecification", - "documentation":"

Additional information for launching instances.

", - "locationName":"launchSpecification" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID, if an instance has been launched to fulfill the Spot instance request.

", - "locationName":"instanceId" - }, - "CreateTime":{ - "shape":"DateTime", - "documentation":"

The date and time when the Spot instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"createTime" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The product description associated with the Spot instance.

", - "locationName":"productDescription" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "documentation":"

The duration for the Spot instance, in minutes.

", - "locationName":"blockDurationMinutes" - }, - "ActualBlockHourlyPrice":{ - "shape":"String", - "documentation":"

If you specified a duration and your Spot instance request was fulfilled, this is the fixed hourly price in effect for the Spot instance while it runs.

", - "locationName":"actualBlockHourlyPrice" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "LaunchedAvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which the bid is launched.

", - "locationName":"launchedAvailabilityZone" } }, "documentation":"

Describes a Spot instance request.

" @@ -16884,15 +17470,15 @@ "documentation":"

The status code. For a list of status codes, see Spot Bid Status Codes in the Amazon Elastic Compute Cloud User Guide.

", "locationName":"code" }, - "UpdateTime":{ - "shape":"DateTime", - "documentation":"

The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"updateTime" - }, "Message":{ "shape":"String", "documentation":"

The description for the status code.

", "locationName":"message" + }, + "UpdateTime":{ + "shape":"DateTime", + "documentation":"

The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"updateTime" } }, "documentation":"

Describes the status of a Spot instance request.

" @@ -16928,6 +17514,11 @@ "SpotPrice":{ "type":"structure", "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

", + "locationName":"availabilityZone" + }, "InstanceType":{ "shape":"InstanceType", "documentation":"

The instance type. Note that T2 and HS1 instance types are not supported.

", @@ -16947,11 +17538,6 @@ "shape":"DateTime", "documentation":"

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", "locationName":"timestamp" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" } }, "documentation":"

Describes the maximum hourly price (bid) for any Spot instance launched to fulfill the request.

" @@ -17010,6 +17596,11 @@ "type":"structure", "required":["GroupId"], "members":{ + "Description":{ + "shape":"String", + "documentation":"

The description of the security group.

", + "locationName":"description" + }, "GroupId":{ "shape":"String", "documentation":"

The ID of the security group.

", @@ -17020,16 +17611,6 @@ "documentation":"

The name of the security group.

", "locationName":"groupName" }, - "Description":{ - "shape":"String", - "documentation":"

The description of the security group.

", - "locationName":"description" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC for the security group.

", - "locationName":"vpcId" - }, "StaleIpPermissions":{ "shape":"StaleIpPermissionSet", "documentation":"

Information about the stale inbound rules in the security group.

", @@ -17039,6 +17620,11 @@ "shape":"StaleIpPermissionSet", "documentation":"

Information about the stale outbound rules in the security group.

", "locationName":"staleIpPermissionsEgress" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC for the security group.

", + "locationName":"vpcId" } }, "documentation":"

Describes a stale security group (a security group that contains stale rules).

" @@ -17102,7 +17688,7 @@ }, "Message":{ "shape":"String", - "documentation":"

The message for the state change.

  • Server.SpotInstanceTermination: A Spot instance was terminated due to an increase in the market price.

  • Server.InternalError: An internal error occurred during instance launch, resulting in termination.

  • Server.InsufficientInstanceCapacity: There was insufficient instance capacity to satisfy the launch request.

  • Client.InternalError: A client error caused the instance to terminate on launch.

  • Client.InstanceInitiatedShutdown: The instance was shut down using the shutdown -h command from the instance.

  • Client.UserInitiatedShutdown: The instance was shut down using the Amazon EC2 API.

  • Client.VolumeLimitExceeded: The limit on the number of EBS volumes or total storage was exceeded. Decrease usage or request an increase in your limits.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

", + "documentation":"

The message for the state change.

  • Server.InsufficientInstanceCapacity: There was insufficient instance capacity to satisfy the launch request.

  • Server.InternalError: An internal error occurred during instance launch, resulting in termination.

  • Server.ScheduledStop: The instance was stopped due to a scheduled retirement.

  • Server.SpotInstanceTermination: A Spot instance was terminated due to an increase in the market price.

  • Client.InternalError: A client error caused the instance to terminate on launch.

  • Client.InstanceInitiatedShutdown: The instance was shut down using the shutdown -h command from the instance.

  • Client.UserInitiatedShutdown: The instance was shut down using the Amazon EC2 API.

  • Client.VolumeLimitExceeded: The limit on the number of EBS volumes or total storage was exceeded. Decrease usage or request an increase in your limits.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

", "locationName":"message" } }, @@ -17133,16 +17719,16 @@ "type":"structure", "required":["InstanceIds"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "InstanceIds":{ "shape":"InstanceIdStringList", "documentation":"

One or more instance IDs.

", "locationName":"InstanceId" }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, "Force":{ "shape":"Boolean", "documentation":"

Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

Default: false

", @@ -17172,49 +17758,38 @@ }, "documentation":"

Describes the storage location for an instance store-backed AMI.

" }, + "StorageLocation":{ + "type":"structure", + "members":{ + "Bucket":{ + "shape":"String", + "documentation":"

The name of the S3 bucket.

" + }, + "Key":{ + "shape":"String", + "documentation":"

The key.

" + } + }, + "documentation":"

Describes a storage location in Amazon S3.

" + }, "String":{"type":"string"}, "Subnet":{ "type":"structure", "members":{ - "SubnetId":{ + "AvailabilityZone":{ "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "State":{ - "shape":"SubnetState", - "documentation":"

The current state of the subnet.

", - "locationName":"state" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC the subnet is in.

", - "locationName":"vpcId" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 CIDR block assigned to the subnet.

", - "locationName":"cidrBlock" - }, - "Ipv6CidrBlockAssociationSet":{ - "shape":"SubnetIpv6CidrBlockAssociationSet", - "documentation":"

Information about the IPv6 CIDR blocks associated with the subnet.

", - "locationName":"ipv6CidrBlockAssociationSet" - }, - "AssignIpv6AddressOnCreation":{ - "shape":"Boolean", - "documentation":"

Indicates whether a network interface created in this subnet (including a network interface created by RunInstances) receives an IPv6 address.

", - "locationName":"assignIpv6AddressOnCreation" + "documentation":"

The Availability Zone of the subnet.

", + "locationName":"availabilityZone" }, "AvailableIpAddressCount":{ "shape":"Integer", "documentation":"

The number of unused private IPv4 addresses in the subnet. Note that the IPv4 addresses for any stopped instances are considered unavailable.

", "locationName":"availableIpAddressCount" }, - "AvailabilityZone":{ + "CidrBlock":{ "shape":"String", - "documentation":"

The Availability Zone of the subnet.

", - "locationName":"availabilityZone" + "documentation":"

The IPv4 CIDR block assigned to the subnet.

", + "locationName":"cidrBlock" }, "DefaultForAz":{ "shape":"Boolean", @@ -17226,6 +17801,31 @@ "documentation":"

Indicates whether instances launched in this subnet receive a public IPv4 address.

", "locationName":"mapPublicIpOnLaunch" }, + "State":{ + "shape":"SubnetState", + "documentation":"

The current state of the subnet.

", + "locationName":"state" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC the subnet is in.

", + "locationName":"vpcId" + }, + "AssignIpv6AddressOnCreation":{ + "shape":"Boolean", + "documentation":"

Indicates whether a network interface created in this subnet (including a network interface created by RunInstances) receives an IPv6 address.

", + "locationName":"assignIpv6AddressOnCreation" + }, + "Ipv6CidrBlockAssociationSet":{ + "shape":"SubnetIpv6CidrBlockAssociationSet", + "documentation":"

Information about the IPv6 CIDR blocks associated with the subnet.

", + "locationName":"ipv6CidrBlockAssociationSet" + }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the subnet.

", @@ -17271,6 +17871,11 @@ "SubnetIpv6CidrBlockAssociation":{ "type":"structure", "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The association ID for the CIDR block.

", + "locationName":"associationId" + }, "Ipv6CidrBlock":{ "shape":"String", "documentation":"

The IPv6 CIDR block.

", @@ -17280,11 +17885,6 @@ "shape":"SubnetCidrBlockState", "documentation":"

Information about the state of the CIDR block.

", "locationName":"ipv6CidrBlockState" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID for the CIDR block.

", - "locationName":"associationId" } }, "documentation":"

Describes an IPv6 CIDR block associated with a subnet.

" @@ -17339,6 +17939,11 @@ "TagDescription":{ "type":"structure", "members":{ + "Key":{ + "shape":"String", + "documentation":"

The tag key.

", + "locationName":"key" + }, "ResourceId":{ "shape":"String", "documentation":"

The ID of the resource. For example, ami-1a2b3c4d.

", @@ -17349,11 +17954,6 @@ "documentation":"

The resource type.

", "locationName":"resourceType" }, - "Key":{ - "shape":"String", - "documentation":"

The tag key.

", - "locationName":"key" - }, "Value":{ "shape":"String", "documentation":"

The tag value.

", @@ -17376,18 +17976,41 @@ "locationName":"item" } }, + "TagSpecification":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource to tag. Currently, the resource types that support tagging on creation are instance and volume.

", + "locationName":"resourceType" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to apply to the resource.

", + "locationName":"Tag" + } + }, + "documentation":"

The tags to apply to a resource when the resource is being created.

" + }, + "TagSpecificationList":{ + "type":"list", + "member":{ + "shape":"TagSpecification", + "locationName":"item" + } + }, "TargetConfiguration":{ "type":"structure", "members":{ - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the Convertible Reserved Instance offering.

", - "locationName":"offeringId" - }, "InstanceCount":{ "shape":"Integer", "documentation":"

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

", "locationName":"instanceCount" + }, + "OfferingId":{ + "shape":"String", + "documentation":"

The ID of the Convertible Reserved Instance offering.

", + "locationName":"offeringId" } }, "documentation":"

Information about the Convertible Reserved Instance offering.

" @@ -17396,13 +18019,13 @@ "type":"structure", "required":["OfferingId"], "members":{ - "OfferingId":{ - "shape":"String", - "documentation":"

The Convertible Reserved Instance offering ID.

" - }, "InstanceCount":{ "shape":"Integer", "documentation":"

The number of instances the Covertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

" + }, + "OfferingId":{ + "shape":"String", + "documentation":"

The Convertible Reserved Instance offering ID.

" } }, "documentation":"

Details about the target configuration.

" @@ -17417,15 +18040,15 @@ "TargetReservationValue":{ "type":"structure", "members":{ - "TargetConfiguration":{ - "shape":"TargetConfiguration", - "documentation":"

The configuration of the Convertible Reserved Instances that make up the exchange.

", - "locationName":"targetConfiguration" - }, "ReservationValue":{ "shape":"ReservationValue", "documentation":"

The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of the list value, remaining upfront price, and additional upfront cost of the exchange.

", "locationName":"reservationValue" + }, + "TargetConfiguration":{ + "shape":"TargetConfiguration", + "documentation":"

The configuration of the Convertible Reserved Instances that make up the exchange.

", + "locationName":"targetConfiguration" } }, "documentation":"

The total value of the new Convertible Reserved Instances.

" @@ -17456,15 +18079,15 @@ "type":"structure", "required":["InstanceIds"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "InstanceIds":{ "shape":"InstanceIdStringList", "documentation":"

One or more instance IDs.

Constraints: Up to 1000 instance IDs. We recommend breaking up this request into smaller batches.

", "locationName":"InstanceId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for TerminateInstances.

" @@ -17491,19 +18114,19 @@ "UnassignIpv6AddressesRequest":{ "type":"structure", "required":[ - "NetworkInterfaceId", - "Ipv6Addresses" + "Ipv6Addresses", + "NetworkInterfaceId" ], "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, "Ipv6Addresses":{ "shape":"Ipv6AddressList", "documentation":"

The IPv6 addresses to unassign from the network interface.

", "locationName":"ipv6Addresses" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" } } }, @@ -17546,15 +18169,15 @@ "type":"structure", "required":["InstanceIds"], "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, "InstanceIds":{ "shape":"InstanceIdStringList", "documentation":"

One or more instance IDs.

", "locationName":"InstanceId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" } }, "documentation":"

Contains the parameters for UnmonitorInstances.

" @@ -17574,15 +18197,15 @@ "type":"structure", "required":["Error"], "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource.

", - "locationName":"resourceId" - }, "Error":{ "shape":"UnsuccessfulItemError", "documentation":"

Information about the error.

", "locationName":"error" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" } }, "documentation":"

Information about items that were not successfully processed in a batch call.

" @@ -17672,20 +18295,25 @@ "UserIdGroupPair":{ "type":"structure", "members":{ - "UserId":{ + "GroupId":{ "shape":"String", - "documentation":"

The ID of an AWS account. For a referenced security group in another VPC, the account ID of the referenced security group is returned.

[EC2-Classic] Required when adding or removing rules that reference a security group in another AWS account.

", - "locationName":"userId" + "documentation":"

The ID of the security group.

", + "locationName":"groupId" }, "GroupName":{ "shape":"String", "documentation":"

The name of the security group. In a request, use this parameter for a security group in EC2-Classic or a default VPC only. For a security group in a nondefault VPC, use the security group ID.

", "locationName":"groupName" }, - "GroupId":{ + "PeeringStatus":{ "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" + "documentation":"

The status of a VPC peering connection, if applicable.

", + "locationName":"peeringStatus" + }, + "UserId":{ + "shape":"String", + "documentation":"

The ID of an AWS account. For a referenced security group in another VPC, the account ID of the referenced security group is returned.

[EC2-Classic] Required when adding or removing rules that reference a security group in another AWS account.

", + "locationName":"userId" }, "VpcId":{ "shape":"String", @@ -17696,11 +18324,6 @@ "shape":"String", "documentation":"

The ID of the VPC peering connection, if applicable.

", "locationName":"vpcPeeringConnectionId" - }, - "PeeringStatus":{ - "shape":"String", - "documentation":"

The status of a VPC peering connection, if applicable.

", - "locationName":"peeringStatus" } }, "documentation":"

Describes a security group and AWS account ID pair.

" @@ -17736,6 +18359,16 @@ "VgwTelemetry":{ "type":"structure", "members":{ + "AcceptedRouteCount":{ + "shape":"Integer", + "documentation":"

The number of accepted routes.

", + "locationName":"acceptedRouteCount" + }, + "LastStatusChange":{ + "shape":"DateTime", + "documentation":"

The date and time of the last change in status.

", + "locationName":"lastStatusChange" + }, "OutsideIpAddress":{ "shape":"String", "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

", @@ -17746,20 +18379,10 @@ "documentation":"

The status of the VPN tunnel.

", "locationName":"status" }, - "LastStatusChange":{ - "shape":"DateTime", - "documentation":"

The date and time of the last change in status.

", - "locationName":"lastStatusChange" - }, "StatusMessage":{ "shape":"String", "documentation":"

If an error occurs, a description of the error.

", "locationName":"statusMessage" - }, - "AcceptedRouteCount":{ - "shape":"Integer", - "documentation":"

The number of accepted routes.

", - "locationName":"acceptedRouteCount" } }, "documentation":"

Describes telemetry for a VPN tunnel.

" @@ -17781,10 +18404,30 @@ "Volume":{ "type":"structure", "members":{ - "VolumeId":{ + "Attachments":{ + "shape":"VolumeAttachmentList", + "documentation":"

Information about the volume attachments.

", + "locationName":"attachmentSet" + }, + "AvailabilityZone":{ "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" + "documentation":"

The Availability Zone for the volume.

", + "locationName":"availabilityZone" + }, + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The time stamp when volume creation was initiated.

", + "locationName":"createTime" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the volume will be encrypted.

", + "locationName":"encrypted" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The full ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the volume.

", + "locationName":"kmsKeyId" }, "Size":{ "shape":"Integer", @@ -17796,25 +18439,20 @@ "documentation":"

The snapshot from which the volume was created, if applicable.

", "locationName":"snapshotId" }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the volume.

", - "locationName":"availabilityZone" - }, "State":{ "shape":"VolumeState", "documentation":"

The volume state.

", "locationName":"status" }, - "CreateTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when volume creation was initiated.

", - "locationName":"createTime" + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the volume.

", + "locationName":"volumeId" }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "documentation":"

Information about the volume attachments.

", - "locationName":"attachmentSet" + "Iops":{ + "shape":"Integer", + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information on General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

", + "locationName":"iops" }, "Tags":{ "shape":"TagList", @@ -17825,21 +18463,6 @@ "shape":"VolumeType", "documentation":"

The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", "locationName":"volumeType" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information on General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume will be encrypted.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The full ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the volume.

", - "locationName":"kmsKeyId" } }, "documentation":"

Describes a volume.

" @@ -17847,30 +18470,30 @@ "VolumeAttachment":{ "type":"structure", "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" + "AttachTime":{ + "shape":"DateTime", + "documentation":"

The time stamp when the attachment initiated.

", + "locationName":"attachTime" }, "Device":{ "shape":"String", "documentation":"

The device name.

", "locationName":"device" }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, "State":{ "shape":"VolumeAttachmentState", "documentation":"

The attachment state of the volume.

", "locationName":"status" }, - "AttachTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the attachment initiated.

", - "locationName":"attachTime" + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the volume.

", + "locationName":"volumeId" }, "DeleteOnTermination":{ "shape":"Boolean", @@ -17929,6 +18552,88 @@ "locationName":"item" } }, + "VolumeModification":{ + "type":"structure", + "members":{ + "VolumeId":{ + "shape":"String", + "documentation":"

ID of the volume being modified.

", + "locationName":"volumeId" + }, + "ModificationState":{ + "shape":"VolumeModificationState", + "documentation":"

Current state of modification. Modification state is null for unmodified volumes.

", + "locationName":"modificationState" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

Generic status message on modification progress or failure.

", + "locationName":"statusMessage" + }, + "TargetSize":{ + "shape":"Integer", + "documentation":"

Target size of the volume being modified.

", + "locationName":"targetSize" + }, + "TargetIops":{ + "shape":"Integer", + "documentation":"

Target IOPS rate of the volume being modified.

", + "locationName":"targetIops" + }, + "TargetVolumeType":{ + "shape":"VolumeType", + "documentation":"

Target EBS volume type of the volume being modified.

", + "locationName":"targetVolumeType" + }, + "OriginalSize":{ + "shape":"Integer", + "documentation":"

Original size of the volume being modified.

", + "locationName":"originalSize" + }, + "OriginalIops":{ + "shape":"Integer", + "documentation":"

Original IOPS rate of the volume being modified.

", + "locationName":"originalIops" + }, + "OriginalVolumeType":{ + "shape":"VolumeType", + "documentation":"

Original EBS volume type of the volume being modified.

", + "locationName":"originalVolumeType" + }, + "Progress":{ + "shape":"Long", + "documentation":"

Modification progress from 0 to 100%.

", + "locationName":"progress" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

Modification start time

", + "locationName":"startTime" + }, + "EndTime":{ + "shape":"DateTime", + "documentation":"

Modification completion or failure time.

", + "locationName":"endTime" + } + }, + "documentation":"

Describes the modification status of an EBS volume.

If the volume has never been modified, some element values will be null.

" + }, + "VolumeModificationList":{ + "type":"list", + "member":{ + "shape":"VolumeModification", + "locationName":"item" + } + }, + "VolumeModificationState":{ + "type":"string", + "enum":[ + "modifying", + "optimizing", + "completed", + "failed" + ] + }, "VolumeState":{ "type":"string", "enum":[ @@ -17953,15 +18658,15 @@ "documentation":"

A description of the operation.

", "locationName":"description" }, - "EventType":{ - "shape":"String", - "documentation":"

The event type associated with this operation.

", - "locationName":"eventType" - }, "EventId":{ "shape":"String", "documentation":"

The ID of the event associated with this operation.

", "locationName":"eventId" + }, + "EventType":{ + "shape":"String", + "documentation":"

The event type associated with this operation.

", + "locationName":"eventType" } }, "documentation":"

Describes a volume status operation code.

" @@ -17999,30 +18704,30 @@ "VolumeStatusEvent":{ "type":"structure", "members":{ - "EventType":{ - "shape":"String", - "documentation":"

The type of this event.

", - "locationName":"eventType" - }, "Description":{ "shape":"String", "documentation":"

A description of the event.

", "locationName":"description" }, - "NotBefore":{ - "shape":"DateTime", - "documentation":"

The earliest start time of the event.

", - "locationName":"notBefore" + "EventId":{ + "shape":"String", + "documentation":"

The ID of this event.

", + "locationName":"eventId" + }, + "EventType":{ + "shape":"String", + "documentation":"

The type of this event.

", + "locationName":"eventType" }, "NotAfter":{ "shape":"DateTime", "documentation":"

The latest end time of the event.

", "locationName":"notAfter" }, - "EventId":{ - "shape":"String", - "documentation":"

The ID of this event.

", - "locationName":"eventId" + "NotBefore":{ + "shape":"DateTime", + "documentation":"

The earliest start time of the event.

", + "locationName":"notBefore" } }, "documentation":"

Describes a volume status event.

" @@ -18037,15 +18742,15 @@ "VolumeStatusInfo":{ "type":"structure", "members":{ - "Status":{ - "shape":"VolumeStatusInfoStatus", - "documentation":"

The status of the volume.

", - "locationName":"status" - }, "Details":{ "shape":"VolumeStatusDetailsList", "documentation":"

The details of the volume status.

", "locationName":"details" + }, + "Status":{ + "shape":"VolumeStatusInfoStatus", + "documentation":"

The status of the volume.

", + "locationName":"status" } }, "documentation":"

Describes the status of a volume.

" @@ -18061,30 +18766,30 @@ "VolumeStatusItem":{ "type":"structure", "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

", - "locationName":"volumeId" + "Actions":{ + "shape":"VolumeStatusActionsList", + "documentation":"

The details of the operation.

", + "locationName":"actionsSet" }, "AvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone of the volume.

", "locationName":"availabilityZone" }, - "VolumeStatus":{ - "shape":"VolumeStatusInfo", - "documentation":"

The volume status.

", - "locationName":"volumeStatus" - }, "Events":{ "shape":"VolumeStatusEventsList", "documentation":"

A list of events associated with the volume.

", "locationName":"eventsSet" }, - "Actions":{ - "shape":"VolumeStatusActionsList", - "documentation":"

The details of the operation.

", - "locationName":"actionsSet" + "VolumeId":{ + "shape":"String", + "documentation":"

The volume ID.

", + "locationName":"volumeId" + }, + "VolumeStatus":{ + "shape":"VolumeStatusInfo", + "documentation":"

The volume status.

", + "locationName":"volumeStatus" } }, "documentation":"

Describes the volume status.

" @@ -18116,16 +18821,6 @@ "Vpc":{ "type":"structure", "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "State":{ - "shape":"VpcState", - "documentation":"

The current state of the VPC.

", - "locationName":"state" - }, "CidrBlock":{ "shape":"String", "documentation":"

The IPv4 CIDR block for the VPC.

", @@ -18136,25 +18831,35 @@ "documentation":"

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", "locationName":"dhcpOptionsId" }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" + "State":{ + "shape":"VpcState", + "documentation":"

The current state of the VPC.

", + "locationName":"state" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" }, "InstanceTenancy":{ "shape":"Tenancy", "documentation":"

The allowed tenancy of instances launched into the VPC.

", "locationName":"instanceTenancy" }, + "Ipv6CidrBlockAssociationSet":{ + "shape":"VpcIpv6CidrBlockAssociationSet", + "documentation":"

Information about the IPv6 CIDR blocks associated with the VPC.

", + "locationName":"ipv6CidrBlockAssociationSet" + }, "IsDefault":{ "shape":"Boolean", "documentation":"

Indicates whether the VPC is the default VPC.

", "locationName":"isDefault" }, - "Ipv6CidrBlockAssociationSet":{ - "shape":"VpcIpv6CidrBlockAssociationSet", - "documentation":"

Information about the IPv6 CIDR blocks associated with the VPC.

", - "locationName":"ipv6CidrBlockAssociationSet" + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the VPC.

", + "locationName":"tagSet" } }, "documentation":"

Describes a VPC.

" @@ -18162,15 +18867,15 @@ "VpcAttachment":{ "type":"structure", "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, "State":{ "shape":"AttachmentStatus", "documentation":"

The current state of the attachment.

", "locationName":"state" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } }, "documentation":"

Describes an attachment between a virtual private gateway and a VPC.

" @@ -18219,11 +18924,6 @@ "VpcClassicLink":{ "type":"structure", "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, "ClassicLinkEnabled":{ "shape":"Boolean", "documentation":"

Indicates whether the VPC is enabled for ClassicLink.

", @@ -18233,6 +18933,11 @@ "shape":"TagList", "documentation":"

Any tags assigned to the VPC.

", "locationName":"tagSet" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } }, "documentation":"

Describes whether a VPC is enabled for ClassicLink.

" @@ -18254,25 +18959,10 @@ "VpcEndpoint":{ "type":"structure", "members":{ - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the VPC endpoint.

", - "locationName":"vpcEndpointId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC to which the endpoint is associated.

", - "locationName":"vpcId" - }, - "ServiceName":{ - "shape":"String", - "documentation":"

The name of the AWS service to which the endpoint is associated.

", - "locationName":"serviceName" - }, - "State":{ - "shape":"State", - "documentation":"

The state of the VPC endpoint.

", - "locationName":"state" + "CreationTimestamp":{ + "shape":"DateTime", + "documentation":"

The date and time the VPC endpoint was created.

", + "locationName":"creationTimestamp" }, "PolicyDocument":{ "shape":"String", @@ -18284,10 +18974,25 @@ "documentation":"

One or more route tables associated with the endpoint.

", "locationName":"routeTableIdSet" }, - "CreationTimestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the VPC endpoint was created.

", - "locationName":"creationTimestamp" + "ServiceName":{ + "shape":"String", + "documentation":"

The name of the AWS service to which the endpoint is associated.

", + "locationName":"serviceName" + }, + "State":{ + "shape":"State", + "documentation":"

The state of the VPC endpoint.

", + "locationName":"state" + }, + "VpcEndpointId":{ + "shape":"String", + "documentation":"

The ID of the VPC endpoint.

", + "locationName":"vpcEndpointId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC to which the endpoint is associated.

", + "locationName":"vpcId" } }, "documentation":"

Describes a VPC endpoint.

" @@ -18309,6 +19014,11 @@ "VpcIpv6CidrBlockAssociation":{ "type":"structure", "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The association ID for the IPv6 CIDR block.

", + "locationName":"associationId" + }, "Ipv6CidrBlock":{ "shape":"String", "documentation":"

The IPv6 CIDR block.

", @@ -18318,11 +19028,6 @@ "shape":"VpcCidrBlockState", "documentation":"

Information about the state of the CIDR block.

", "locationName":"ipv6CidrBlockState" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID for the IPv6 CIDR block.

", - "locationName":"associationId" } }, "documentation":"

Describes an IPv6 CIDR block associated with a VPC.

" @@ -18346,7 +19051,7 @@ "members":{ "AccepterVpcInfo":{ "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

Information about the accepter VPC. CIDR block information is not returned when creating a VPC peering connection, or when describing a VPC peering connection that's in the initiating-request or pending-acceptance state.

", + "documentation":"

Information about the accepter VPC. CIDR block information is only returned when describing an active VPC peering connection.

", "locationName":"accepterVpcInfo" }, "ExpirationTime":{ @@ -18356,7 +19061,7 @@ }, "RequesterVpcInfo":{ "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

Information about the requester VPC.

", + "documentation":"

Information about the requester VPC. CIDR block information is only returned when describing an active VPC peering connection.

", "locationName":"requesterVpcInfo" }, "Status":{ @@ -18387,6 +19092,11 @@ "VpcPeeringConnectionOptionsDescription":{ "type":"structure", "members":{ + "AllowDnsResolutionFromRemoteVpc":{ + "shape":"Boolean", + "documentation":"

Indicates whether a local VPC can resolve public DNS hostnames to private IP addresses when queried from instances in a peer VPC.

", + "locationName":"allowDnsResolutionFromRemoteVpc" + }, "AllowEgressFromLocalClassicLinkToRemoteVpc":{ "shape":"Boolean", "documentation":"

Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

", @@ -18396,11 +19106,6 @@ "shape":"Boolean", "documentation":"

Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

", "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - }, - "AllowDnsResolutionFromRemoteVpc":{ - "shape":"Boolean", - "documentation":"

Indicates whether a local VPC can resolve public DNS hostnames to private IP addresses when queried from instances in a peer VPC.

", - "locationName":"allowDnsResolutionFromRemoteVpc" } }, "documentation":"

Describes the VPC peering connection options.

" @@ -18443,25 +19148,25 @@ "documentation":"

The IPv4 CIDR block for the VPC.

", "locationName":"cidrBlock" }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the VPC owner.

", - "locationName":"ownerId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, "Ipv6CidrBlockSet":{ "shape":"Ipv6CidrBlockSet", "documentation":"

The IPv6 CIDR block for the VPC.

", "locationName":"ipv6CidrBlockSet" }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the VPC owner.

", + "locationName":"ownerId" + }, "PeeringOptions":{ "shape":"VpcPeeringConnectionOptionsDescription", "documentation":"

Information about the VPC peering connection options for the accepter or requester VPC.

", "locationName":"peeringOptions" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" } }, "documentation":"

Describes a VPC in a VPC peering connection.

" @@ -18476,46 +19181,36 @@ "VpnConnection":{ "type":"structure", "members":{ - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

", - "locationName":"vpnConnectionId" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the VPN connection.

", - "locationName":"state" - }, "CustomerGatewayConfiguration":{ "shape":"String", "documentation":"

The configuration information for the VPN connection's customer gateway (in the native XML format). This element is always present in the CreateVpnConnection response; however, it's present in the DescribeVpnConnections response only if the VPN connection is in the pending or available state.

", "locationName":"customerGatewayConfiguration" }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection.

", - "locationName":"type" - }, "CustomerGatewayId":{ "shape":"String", "documentation":"

The ID of the customer gateway at your end of the VPN connection.

", "locationName":"customerGatewayId" }, + "State":{ + "shape":"VpnState", + "documentation":"

The current state of the VPN connection.

", + "locationName":"state" + }, + "Type":{ + "shape":"GatewayType", + "documentation":"

The type of VPN connection.

", + "locationName":"type" + }, + "VpnConnectionId":{ + "shape":"String", + "documentation":"

The ID of the VPN connection.

", + "locationName":"vpnConnectionId" + }, "VpnGatewayId":{ "shape":"String", "documentation":"

The ID of the virtual private gateway at the AWS side of the VPN connection.

", "locationName":"vpnGatewayId" }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPN connection.

", - "locationName":"tagSet" - }, - "VgwTelemetry":{ - "shape":"VgwTelemetryList", - "documentation":"

Information about the VPN tunnel.

", - "locationName":"vgwTelemetry" - }, "Options":{ "shape":"VpnConnectionOptions", "documentation":"

The VPN connection options.

", @@ -18525,6 +19220,16 @@ "shape":"VpnStaticRouteList", "documentation":"

The static routes associated with the VPN connection.

", "locationName":"routes" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the VPN connection.

", + "locationName":"tagSet" + }, + "VgwTelemetry":{ + "shape":"VgwTelemetryList", + "documentation":"

Information about the VPN tunnel.

", + "locationName":"vgwTelemetry" } }, "documentation":"

Describes a VPN connection.

" @@ -18568,10 +19273,10 @@ "VpnGateway":{ "type":"structure", "members":{ - "VpnGatewayId":{ + "AvailabilityZone":{ "shape":"String", - "documentation":"

The ID of the virtual private gateway.

", - "locationName":"vpnGatewayId" + "documentation":"

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

", + "locationName":"availabilityZone" }, "State":{ "shape":"VpnState", @@ -18583,16 +19288,16 @@ "documentation":"

The type of VPN connection the virtual private gateway supports.

", "locationName":"type" }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

", - "locationName":"availabilityZone" - }, "VpcAttachments":{ "shape":"VpcAttachmentList", "documentation":"

Any VPCs attached to the virtual private gateway.

", "locationName":"attachments" }, + "VpnGatewayId":{ + "shape":"String", + "documentation":"

The ID of the virtual private gateway.

", + "locationName":"vpnGatewayId" + }, "Tags":{ "shape":"TagList", "documentation":"

Any tags assigned to the virtual private gateway.

", diff --git a/botocore/data/ec2/2016-11-15/waiters-2.json b/botocore/data/ec2/2016-11-15/waiters-2.json index 9cb126cd..71051948 100755 --- a/botocore/data/ec2/2016-11-15/waiters-2.json +++ b/botocore/data/ec2/2016-11-15/waiters-2.json @@ -281,6 +281,24 @@ } ] }, + "KeyPairExists": { + "operation": "DescribeKeyPairs", + "delay": 5, + "maxAttempts": 6, + "acceptors": [ + { + "expected": true, + "matcher": "path", + "state": "success", + "argument": "length(KeyPairs[].KeyName) > `0`" + }, + { + "expected": "InvalidKeyPair.NotFound", + "matcher": "error", + "state": "retry" + } + ] + }, "NatGatewayAvailable": { "operation": "DescribeNatGateways", "delay": 15, diff --git a/botocore/data/ecr/2015-09-21/examples-1.json b/botocore/data/ecr/2015-09-21/examples-1.json new file mode 100755 index 00000000..626e4310 --- /dev/null +++ b/botocore/data/ecr/2015-09-21/examples-1.json @@ -0,0 +1,215 @@ +{ + "version": "1.0", + "examples": { + "BatchDeleteImage": [ + { + "input": { + "imageIds": [ + { + "imageTag": "precise" + } + ], + "repositoryName": "ubuntu" + }, + "output": { + "failures": [ + + ], + "imageIds": [ + { + "imageDigest": "sha256:examplee6d1e504117a17000003d3753086354a38375961f2e665416ef4b1b2f", + "imageTag": "precise" + } + ] + }, + "comments": { + }, + "description": "This example deletes images with the tags precise and trusty in a repository called ubuntu in the default registry for an account.", + "id": "batchdeleteimages-example-1470860541707", + "title": "To delete multiple images" + } + ], + "BatchGetImage": [ + { + "input": { + "imageIds": [ + { + "imageTag": "precise" + } + ], + "repositoryName": "ubuntu" + }, + "output": { + "failures": [ + + ], + "images": [ + { + "imageId": { + "imageDigest": "sha256:example76bdff6d83a09ba2a818f0d00000063724a9ac3ba5019c56f74ebf42a", + "imageTag": "precise" + }, + "imageManifest": "{\n \"schemaVersion\": 1,\n \"name\": \"ubuntu\",\n \"tag\": \"precise\",\n...", + "registryId": "244698725403", + "repositoryName": "ubuntu" + } + ] + }, + "comments": { + "output": { + "imageManifest": "In this example, the imageManifest in the output JSON has been truncated." + } + }, + "description": "This example obtains information for an image with a specified image digest ID from the repository named ubuntu in the current account.", + "id": "batchgetimage-example-1470862771437", + "title": "To obtain multiple images in a single request" + } + ], + "CreateRepository": [ + { + "input": { + "repositoryName": "project-a/nginx-web-app" + }, + "output": { + "repository": { + "registryId": "012345678901", + "repositoryArn": "arn:aws:ecr:us-west-2:012345678901:repository/project-a/nginx-web-app", + "repositoryName": "project-a/nginx-web-app" + } + }, + "comments": { + "output": { + "imageManifest": "In this example, the imageManifest in the output JSON has been truncated." + } + }, + "description": "This example creates a repository called nginx-web-app inside the project-a namespace in the default registry for an account.", + "id": "createrepository-example-1470863688724", + "title": "To create a new repository" + } + ], + "DeleteRepository": [ + { + "input": { + "force": true, + "repositoryName": "ubuntu" + }, + "output": { + "repository": { + "registryId": "012345678901", + "repositoryArn": "arn:aws:ecr:us-west-2:012345678901:repository/ubuntu", + "repositoryName": "ubuntu" + } + }, + "comments": { + "output": { + "imageManifest": "In this example, the imageManifest in the output JSON has been truncated." + } + }, + "description": "This example force deletes a repository named ubuntu in the default registry for an account. The force parameter is required if the repository contains images.", + "id": "deleterepository-example-1470863805703", + "title": "To force delete a repository" + } + ], + "DeleteRepositoryPolicy": [ + { + "input": { + "repositoryName": "ubuntu" + }, + "output": { + "policyText": "{ ... }", + "registryId": "012345678901", + "repositoryName": "ubuntu" + }, + "comments": { + }, + "description": "This example deletes the policy associated with the repository named ubuntu in the current account.", + "id": "deleterepositorypolicy-example-1470866943748", + "title": "To delete the policy associated with a repository" + } + ], + "DescribeRepositories": [ + { + "input": { + }, + "output": { + "repositories": [ + { + "registryId": "012345678910", + "repositoryArn": "arn:aws:ecr:us-west-2:012345678910:repository/ubuntu", + "repositoryName": "ubuntu" + }, + { + "registryId": "012345678910", + "repositoryArn": "arn:aws:ecr:us-west-2:012345678910:repository/test", + "repositoryName": "test" + } + ] + }, + "comments": { + "output": { + } + }, + "description": "The following example obtains a list and description of all repositories in the default registry to which the current user has access.", + "id": "describe-repositories-1470856017467", + "title": "To describe all repositories in the current account" + } + ], + "GetAuthorizationToken": [ + { + "input": { + }, + "output": { + "authorizationData": [ + { + "authorizationToken": "QVdTOkN...", + "expiresAt": "1470951892.432", + "proxyEndpoint": "https://012345678901.dkr.ecr.us-west-2.amazonaws.com" + } + ] + }, + "comments": { + }, + "description": "This example gets an authorization token for your default registry.", + "id": "getauthorizationtoken-example-1470867047084", + "title": "To obtain an authorization token" + } + ], + "GetRepositoryPolicy": [ + { + "input": { + "repositoryName": "ubuntu" + }, + "output": { + "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"new statement\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : \"arn:aws:iam::012345678901:role/CodeDeployDemo\"\n },\n\"Action\" : [ \"ecr:GetDownloadUrlForLayer\", \"ecr:BatchGetImage\", \"ecr:BatchCheckLayerAvailability\" ]\n } ]\n}", + "registryId": "012345678901", + "repositoryName": "ubuntu" + }, + "comments": { + }, + "description": "This example obtains the repository policy for the repository named ubuntu.", + "id": "getrepositorypolicy-example-1470867669211", + "title": "To get the current policy for a repository" + } + ], + "ListImages": [ + { + "input": { + "repositoryName": "ubuntu" + }, + "output": { + "imageIds": [ + { + "imageDigest": "sha256:764f63476bdff6d83a09ba2a818f0d35757063724a9ac3ba5019c56f74ebf42a", + "imageTag": "precise" + } + ] + }, + "comments": { + }, + "description": "This example lists all of the images in the repository named ubuntu in the default registry in the current account. ", + "id": "listimages-example-1470868161594", + "title": "To list all images in a repository" + } + ] + } +} diff --git a/botocore/data/ecs/2014-11-13/examples-1.json b/botocore/data/ecs/2014-11-13/examples-1.json new file mode 100644 index 00000000..c14ba44a --- /dev/null +++ b/botocore/data/ecs/2014-11-13/examples-1.json @@ -0,0 +1,883 @@ +{ + "version": "1.0", + "examples": { + "CreateCluster": [ + { + "input": { + "clusterName": "my_cluster" + }, + "output": { + "cluster": { + "activeServicesCount": 0, + "clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/my_cluster", + "clusterName": "my_cluster", + "pendingTasksCount": 0, + "registeredContainerInstancesCount": 0, + "runningTasksCount": 0, + "status": "ACTIVE" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a cluster in your default region.", + "id": "to-create-a-new-cluster-1472514079365", + "title": "To create a new cluster" + } + ], + "CreateService": [ + { + "input": { + "desiredCount": 10, + "serviceName": "ecs-simple-service", + "taskDefinition": "hello_world" + }, + "output": { + "service": { + "clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/default", + "createdAt": "2016-08-29T16:13:47.298Z", + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "deployments": [ + { + "createdAt": "2016-08-29T16:13:47.298Z", + "desiredCount": 10, + "id": "ecs-svc/9223370564342348388", + "pendingCount": 0, + "runningCount": 0, + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6", + "updatedAt": "2016-08-29T16:13:47.298Z" + }, + { + "createdAt": "2016-08-29T15:52:44.481Z", + "desiredCount": 0, + "id": "ecs-svc/9223370564343611322", + "pendingCount": 0, + "runningCount": 0, + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6", + "updatedAt": "2016-08-29T16:11:38.941Z" + } + ], + "desiredCount": 10, + "events": [ + + ], + "loadBalancers": [ + + ], + "pendingCount": 0, + "runningCount": 0, + "serviceArn": "arn:aws:ecs:us-east-1:012345678910:service/ecs-simple-service", + "serviceName": "ecs-simple-service", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a service in your default region called ``ecs-simple-service``. The service uses the ``hello_world`` task definition and it maintains 10 copies of that task.", + "id": "to-create-a-new-service-1472512584282", + "title": "To create a new service" + }, + { + "input": { + "desiredCount": 10, + "loadBalancers": [ + { + "containerName": "simple-app", + "containerPort": 80, + "loadBalancerName": "EC2Contai-EcsElast-15DCDAURT3ZO2" + } + ], + "role": "ecsServiceRole", + "serviceName": "ecs-simple-service-elb", + "taskDefinition": "console-sample-app-static" + }, + "output": { + "service": { + "clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/default", + "createdAt": "2016-08-29T16:02:54.884Z", + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "deployments": [ + { + "createdAt": "2016-08-29T16:02:54.884Z", + "desiredCount": 10, + "id": "ecs-svc/9223370564343000923", + "pendingCount": 0, + "runningCount": 0, + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/console-sample-app-static:6", + "updatedAt": "2016-08-29T16:02:54.884Z" + } + ], + "desiredCount": 10, + "events": [ + + ], + "loadBalancers": [ + { + "containerName": "simple-app", + "containerPort": 80, + "loadBalancerName": "EC2Contai-EcsElast-15DCDAURT3ZO2" + } + ], + "pendingCount": 0, + "roleArn": "arn:aws:iam::012345678910:role/ecsServiceRole", + "runningCount": 0, + "serviceArn": "arn:aws:ecs:us-east-1:012345678910:service/ecs-simple-service-elb", + "serviceName": "ecs-simple-service-elb", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/console-sample-app-static:6" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a service in your default region called ``ecs-simple-service-elb``. The service uses the ``ecs-demo`` task definition and it maintains 10 copies of that task. You must reference an existing load balancer in the same region by its name.", + "id": "to-create-a-new-service-behind-a-load-balancer-1472512484823", + "title": "To create a new service behind a load balancer" + } + ], + "DeleteCluster": [ + { + "input": { + "cluster": "my_cluster" + }, + "output": { + "cluster": { + "activeServicesCount": 0, + "clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/my_cluster", + "clusterName": "my_cluster", + "pendingTasksCount": 0, + "registeredContainerInstancesCount": 0, + "runningTasksCount": 0, + "status": "INACTIVE" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes an empty cluster in your default region.", + "id": "to-delete-an-empty-cluster-1472512705352", + "title": "To delete an empty cluster" + } + ], + "DeleteService": [ + { + "input": { + "service": "my-http-service" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the my-http-service service. The service must have a desired count and running count of 0 before you can delete it.", + "id": "e8183e38-f86e-4390-b811-f74f30a6007d", + "title": "To delete a service" + } + ], + "DeregisterContainerInstance": [ + { + "input": { + "cluster": "default", + "containerInstance": "container_instance_UUID", + "force": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deregisters a container instance from the specified cluster in your default region. If there are still tasks running on the container instance, you must either stop those tasks before deregistering, or use the force option.", + "id": "bf624927-cf64-4f4b-8b7e-c024a4e682f6", + "title": "To deregister a container instance from a cluster" + } + ], + "DescribeClusters": [ + { + "input": { + "clusters": [ + "default" + ] + }, + "output": { + "clusters": [ + { + "clusterArn": "arn:aws:ecs:us-east-1:aws_account_id:cluster/default", + "clusterName": "default", + "status": "ACTIVE" + } + ], + "failures": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example provides a description of the specified cluster in your default region.", + "id": "ba88d100-9672-4231-80da-a4bd210bf728", + "title": "To describe a cluster" + } + ], + "DescribeContainerInstances": [ + { + "input": { + "cluster": "default", + "containerInstances": [ + "f2756532-8f13-4d53-87c9-aed50dc94cd7" + ] + }, + "output": { + "containerInstances": [ + { + "agentConnected": true, + "containerInstanceArn": "arn:aws:ecs:us-east-1:012345678910:container-instance/f2756532-8f13-4d53-87c9-aed50dc94cd7", + "ec2InstanceId": "i-807f3249", + "pendingTasksCount": 0, + "registeredResources": [ + { + "name": "CPU", + "type": "INTEGER", + "doubleValue": 0.0, + "integerValue": 2048, + "longValue": 0 + }, + { + "name": "MEMORY", + "type": "INTEGER", + "doubleValue": 0.0, + "integerValue": 3768, + "longValue": 0 + }, + { + "name": "PORTS", + "type": "STRINGSET", + "doubleValue": 0.0, + "integerValue": 0, + "longValue": 0, + "stringSetValue": [ + "2376", + "22", + "51678", + "2375" + ] + } + ], + "remainingResources": [ + { + "name": "CPU", + "type": "INTEGER", + "doubleValue": 0.0, + "integerValue": 1948, + "longValue": 0 + }, + { + "name": "MEMORY", + "type": "INTEGER", + "doubleValue": 0.0, + "integerValue": 3668, + "longValue": 0 + }, + { + "name": "PORTS", + "type": "STRINGSET", + "doubleValue": 0.0, + "integerValue": 0, + "longValue": 0, + "stringSetValue": [ + "2376", + "22", + "80", + "51678", + "2375" + ] + } + ], + "runningTasksCount": 1, + "status": "ACTIVE" + } + ], + "failures": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example provides a description of the specified container instance in your default region, using the container instance UUID as an identifier.", + "id": "c8f439de-eb27-4269-8ca7-2c0a7ba75ab0", + "title": "To describe container instance" + } + ], + "DescribeServices": [ + { + "input": { + "services": [ + "ecs-simple-service" + ] + }, + "output": { + "failures": [ + + ], + "services": [ + { + "clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/default", + "createdAt": "2016-08-29T16:25:52.130Z", + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "deployments": [ + { + "createdAt": "2016-08-29T16:25:52.130Z", + "desiredCount": 1, + "id": "ecs-svc/9223370564341623665", + "pendingCount": 0, + "runningCount": 0, + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6", + "updatedAt": "2016-08-29T16:25:52.130Z" + } + ], + "desiredCount": 1, + "events": [ + { + "createdAt": "2016-08-29T16:25:58.520Z", + "id": "38c285e5-d335-4b68-8b15-e46dedc8e88d", + "message": "(service ecs-simple-service) was unable to place a task because no container instance met all of its requirements. The closest matching (container-instance 3f4de1c5-ffdd-4954-af7e-75b4be0c8841) is already using a port required by your task. For more information, see the Troubleshooting section of the Amazon ECS Developer Guide." + } + ], + "loadBalancers": [ + + ], + "pendingCount": 0, + "runningCount": 0, + "serviceArn": "arn:aws:ecs:us-east-1:012345678910:service/ecs-simple-service", + "serviceName": "ecs-simple-service", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6" + } + ] + }, + "comments": { + "input": { + }, + "output": { + "services[0].events[0].message": "In this example, there is a service event that shows unavailable cluster resources." + } + }, + "description": "This example provides descriptive information about the service named ``ecs-simple-service``.", + "id": "to-describe-a-service-1472513256350", + "title": "To describe a service" + } + ], + "DescribeTaskDefinition": [ + { + "input": { + "taskDefinition": "hello_world:8" + }, + "output": { + "taskDefinition": { + "containerDefinitions": [ + { + "name": "wordpress", + "cpu": 10, + "environment": [ + + ], + "essential": true, + "image": "wordpress", + "links": [ + "mysql" + ], + "memory": 500, + "mountPoints": [ + + ], + "portMappings": [ + { + "containerPort": 80, + "hostPort": 80 + } + ], + "volumesFrom": [ + + ] + }, + { + "name": "mysql", + "cpu": 10, + "environment": [ + { + "name": "MYSQL_ROOT_PASSWORD", + "value": "password" + } + ], + "essential": true, + "image": "mysql", + "memory": 500, + "mountPoints": [ + + ], + "portMappings": [ + + ], + "volumesFrom": [ + + ] + } + ], + "family": "hello_world", + "revision": 8, + "taskDefinitionArn": "arn:aws:ecs:us-east-1::task-definition/hello_world:8", + "volumes": [ + + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example provides a description of the specified task definition.", + "id": "4c21eeb1-f1da-4a08-8c44-297fc8d0ea88", + "title": "To describe a task definition" + } + ], + "DescribeTasks": [ + { + "input": { + "tasks": [ + "c5cba4eb-5dad-405e-96db-71ef8eefe6a8" + ] + }, + "output": { + "failures": [ + + ], + "tasks": [ + { + "clusterArn": "arn:aws:ecs:::cluster/default", + "containerInstanceArn": "arn:aws:ecs:::container-instance/18f9eda5-27d7-4c19-b133-45adc516e8fb", + "containers": [ + { + "name": "ecs-demo", + "containerArn": "arn:aws:ecs:::container/7c01765b-c588-45b3-8290-4ba38bd6c5a6", + "lastStatus": "RUNNING", + "networkBindings": [ + { + "bindIP": "0.0.0.0", + "containerPort": 80, + "hostPort": 80 + } + ], + "taskArn": "arn:aws:ecs:::task/c5cba4eb-5dad-405e-96db-71ef8eefe6a8" + } + ], + "desiredStatus": "RUNNING", + "lastStatus": "RUNNING", + "overrides": { + "containerOverrides": [ + { + "name": "ecs-demo" + } + ] + }, + "startedBy": "ecs-svc/9223370608528463088", + "taskArn": "arn:aws:ecs:::task/c5cba4eb-5dad-405e-96db-71ef8eefe6a8", + "taskDefinitionArn": "arn:aws:ecs:::task-definition/amazon-ecs-sample:1" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example provides a description of the specified task, using the task UUID as an identifier.", + "id": "a90b0cde-f965-4946-b55e-cfd8cc54e827", + "title": "To describe a task" + } + ], + "ListClusters": [ + { + "input": { + }, + "output": { + "clusterArns": [ + "arn:aws:ecs:us-east-1::cluster/test", + "arn:aws:ecs:us-east-1::cluster/default" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of your available clusters in your default region.", + "id": "e337d059-134f-4125-ba8e-4f499139facf", + "title": "To list your available clusters" + } + ], + "ListContainerInstances": [ + { + "input": { + "cluster": "default" + }, + "output": { + "containerInstanceArns": [ + "arn:aws:ecs:us-east-1::container-instance/f6bbb147-5370-4ace-8c73-c7181ded911f", + "arn:aws:ecs:us-east-1::container-instance/ffe3d344-77e2-476c-a4d0-bf560ad50acb" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of your available container instances in the specified cluster in your default region.", + "id": "62a82a94-713c-4e18-8420-1d2b2ba9d484", + "title": "To list your available container instances in a cluster" + } + ], + "ListServices": [ + { + "input": { + }, + "output": { + "serviceArns": [ + "arn:aws:ecs:us-east-1:012345678910:service/my-http-service" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the services running in the default cluster for an account.", + "id": "1d9a8037-4e0e-4234-a528-609656809a3a", + "title": "To list the services in a cluster" + } + ], + "ListTaskDefinitionFamilies": [ + { + "input": { + }, + "output": { + "families": [ + "node-js-app", + "web-timer", + "hpcc", + "hpcc-c4-8xlarge" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of your registered task definition families.", + "id": "b5c89769-1d94-4ca2-a79e-8069103c7f75", + "title": "To list your registered task definition families" + }, + { + "input": { + "familyPrefix": "hpcc" + }, + "output": { + "families": [ + "hpcc", + "hpcc-c4-8xlarge" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the task definition revisions that start with \"hpcc\".", + "id": "8a4cf9a6-42c1-4fe3-852d-99ac8968e11b", + "title": "To filter your registered task definition families" + } + ], + "ListTaskDefinitions": [ + { + "input": { + }, + "output": { + "taskDefinitionArns": [ + "arn:aws:ecs:us-east-1::task-definition/sleep300:2", + "arn:aws:ecs:us-east-1::task-definition/sleep360:1", + "arn:aws:ecs:us-east-1::task-definition/wordpress:3", + "arn:aws:ecs:us-east-1::task-definition/wordpress:4", + "arn:aws:ecs:us-east-1::task-definition/wordpress:5", + "arn:aws:ecs:us-east-1::task-definition/wordpress:6" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of your registered task definitions.", + "id": "b381ebaf-7eba-4d60-b99b-7f6ae49d3d60", + "title": "To list your registered task definitions" + }, + { + "input": { + "familyPrefix": "wordpress" + }, + "output": { + "taskDefinitionArns": [ + "arn:aws:ecs:us-east-1::task-definition/wordpress:3", + "arn:aws:ecs:us-east-1::task-definition/wordpress:4", + "arn:aws:ecs:us-east-1::task-definition/wordpress:5", + "arn:aws:ecs:us-east-1::task-definition/wordpress:6" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the task definition revisions of a specified family.", + "id": "734e7afd-753a-4bc2-85d0-badddce10910", + "title": "To list the registered task definitions in a family" + } + ], + "ListTasks": [ + { + "input": { + "cluster": "default" + }, + "output": { + "taskArns": [ + "arn:aws:ecs:us-east-1:012345678910:task/0cc43cdb-3bee-4407-9c26-c0e6ea5bee84", + "arn:aws:ecs:us-east-1:012345678910:task/6b809ef6-c67e-4467-921f-ee261c15a0a1" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of the tasks in a cluster.", + "id": "9a6ec707-1a77-45d0-b2eb-516b5dd9e924", + "title": "To list the tasks in a cluster" + }, + { + "input": { + "cluster": "default", + "containerInstance": "f6bbb147-5370-4ace-8c73-c7181ded911f" + }, + "output": { + "taskArns": [ + "arn:aws:ecs:us-east-1:012345678910:task/0cc43cdb-3bee-4407-9c26-c0e6ea5bee84" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the tasks of a specified container instance. Specifying a ``containerInstance`` value limits the results to tasks that belong to that container instance.", + "id": "024bf3b7-9cbb-44e3-848f-9d074e1fecce", + "title": "To list the tasks on a particular container instance" + } + ], + "RegisterTaskDefinition": [ + { + "input": { + "containerDefinitions": [ + { + "name": "sleep", + "command": [ + "sleep", + "360" + ], + "cpu": 10, + "essential": true, + "image": "busybox", + "memory": 10 + } + ], + "family": "sleep360", + "taskRoleArn": "", + "volumes": [ + + ] + }, + "output": { + "taskDefinition": { + "containerDefinitions": [ + { + "name": "sleep", + "command": [ + "sleep", + "360" + ], + "cpu": 10, + "environment": [ + + ], + "essential": true, + "image": "busybox", + "memory": 10, + "mountPoints": [ + + ], + "portMappings": [ + + ], + "volumesFrom": [ + + ] + } + ], + "family": "sleep360", + "revision": 1, + "taskDefinitionArn": "arn:aws:ecs:us-east-1::task-definition/sleep360:19", + "volumes": [ + + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers a task definition to the specified family.", + "id": "to-register-a-task-definition-1470764550877", + "title": "To register a task definition" + } + ], + "RunTask": [ + { + "input": { + "cluster": "default", + "taskDefinition": "sleep360:1" + }, + "output": { + "tasks": [ + { + "containerInstanceArn": "arn:aws:ecs:us-east-1::container-instance/ffe3d344-77e2-476c-a4d0-bf560ad50acb", + "containers": [ + { + "name": "sleep", + "containerArn": "arn:aws:ecs:us-east-1::container/58591c8e-be29-4ddf-95aa-ee459d4c59fd", + "lastStatus": "PENDING", + "taskArn": "arn:aws:ecs:us-east-1::task/a9f21ea7-c9f5-44b1-b8e6-b31f50ed33c0" + } + ], + "desiredStatus": "RUNNING", + "lastStatus": "PENDING", + "overrides": { + "containerOverrides": [ + { + "name": "sleep" + } + ] + }, + "taskArn": "arn:aws:ecs:us-east-1::task/a9f21ea7-c9f5-44b1-b8e6-b31f50ed33c0", + "taskDefinitionArn": "arn:aws:ecs:us-east-1::task-definition/sleep360:1" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example runs the specified task definition on your default cluster.", + "id": "6f238c83-a133-42cd-ab3d-abeca0560445", + "title": "To run a task on your default cluster" + } + ], + "UpdateService": [ + { + "input": { + "service": "my-http-service", + "taskDefinition": "amazon-ecs-sample" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the my-http-service service to use the amazon-ecs-sample task definition.", + "id": "cc9e8900-0cc2-44d2-8491-64d1d3d37887", + "title": "To change the task definition used in a service" + }, + { + "input": { + "desiredCount": 10, + "service": "my-http-service" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the desired count of the my-http-service service to 10.", + "id": "9581d6c5-02e3-4140-8cc1-5a4301586633", + "title": "To change the number of tasks in a service" + } + ] + } +} diff --git a/botocore/data/ecs/2014-11-13/paginators-1.json b/botocore/data/ecs/2014-11-13/paginators-1.json index 081a2df0..43ae3dec 100644 --- a/botocore/data/ecs/2014-11-13/paginators-1.json +++ b/botocore/data/ecs/2014-11-13/paginators-1.json @@ -1,40 +1,40 @@ { - "pagination": { - "ListClusters": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "clusterArns" - }, - "ListContainerInstances": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "containerInstanceArns" - }, - "ListTaskDefinitions": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "taskDefinitionArns" - }, - "ListTaskDefinitionFamilies": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "families" - }, - "ListTasks": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "taskArns" - }, - "ListServices": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "serviceArns" - } - } + "pagination": { + "ListClusters": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "clusterArns" + }, + "ListContainerInstances": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "containerInstanceArns" + }, + "ListTaskDefinitions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "taskDefinitionArns" + }, + "ListTaskDefinitionFamilies": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "families" + }, + "ListTasks": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "taskArns" + }, + "ListServices": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "serviceArns" + } + } } diff --git a/botocore/data/ecs/2014-11-13/service-2.json b/botocore/data/ecs/2014-11-13/service-2.json index 33526a42..62ff7ed0 100644 --- a/botocore/data/ecs/2014-11-13/service-2.json +++ b/botocore/data/ecs/2014-11-13/service-2.json @@ -41,7 +41,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Runs and maintains a desired number of tasks from a specified task definition. If the number of tasks running in a service drops below desiredCount, Amazon ECS spawns another copy of the task in the specified cluster. To update an existing service, see UpdateService.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind a load balancer. The load balancer distributes traffic across the tasks that are associated with the service. For more information, see Service Load Balancing in the Amazon EC2 Container Service Developer Guide.

You can optionally specify a deployment configuration for your service. During a deployment (which is triggered by changing the task definition or the desired count of a service with an UpdateService operation), the service scheduler uses the minimumHealthyPercent and maximumPercent parameters to determine the deployment strategy.

The minimumHealthyPercent represents a lower limit on the number of your service's tasks that must remain in the RUNNING state during a deployment, as a percentage of the desiredCount (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if desiredCount is four tasks and the minimum is 50%, the scheduler can stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer. The default value is 50% in the console and 100% for the AWS CLI, the AWS SDKs, and the APIs.

The maximumPercent parameter represents an upper limit on the number of your service's tasks that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desiredCount (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if desiredCount is four tasks and the maximum is 200%, the scheduler can start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value is 200%.

When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy):

    • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

" + "documentation":"

Runs and maintains a desired number of tasks from a specified task definition. If the number of tasks running in a service drops below desiredCount, Amazon ECS spawns another copy of the task in the specified cluster. To update an existing service, see UpdateService.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind a load balancer. The load balancer distributes traffic across the tasks that are associated with the service. For more information, see Service Load Balancing in the Amazon EC2 Container Service Developer Guide.

You can optionally specify a deployment configuration for your service. During a deployment (which is triggered by changing the task definition or the desired count of a service with an UpdateService operation), the service scheduler uses the minimumHealthyPercent and maximumPercent parameters to determine the deployment strategy.

The minimumHealthyPercent represents a lower limit on the number of your service's tasks that must remain in the RUNNING state during a deployment, as a percentage of the desiredCount (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desiredCount of four tasks and a minimumHealthyPercent of 50%, the scheduler can stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that do use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer. The default value for minimumHealthyPercent is 50% in the console and 100% for the AWS CLI, the AWS SDKs, and the APIs.

The maximumPercent parameter represents an upper limit on the number of your service's tasks that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desiredCount (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service has a desiredCount of four tasks and a maximumPercent value of 200%, the scheduler can start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximumPercent is 200%.

When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy) with the placementStrategy parameter):

    • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

" }, "DeleteAttributes":{ "name":"DeleteAttributes", @@ -122,7 +122,7 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Deregisters the specified task definition by family and revision. Upon deregistration, the task definition is marked as INACTIVE. Existing tasks and services that reference an INACTIVE task definition continue to run without disruption. Existing services that reference an INACTIVE task definition can still scale up or down by modifying the service's desired count.

You cannot use an INACTIVE task definition to run new tasks or create new services, and you cannot update an existing service to reference an INACTIVE task definition (although there may be up to a 10 minute window following deregistration where these restrictions have not yet taken effect).

" + "documentation":"

Deregisters the specified task definition by family and revision. Upon deregistration, the task definition is marked as INACTIVE. Existing tasks and services that reference an INACTIVE task definition continue to run without disruption. Existing services that reference an INACTIVE task definition can still scale up or down by modifying the service's desired count.

You cannot use an INACTIVE task definition to run new tasks or create new services, and you cannot update an existing service to reference an INACTIVE task definition (although there may be up to a 10 minute window following deregistration where these restrictions have not yet taken effect).

At this time, INACTIVE task definitions remain discoverable in your account indefinitely; however, this behavior is subject to change in the future, so you should not rely on INACTIVE task definitions persisting beyond the life cycle of any associated tasks and services.

" }, "DescribeClusters":{ "name":"DescribeClusters", @@ -228,7 +228,7 @@ {"shape":"ClusterNotFoundException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Lists the attributes for Amazon ECS resources within a specified target type and cluster. When you specify a target type and cluster, LisAttributes returns a list of attribute objects, one for each attribute on each resource. You can filter the list of results to a single attribute name to only return results that have that name. You can also filter the results by attribute name and value, for example, to see which container instances in a cluster are running a Linux AMI (ecs.os-type=linux).

" + "documentation":"

Lists the attributes for Amazon ECS resources within a specified target type and cluster. When you specify a target type and cluster, ListAttributes returns a list of attribute objects, one for each attribute on each resource. You can filter the list of results to a single attribute name to only return results that have that name. You can also filter the results by attribute name and value, for example, to see which container instances in a cluster are running a Linux AMI (ecs.os-type=linux).

" }, "ListClusters":{ "name":"ListClusters", @@ -415,7 +415,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Stops a running task.

When StopTask is called on a task, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout, after which SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

" + "documentation":"

Stops a running task.

When StopTask is called on a task, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a default 30-second timeout, after which SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

The default 30-second timeout can be configured on the Amazon ECS container agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see Amazon ECS Container Agent Configuration in the Amazon EC2 Container Service Developer Guide.

" }, "SubmitContainerStateChange":{ "name":"SubmitContainerStateChange", @@ -664,7 +664,7 @@ }, "image":{ "shape":"String", - "documentation":"

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with repository-url/image:tag . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

Amazon ECS task definitions currently only support tags as image identifiers within a specified repository (and not sha256 digests).

  • Images in Amazon ECR repositories use the full registry and repository URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

" + "documentation":"

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with repository-url/image:tag . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • Images in Amazon ECR repositories use the full registry and repository URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

" }, "cpu":{ "shape":"Integer", @@ -798,7 +798,7 @@ }, "status":{ "shape":"String", - "documentation":"

The status of the container instance. The valid values are ACTIVE or INACTIVE. ACTIVE indicates that the container instance can accept tasks.

" + "documentation":"

The status of the container instance. The valid values are ACTIVE, INACTIVE, or DRAINING. ACTIVE indicates that the container instance can accept tasks. DRAINING indicates that new tasks are not placed on the container instance and any service tasks running on the container instance are removed if possible. For more information, see Container Instance Draining in the Amazon EC2 Container Service Developer Guide.

" }, "agentConnected":{ "shape":"Boolean", @@ -819,6 +819,10 @@ "attributes":{ "shape":"Attributes", "documentation":"

The attributes set for the container instance, either by the Amazon ECS container agent at instance registration or manually with the PutAttributes operation.

" + }, + "registeredAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the container instance was registered.

" } }, "documentation":"

An EC2 instance that is running the Amazon ECS agent and has been registered with a cluster.

" @@ -839,15 +843,27 @@ "members":{ "name":{ "shape":"String", - "documentation":"

The name of the container that receives the override.

" + "documentation":"

The name of the container that receives the override. This parameter is required if any override is specified.

" }, "command":{ "shape":"StringList", - "documentation":"

The command to send to the container that overrides the default command from the Docker image or the task definition.

" + "documentation":"

The command to send to the container that overrides the default command from the Docker image or the task definition. You must also specify a container name.

" }, "environment":{ "shape":"EnvironmentVariables", - "documentation":"

The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.

" + "documentation":"

The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. You must also specify a container name.

" + }, + "cpu":{ + "shape":"BoxedInteger", + "documentation":"

The number of cpu units reserved for the container, instead of the default value from the task definition. You must also specify a container name.

" + }, + "memory":{ + "shape":"BoxedInteger", + "documentation":"

The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. You must also specify a container name.

" + }, + "memoryReservation":{ + "shape":"BoxedInteger", + "documentation":"

The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. You must also specify a container name.

" } }, "documentation":"

The overrides that should be sent to a container.

" @@ -943,7 +959,7 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply attributes. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete attributes. If you do not specify a cluster, the default cluster is assumed.

" }, "attributes":{ "shape":"Attributes", @@ -985,7 +1001,7 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

The name of the cluster that hosts the service to delete. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete. If you do not specify a cluster, the default cluster is assumed.

" }, "service":{ "shape":"String", @@ -1109,7 +1125,7 @@ "members":{ "clusters":{ "shape":"StringList", - "documentation":"

A space-separated list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. If you do not specify a cluster, the default cluster is assumed.

" } } }, @@ -1136,7 +1152,7 @@ }, "containerInstances":{ "shape":"StringList", - "documentation":"

A space-separated list of container instance IDs or full Amazon Resource Name (ARN) entries.

" + "documentation":"

A list of container instance IDs or full Amazon Resource Name (ARN) entries.

" } } }, @@ -1159,7 +1175,7 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

The name of the cluster that hosts the service to describe. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. If you do not specify a cluster, the default cluster is assumed.

" }, "services":{ "shape":"StringList", @@ -1209,7 +1225,7 @@ }, "tasks":{ "shape":"StringList", - "documentation":"

A space-separated list of task IDs or full Amazon Resource Name (ARN) entries.

" + "documentation":"

A list of up to 100 task IDs or full Amazon Resource Name (ARN) entries.

" } } }, @@ -1243,7 +1259,7 @@ }, "cluster":{ "shape":"String", - "documentation":"

The cluster that the container instance belongs to.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that the container instance belongs to.

" } } }, @@ -1432,7 +1448,7 @@ }, "status":{ "shape":"ContainerInstanceStatus", - "documentation":"

The container instance status with which to filter the ListContainerInstances results. Specifying a container instance status of DRAINING limits the results to container instances that have been set to drain with the UpdateContainerInstancesState operation.

" + "documentation":"

Filters the container instances by status. For example, if you specify the DRAINING status, the results include only container instances that have been set to DRAINING using UpdateContainerInstancesState. If you do not specify this parameter, the default is to include container instances set to ACTIVE and DRAINING.

" } } }, @@ -1610,7 +1626,7 @@ }, "loadBalancerName":{ "shape":"String", - "documentation":"

The name of the load balancer.

" + "documentation":"

The name of a Classic load balancer.

" }, "containerName":{ "shape":"String", @@ -1790,7 +1806,7 @@ }, "hostPort":{ "shape":"BoxedInteger", - "documentation":"

The port number on the container instance to reserve for your container. You can specify a non-reserved host port for your container port mapping, or you can omit the hostPort (or set it to 0) while specifying a containerPort and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.

The default ephemeral port range is 49153 to 65535, and this range is used for Docker versions prior to 1.6.0. For Docker version 1.6.0 and later, the Docker daemon tries to read the ephemeral port range from /proc/sys/net/ipv4/ip_local_port_range; if this kernel parameter is unavailable, the default ephemeral port range is used. You should not attempt to specify a host port in the ephemeral port range, because these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678 and 51679. Any host port that was previously specified in a running task is also reserved while the task is running (after a task stops, the host port is released).The current reserved ports are displayed in the remainingResources of DescribeContainerInstances output, and a container instance may have up to 100 reserved ports at a time, including the default reserved ports (automatically assigned ports do not count toward the 100 reserved ports limit).

" + "documentation":"

The port number on the container instance to reserve for your container. You can specify a non-reserved host port for your container port mapping, or you can omit the hostPort (or set it to 0) while specifying a containerPort and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.

The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under /proc/sys/net/ipv4/ip_local_port_range; if this kernel parameter is unavailable, the default ephemeral port range of 49153 to 65535 is used. You should not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.

The default ephemeral port range of 49153 to 65535 will always be used for Docker versions prior to 1.6.0.

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678 and 51679. Any host port that was previously specified in a running task is also reserved while the task is running (after a task stops, the host port is released).The current reserved ports are displayed in the remainingResources of DescribeContainerInstances output, and a container instance may have up to 100 reserved ports at a time, including the default reserved ports (automatically assigned ports do not count toward the 100 reserved ports limit).

" }, "protocol":{ "shape":"TransportProtocol", @@ -2544,7 +2560,7 @@ }, "containerInstances":{ "shape":"StringList", - "documentation":"

A space-separated list of container instance IDs or full Amazon Resource Name (ARN) entries.

" + "documentation":"

A list of container instance IDs or full Amazon Resource Name (ARN) entries.

" }, "status":{ "shape":"ContainerInstanceStatus", @@ -2644,14 +2660,14 @@ "members":{ "sourceContainer":{ "shape":"String", - "documentation":"

The name of the container to mount volumes from.

" + "documentation":"

The name of another container within the same task definition to mount volumes from.

" }, "readOnly":{ "shape":"BoxedBoolean", "documentation":"

If this value is true, the container has read-only access to the volume. If this value is false, then the container can write to the volume. The default value is false.

" } }, - "documentation":"

Details on a data volume from another container.

" + "documentation":"

Details on a data volume from another container in the same task definition.

" }, "VolumeFromList":{ "type":"list", diff --git a/botocore/data/efs/2015-02-01/examples-1.json b/botocore/data/efs/2015-02-01/examples-1.json new file mode 100644 index 00000000..4a4b982d --- /dev/null +++ b/botocore/data/efs/2015-02-01/examples-1.json @@ -0,0 +1,222 @@ +{ + "version": "1.0", + "examples": { + "CreateFileSystem": [ + { + "input": { + "CreationToken": "tokenstring", + "PerformanceMode": "generalPurpose" + }, + "output": { + "CreationTime": "1481841524.0", + "CreationToken": "tokenstring", + "FileSystemId": "fs-01234567", + "LifeCycleState": "creating", + "NumberOfMountTargets": 0, + "OwnerId": "012345678912", + "PerformanceMode": "generalPurpose", + "SizeInBytes": { + "Value": 0 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation creates a new file system with the default generalpurpose performance mode.", + "id": "to-create-a-new-file-system-1481840798547", + "title": "To create a new file system" + } + ], + "CreateMountTarget": [ + { + "input": { + "FileSystemId": "fs-01234567", + "SubnetId": "subnet-1234abcd" + }, + "output": { + "FileSystemId": "fs-01234567", + "IpAddress": "192.0.0.2", + "LifeCycleState": "creating", + "MountTargetId": "fsmt-12340abc", + "NetworkInterfaceId": "eni-cedf6789", + "OwnerId": "012345678912", + "SubnetId": "subnet-1234abcd" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation creates a new mount target for an EFS file system.", + "id": "to-create-a-new-mount-target-1481842289329", + "title": "To create a new mount target" + } + ], + "CreateTags": [ + { + "input": { + "FileSystemId": "fs-01234567", + "Tags": [ + { + "Key": "Name", + "Value": "MyFileSystem" + } + ] + }, + "comments": { + }, + "description": "This operation creates a new tag for an EFS file system.", + "id": "to-create-a-new-tag-1481843409357", + "title": "To create a new tag" + } + ], + "DeleteFileSystem": [ + { + "input": { + "FileSystemId": "fs-01234567" + }, + "comments": { + }, + "description": "This operation deletes an EFS file system.", + "id": "to-delete-a-file-system-1481847318348", + "title": "To delete a file system" + } + ], + "DeleteMountTarget": [ + { + "input": { + "MountTargetId": "fsmt-12340abc" + }, + "comments": { + }, + "description": "This operation deletes a mount target.", + "id": "to-delete-a-mount-target-1481847635607", + "title": "To delete a mount target" + } + ], + "DeleteTags": [ + { + "input": { + "FileSystemId": "fs-01234567", + "TagKeys": [ + "Name" + ] + }, + "comments": { + }, + "description": "This operation deletes tags for an EFS file system.", + "id": "to-delete-tags-for-an-efs-file-system-1481848189061", + "title": "To delete tags for an EFS file system" + } + ], + "DescribeFileSystems": [ + { + "input": { + }, + "output": { + "FileSystems": [ + { + "CreationTime": "1481841524.0", + "CreationToken": "tokenstring", + "FileSystemId": "fs-01234567", + "LifeCycleState": "available", + "Name": "MyFileSystem", + "NumberOfMountTargets": 1, + "OwnerId": "012345678912", + "PerformanceMode": "generalPurpose", + "SizeInBytes": { + "Value": 6144 + } + } + ] + }, + "comments": { + }, + "description": "This operation describes all of the EFS file systems in an account.", + "id": "to-describe-an-efs-file-system-1481848448460", + "title": "To describe an EFS file system" + } + ], + "DescribeMountTargetSecurityGroups": [ + { + "input": { + "MountTargetId": "fsmt-12340abc" + }, + "output": { + "SecurityGroups": [ + "sg-fghi4567" + ] + }, + "comments": { + }, + "description": "This operation describes all of the security groups for a file system's mount target.", + "id": "to-describe-the-security-groups-for-a-mount-target-1481849317823", + "title": "To describe the security groups for a mount target" + } + ], + "DescribeMountTargets": [ + { + "input": { + "FileSystemId": "fs-01234567" + }, + "output": { + "MountTargets": [ + { + "FileSystemId": "fs-01234567", + "IpAddress": "192.0.0.2", + "LifeCycleState": "available", + "MountTargetId": "fsmt-12340abc", + "NetworkInterfaceId": "eni-cedf6789", + "OwnerId": "012345678912", + "SubnetId": "subnet-1234abcd" + } + ] + }, + "comments": { + }, + "description": "This operation describes all of a file system's mount targets.", + "id": "to-describe-the-mount-targets-for-a-file-system-1481849958584", + "title": "To describe the mount targets for a file system" + } + ], + "DescribeTags": [ + { + "input": { + "FileSystemId": "fs-01234567" + }, + "output": { + "Tags": [ + { + "Key": "Name", + "Value": "MyFileSystem" + } + ] + }, + "comments": { + }, + "description": "This operation describes all of a file system's tags.", + "id": "to-describe-the-tags-for-a-file-system-1481850497090", + "title": "To describe the tags for a file system" + } + ], + "ModifyMountTargetSecurityGroups": [ + { + "input": { + "MountTargetId": "fsmt-12340abc", + "SecurityGroups": [ + "sg-abcd1234" + ] + }, + "comments": { + }, + "description": "This operation modifies the security groups associated with a mount target for a file system.", + "id": "to-modify-the-security-groups-associated-with-a-mount-target-for-a-file-system-1481850772562", + "title": "To modify the security groups associated with a mount target for a file system" + } + ] + } +} diff --git a/botocore/data/efs/2015-02-01/paginators-1.json b/botocore/data/efs/2015-02-01/paginators-1.json new file mode 100644 index 00000000..e8ed53f7 --- /dev/null +++ b/botocore/data/efs/2015-02-01/paginators-1.json @@ -0,0 +1,22 @@ +{ + "pagination": { + "DescribeFileSystems": { + "input_token": "Marker", + "output_token": "NextMarker", + "limit_key": "MaxItems", + "result_key": "FileSystems" + }, + "DescribeMountTargets": { + "input_token": "Marker", + "output_token": "NextMarker", + "limit_key": "MaxItems", + "result_key": "MountTargets" + }, + "DescribeTags": { + "input_token": "Marker", + "output_token": "NextMarker", + "limit_key": "MaxItems", + "result_key": "Tags" + } + } +} diff --git a/botocore/data/elasticache/2015-02-02/service-2.json b/botocore/data/elasticache/2015-02-02/service-2.json index 8a07ddbb..bbcccc56 100644 --- a/botocore/data/elasticache/2015-02-02/service-2.json +++ b/botocore/data/elasticache/2015-02-02/service-2.json @@ -27,7 +27,7 @@ {"shape":"TagQuotaPerResourceExceeded"}, {"shape":"InvalidARNFault"} ], - "documentation":"

Adds up to 10 cost allocation tags to the named resource. A cost allocation tag is a key-value pair where the key and value are case-sensitive. You can use cost allocation tags to categorize and track your AWS costs.

When you apply tags to your ElastiCache resources, AWS generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags in Amazon ElastiCache in the ElastiCache User Guide.

" + "documentation":"

Adds up to 50 cost allocation tags to the named resource. A cost allocation tag is a key-value pair where the key and value are case-sensitive. You can use cost allocation tags to categorize and track your AWS costs.

When you apply tags to your ElastiCache resources, AWS generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags in Amazon ElastiCache in the ElastiCache User Guide.

" }, "AuthorizeCacheSecurityGroupIngress":{ "name":"AuthorizeCacheSecurityGroupIngress", @@ -117,7 +117,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Creates a new cache parameter group. A cache parameter group is a collection of parameters that you apply to all of the nodes in a cache cluster.

" + "documentation":"

Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of parameters and their values that are applied to all of the nodes in any cache cluster or replication group using the CacheParameterGroup.

A newly created CacheParameterGroup is an exact duplicate of the default parameter group for the CacheParameterGroupFamily. To customize the newly created CacheParameterGroup you can change the values of specific parameters. For more information, see:

" }, "CreateCacheSecurityGroup":{ "name":"CreateCacheSecurityGroup", @@ -185,7 +185,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group.

A Redis (cluster mode disabled) replication group is a collection of cache clusters, where one of the cache clusters is a read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to the replicas.

A Redis (cluster mode enabled) replication group is a collection of 1 to 15 node groups (shards). Each node group (shard) has one read/write primary node and up to 5 read-only replica nodes. Writes to the primary are asynchronously propagated to the replicas. Redis (cluster mode enabled) replication groups partition the data across node groups (shards).

When a Redis (cluster mode disabled) replication group has been successfully created, you can add one or more read replicas to it, up to a total of 5 read replicas. You cannot alter a Redis (cluster mode enabled) replication group after it has been created.

This operation is valid for Redis only.

" + "documentation":"

Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group.

A Redis (cluster mode disabled) replication group is a collection of cache clusters, where one of the cache clusters is a read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to the replicas.

A Redis (cluster mode enabled) replication group is a collection of 1 to 15 node groups (shards). Each node group (shard) has one read/write primary node and up to 5 read-only replica nodes. Writes to the primary are asynchronously propagated to the replicas. Redis (cluster mode enabled) replication groups partition the data across node groups (shards).

When a Redis (cluster mode disabled) replication group has been successfully created, you can add one or more read replicas to it, up to a total of 5 read replicas. You cannot alter a Redis (cluster mode enabled) replication group after it has been created. However, if you need to increase or decrease the number of node groups (console: shards), you can avail yourself of ElastiCache for Redis' enhanced backup and restore. For more information, see Restoring From a Backup with Cluster Resizing in the ElastiCache User Guide.

This operation is valid for Redis only.

" }, "CreateSnapshot":{ "name":"CreateSnapshot", @@ -333,7 +333,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

Returns information about all provisioned cache clusters if no cache cluster identifier is specified, or about a specific cache cluster if a cache cluster identifier is supplied.

By default, abbreviated information about the cache clusters are returned. You can use the optional ShowDetails flag to retrieve detailed information about the cache nodes associated with the cache clusters. These details include the DNS address and port for the cache node endpoint.

If the cluster is in the CREATING state, only cluster-level information is displayed until all of the nodes are successfully provisioned.

If the cluster is in the DELETING state, only cluster-level information is displayed.

If cache nodes are currently being added to the cache cluster, node endpoint information and creation time for the additional nodes are not displayed until they are completely provisioned. When the cache cluster state is available, the cluster is ready for use.

If cache nodes are currently being removed from the cache cluster, no endpoint information for the removed nodes is displayed.

" + "documentation":"

Returns information about all provisioned cache clusters if no cache cluster identifier is specified, or about a specific cache cluster if a cache cluster identifier is supplied.

By default, abbreviated information about the cache clusters is returned. You can use the optional ShowCacheNodeInfo flag to retrieve detailed information about the cache nodes associated with the cache clusters. These details include the DNS address and port for the cache node endpoint.

If the cluster is in the creating state, only cluster-level information is displayed until all of the nodes are successfully provisioned.

If the cluster is in the deleting state, only cluster-level information is displayed.

If cache nodes are currently being added to the cache cluster, node endpoint information and creation time for the additional nodes are not displayed until they are completely provisioned. When the cache cluster state is available, the cluster is ready for use.

If cache nodes are currently being removed from the cache cluster, no endpoint information for the removed nodes is displayed.

" }, "DescribeCacheEngineVersions":{ "name":"DescribeCacheEngineVersions", @@ -560,7 +560,7 @@ {"shape":"SnapshotNotFoundFault"}, {"shape":"InvalidARNFault"} ], - "documentation":"

Lists all cost allocation tags currently on the named resource. A cost allocation tag is a key-value pair where the key is case-sensitive and the value is optional. You can use cost allocation tags to categorize and track your AWS costs.

You can have a maximum of 10 cost allocation tags on an ElastiCache resource. For more information, see Using Cost Allocation Tags in Amazon ElastiCache.

" + "documentation":"

Lists all cost allocation tags currently on the named resource. A cost allocation tag is a key-value pair where the key is case-sensitive and the value is optional. You can use cost allocation tags to categorize and track your AWS costs.

You can have a maximum of 50 cost allocation tags on an ElastiCache resource. For more information, see Using Cost Allocation Tags in Amazon ElastiCache.

" }, "ModifyCacheCluster":{ "name":"ModifyCacheCluster", @@ -748,9 +748,44 @@ {"shape":"InvalidParameterCombinationException"} ], "documentation":"

Revokes ingress from a cache security group. Use this operation to disallow access from an Amazon EC2 security group that had been previously authorized.

" + }, + "TestFailover":{ + "name":"TestFailover", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TestFailoverMessage"}, + "output":{ + "shape":"TestFailoverResult", + "resultWrapper":"TestFailoverResult" + }, + "errors":[ + {"shape":"APICallRateForCustomerExceededFault"}, + {"shape":"InvalidCacheClusterStateFault"}, + {"shape":"InvalidReplicationGroupStateFault"}, + {"shape":"NodeGroupNotFoundFault"}, + {"shape":"ReplicationGroupNotFoundFault"}, + {"shape":"TestFailoverNotAvailableFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Represents the input of a TestFailover operation which test automatic failover on a specified node group (called shard in the console) in a replication group (called cluster in the console).

Note the following

  • A customer can use this operation to test automatic failover on up to 5 shards (called node groups in the ElastiCache API and AWS CLI) in any rolling 24-hour period.

  • If calling this operation on shards in different clusters (called replication groups in the API and CLI), the calls can be made concurrently.

  • If calling this operation multiple times on different shards in the same Redis (cluster mode enabled) replication group, the first node replacement must complete before a subsequent call can be made.

  • To determine whether the node replacement is complete you can check Events using the Amazon ElastiCache console, the AWS CLI, or the ElastiCache API. Look for the following automatic failover related events, listed here in order of occurrance:

    1. Replication group message: Test Failover API called for node group <node-group-id>

    2. Cache cluster message: Failover from master node <primary-node-id> to replica node <node-id> completed

    3. Replication group message: Failover from master node <primary-node-id> to replica node <node-id> completed

    4. Cache cluster message: Recovering cache nodes <node-id>

    5. Cache cluster message: Finished recovery for cache nodes <node-id>

    For more information see:

Also see, Testing Multi-AZ with Automatic Failover in the ElastiCache User Guide.

" } }, "shapes":{ + "APICallRateForCustomerExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The customer has exceeded the allowed rate of API calls.

", + "error":{ + "code":"APICallRateForCustomerExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "AZMode":{ "type":"string", "enum":[ @@ -779,8 +814,12 @@ "AllowedNodeTypeModificationsMessage":{ "type":"structure", "members":{ - "ScaleUpModifications":{"shape":"NodeTypeList"} - } + "ScaleUpModifications":{ + "shape":"NodeTypeList", + "documentation":"

A string list, each element of which specifies a cache node type which you can use to scale your cache cluster or replication group.

When scaling up a Redis cluster or replication group using ModifyCacheCluster or ModifyReplicationGroup, use a value from this list for the CacheNodeType parameter.

" + } + }, + "documentation":"

Represents the allowed node types you can use to modify your cache cluster or replication group.

" }, "AuthorizationAlreadyExistsFault":{ "type":"structure", @@ -872,7 +911,10 @@ "shape":"String", "documentation":"

The user-supplied identifier of the cache cluster. This identifier is a unique key that identifies a cache cluster.

" }, - "ConfigurationEndpoint":{"shape":"Endpoint"}, + "ConfigurationEndpoint":{ + "shape":"Endpoint", + "documentation":"

Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on the cluster, can be used by an application to connect to any node in the cluster. The configuration endpoint will always have .cfg in it.

Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211

" + }, "ClientDownloadLandingPage":{ "shape":"String", "documentation":"

The URL of the web page where you can download the latest ElastiCache client library.

" @@ -1758,7 +1800,7 @@ }, "NumCacheClusters":{ "shape":"IntegerOptional", - "documentation":"

The number of clusters this replication group initially has.

This parameter is not used if there is more than one node group (shard). You should use ReplicasPerNodeGroup instead.

If Multi-AZ is enabled, the value of this parameter must be at least 2.

The maximum permitted value for NumCacheClusters is 6 (primary plus 5 replicas).

" + "documentation":"

The number of clusters this replication group initially has.

This parameter is not used if there is more than one node group (shard). You should use ReplicasPerNodeGroup instead.

If AutomaticFailoverEnabled is true, the value of this parameter must be at least 2. If AutomaticFailoverEnabled is false you can omit this parameter (it will default to 1), or you can explicitly set it to a value between 2 and 6.

The maximum permitted value for NumCacheClusters is 6 (primary plus 5 replicas).

" }, "PreferredCacheClusterAZs":{ "shape":"AvailabilityZonesList", @@ -1774,7 +1816,7 @@ }, "NodeGroupConfiguration":{ "shape":"NodeGroupConfigurationList", - "documentation":"

A list of node group (shard) configuration options. Each node group (shard) configuration has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.

If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group, you can use this parameter to configure one node group (shard) or you can omit this parameter.

" + "documentation":"

A list of node group (shard) configuration options. Each node group (shard) configuration has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.

If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group, you can use this parameter to individually configure each node group (shard), or you can omit this parameter.

" }, "CacheNodeType":{ "shape":"String", @@ -1810,7 +1852,7 @@ }, "SnapshotArns":{ "shape":"SnapshotArnsList", - "documentation":"

A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the replication group. The Amazon S3 object name in the ARN cannot contain any commas. The list must match the number of node groups (shards) in the replication group, which means you cannot repartition.

This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

" + "documentation":"

A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new replication group. The Amazon S3 object name in the ARN cannot contain any commas. The new replication group will have the number of node groups (console: shards) specified by the parameter NumNodeGroups or the number of node groups configured by NodeGroupConfiguration regardless of the number of ARNs specified here.

This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

" }, "SnapshotName":{ "shape":"String", @@ -1991,7 +2033,11 @@ }, "ShowCacheNodeInfo":{ "shape":"BooleanOptional", - "documentation":"

An optional flag that can be included in the DescribeCacheCluster request to retrieve information about the individual cache nodes.

" + "documentation":"

An optional flag that can be included in the DescribeCacheCluster request to retrieve information about the individual cache nodes.

" + }, + "ShowCacheClustersNotInReplicationGroups":{ + "shape":"BooleanOptional", + "documentation":"

An optional flag that can be included in the DescribeCacheCluster request to show only nodes (API/CLI: clusters) that are not members of a replication group. In practice, this mean Memcached and single node Redis clusters.

" } }, "documentation":"

Represents the input of a DescribeCacheClusters operation.

" @@ -2141,15 +2187,15 @@ }, "StartTime":{ "shape":"TStamp", - "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

" + "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

Example: 2017-03-30T07:03:49.555Z

" }, "EndTime":{ "shape":"TStamp", - "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format.

" + "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format.

Example: 2017-03-30T07:03:49.555Z

" }, "Duration":{ "shape":"IntegerOptional", - "documentation":"

The number of minutes' worth of events to retrieve.

" + "documentation":"

The number of minutes worth of events to retrieve.

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -2772,6 +2818,10 @@ "CacheNodeType":{ "shape":"String", "documentation":"

A valid cache node type that you want to scale this replication group to.

" + }, + "NodeGroupId":{ + "shape":"String", + "documentation":"

The name of the Node Group (called shard in the console).

" } }, "documentation":"

Represents the input of a ModifyReplicationGroups operation.

" @@ -2813,7 +2863,7 @@ "members":{ "Slots":{ "shape":"String", - "documentation":"

A string that specifies the keyspaces as a series of comma separated values. Keyspaces are 0 to 16,383. The string is in the format startkey-endkey.

Example: \"0-3999\"

" + "documentation":"

A string that specifies the keyspace for a particular node group. Keyspaces range from 0 to 16,383. The string is in the format startkey-endkey.

Example: \"0-3999\"

" }, "ReplicaCount":{ "shape":"IntegerOptional", @@ -2874,6 +2924,18 @@ "locationName":"NodeGroupMember" } }, + "NodeGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The node group specified by the NodeGroupId parameter could not be found. Please verify that the node group exists and that you spelled the NodeGroupId value correctly.

", + "error":{ + "code":"NodeGroupNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "NodeGroupsPerReplicationGroupQuotaExceededFault":{ "type":"structure", "members":{ @@ -3211,6 +3273,14 @@ "SnapshotWindow":{ "shape":"String", "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

" + }, + "ClusterEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be partitioned across multiple shards (API/CLI: node groups).

Valid values: true | false

" + }, + "CacheNodeType":{ + "shape":"String", + "documentation":"

The name of the compute and memory capacity node type for each node in the replication group.

" } }, "documentation":"

Contains all of the attributes of a specific Redis replication group.

", @@ -3754,11 +3824,11 @@ "members":{ "Key":{ "shape":"String", - "documentation":"

The key for the tag.

" + "documentation":"

The key for the tag. May not be null.

" }, "Value":{ "shape":"String", - "documentation":"

The tag's value. May not be null.

" + "documentation":"

The tag's value. May be null.

" } }, "documentation":"

A cost allocation Tag that can be added to an ElastiCache cluster or replication group. Tags are composed of a Key/Value pair. A tag with a null Value is permitted.

" @@ -3778,7 +3848,7 @@ "documentation":"

A list of cost allocation tags as key-value pairs.

" } }, - "documentation":"

Represents the output from the AddTagsToResource, ListTagsOnResource, and RemoveTagsFromResource operations.

" + "documentation":"

Represents the output from the AddTagsToResource, ListTagsForResource, and RemoveTagsFromResource operations.

" }, "TagNotFoundFault":{ "type":"structure", @@ -3796,13 +3866,47 @@ "type":"structure", "members":{ }, - "documentation":"

The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 10.

", + "documentation":"

The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.

", "error":{ "code":"TagQuotaPerResourceExceeded", "httpStatusCode":400, "senderFault":true }, "exception":true + }, + "TestFailoverMessage":{ + "type":"structure", + "required":[ + "ReplicationGroupId", + "NodeGroupId" + ], + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the replication group (console: cluster) whose automatic failover is being tested by this operation.

" + }, + "NodeGroupId":{ + "shape":"String", + "documentation":"

The name of the node group (called shard in the console) in this replication group on which automatic failover is to be tested. You may test automatic failover on up to 5 node groups in any rolling 24-hour period.

" + } + } + }, + "TestFailoverNotAvailableFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"TestFailoverNotAvailableFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TestFailoverResult":{ + "type":"structure", + "members":{ + "ReplicationGroup":{"shape":"ReplicationGroup"} + } } }, "documentation":"Amazon ElastiCache

Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the cloud.

With ElastiCache, customers get all of the benefits of a high-performance, in-memory cache with less of the administrative burden involved in launching and managing a distributed cache. The service makes setup, scaling, and cluster failure handling much simpler than in a self-managed cache deployment.

In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance statistics associated with their cache and can receive alarms if a part of their cache runs hot.

" diff --git a/botocore/data/elasticbeanstalk/2010-12-01/examples-1.json b/botocore/data/elasticbeanstalk/2010-12-01/examples-1.json old mode 100644 new mode 100755 diff --git a/botocore/data/elasticbeanstalk/2010-12-01/service-2.json b/botocore/data/elasticbeanstalk/2010-12-01/service-2.json index 5f5c404e..f32feb44 100755 --- a/botocore/data/elasticbeanstalk/2010-12-01/service-2.json +++ b/botocore/data/elasticbeanstalk/2010-12-01/service-2.json @@ -141,6 +141,24 @@ ], "documentation":"

Launches an environment for the specified application using the specified configuration.

" }, + "CreatePlatformVersion":{ + "name":"CreatePlatformVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePlatformVersionRequest"}, + "output":{ + "shape":"CreatePlatformVersionResult", + "resultWrapper":"CreatePlatformVersionResult" + }, + "errors":[ + {"shape":"InsufficientPrivilegesException"}, + {"shape":"ElasticBeanstalkServiceException"}, + {"shape":"TooManyPlatformsException"} + ], + "documentation":"

Create a new version of your custom platform.

" + }, "CreateStorageLocation":{ "name":"CreateStorageLocation", "http":{ @@ -206,6 +224,25 @@ "input":{"shape":"DeleteEnvironmentConfigurationMessage"}, "documentation":"

Deletes the draft configuration associated with the running environment.

Updating a running environment with any configuration changes creates a draft configuration set. You can get the draft configuration using DescribeConfigurationSettings while the update is in progress or if the update fails. The DeploymentStatus for the draft configuration indicates whether the deployment is in process or has failed. The draft configuration remains in existence until it is deleted with this action.

" }, + "DeletePlatformVersion":{ + "name":"DeletePlatformVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePlatformVersionRequest"}, + "output":{ + "shape":"DeletePlatformVersionResult", + "resultWrapper":"DeletePlatformVersionResult" + }, + "errors":[ + {"shape":"OperationInProgressException"}, + {"shape":"InsufficientPrivilegesException"}, + {"shape":"ElasticBeanstalkServiceException"}, + {"shape":"PlatformVersionStillReferencedException"} + ], + "documentation":"

Deletes the specified version of a custom platform.

" + }, "DescribeApplicationVersions":{ "name":"DescribeApplicationVersions", "http":{ @@ -372,6 +409,23 @@ ], "documentation":"

Retrives detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting.

" }, + "DescribePlatformVersion":{ + "name":"DescribePlatformVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePlatformVersionRequest"}, + "output":{ + "shape":"DescribePlatformVersionResult", + "resultWrapper":"DescribePlatformVersionResult" + }, + "errors":[ + {"shape":"InsufficientPrivilegesException"}, + {"shape":"ElasticBeanstalkServiceException"} + ], + "documentation":"

Describes the version of the platform.

" + }, "ListAvailableSolutionStacks":{ "name":"ListAvailableSolutionStacks", "http":{ @@ -382,7 +436,24 @@ "shape":"ListAvailableSolutionStacksResultMessage", "resultWrapper":"ListAvailableSolutionStacksResult" }, - "documentation":"

Returns a list of the available solution stack names.

" + "documentation":"

Returns a list of the available solution stack names, with the public version first and then in reverse chronological order.

" + }, + "ListPlatformVersions":{ + "name":"ListPlatformVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPlatformVersionsRequest"}, + "output":{ + "shape":"ListPlatformVersionsResult", + "resultWrapper":"ListPlatformVersionsResult" + }, + "errors":[ + {"shape":"InsufficientPrivilegesException"}, + {"shape":"ElasticBeanstalkServiceException"} + ], + "documentation":"

Lists the available platforms.

" }, "RebuildEnvironment":{ "name":"RebuildEnvironment", @@ -547,6 +618,7 @@ } }, "shapes":{ + "ARN":{"type":"string"}, "AbortEnvironmentUpdateMessage":{ "type":"structure", "members":{ @@ -662,7 +734,7 @@ }, "Latency":{ "shape":"Latency", - "documentation":"

Represents the average latency for the slowest X percent of requests over the last 10 seconds. Latencies are in seconds with one milisecond resolution.

" + "documentation":"

Represents the average latency for the slowest X percent of requests over the last 10 seconds. Latencies are in seconds with one millisecond resolution.

" } }, "documentation":"

Application request metrics for an AWS Elastic Beanstalk environment.

" @@ -894,6 +966,16 @@ }, "documentation":"

Settings for an AWS CodeBuild build.

" }, + "Builder":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"ARN", + "documentation":"

The ARN of the builder.

" + } + }, + "documentation":"

The builder used to build the custom platform.

" + }, "CPUUtilization":{ "type":"structure", "members":{ @@ -1112,6 +1194,10 @@ "shape":"SolutionStackName", "documentation":"

The name of the solution stack these configuration options belong to.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the custom platform.

" + }, "Options":{ "shape":"ConfigurationOptionDescriptionsList", "documentation":"

A list of ConfigurationOptionDescription.

" @@ -1126,6 +1212,10 @@ "shape":"SolutionStackName", "documentation":"

The name of the solution stack this configuration set uses.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the custom platform.

" + }, "ApplicationName":{ "shape":"ApplicationName", "documentation":"

The name of the application associated with this configuration set.

" @@ -1274,6 +1364,10 @@ "shape":"SolutionStackName", "documentation":"

The name of the solution stack used by this configuration. The solution stack specifies the operating system, architecture, and application server for a configuration template. It determines the set of configuration options as well as the possible and default values.

Use ListAvailableSolutionStacks to obtain a list of available solution stacks.

A solution stack name or a source configuration parameter must be specified, otherwise AWS Elastic Beanstalk returns an InvalidParameterValue error.

If a solution stack name is not specified and the source configuration parameter is specified, AWS Elastic Beanstalk uses the same solution stack as the source configuration template.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the custome platform.

" + }, "SourceConfiguration":{ "shape":"SourceConfiguration", "documentation":"

If specified, AWS Elastic Beanstalk uses the configuration values from the specified configuration template to create a new configuration.

Values specified in the OptionSettings parameter of this call overrides any values obtained from the SourceConfiguration.

If no configuration template is found, returns an InvalidParameterValue error.

Constraint: If both the solution stack name parameter and the source configuration parameters are specified, the solution stack of the source configuration template must match the specified solution stack name or else AWS Elastic Beanstalk returns an InvalidParameterCombination error.

" @@ -1331,11 +1425,15 @@ }, "TemplateName":{ "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template to use in deployment. If no configuration template is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error.

Condition: You must specify either this parameter or a SolutionStackName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.

" + "documentation":"

The name of the configuration template to use in deployment. If no configuration template is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error.

" }, "SolutionStackName":{ "shape":"SolutionStackName", - "documentation":"

This is an alternative to specifying a template name. If specified, AWS Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack.

Condition: You must specify either this or a TemplateName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.

" + "documentation":"

This is an alternative to specifying a template name. If specified, AWS Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack.

" + }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the custom platform.

" }, "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", @@ -1348,6 +1446,50 @@ }, "documentation":"

" }, + "CreatePlatformVersionRequest":{ + "type":"structure", + "required":[ + "PlatformName", + "PlatformVersion", + "PlatformDefinitionBundle" + ], + "members":{ + "PlatformName":{ + "shape":"PlatformName", + "documentation":"

The name of your custom platform.

" + }, + "PlatformVersion":{ + "shape":"PlatformVersion", + "documentation":"

The number, such as 1.0.2, for the new platform version.

" + }, + "PlatformDefinitionBundle":{ + "shape":"S3Location", + "documentation":"

The location of the platform definition archive in Amazon S3.

" + }, + "EnvironmentName":{ + "shape":"EnvironmentName", + "documentation":"

The name of the builder environment.

" + }, + "OptionSettings":{ + "shape":"ConfigurationOptionSettingsList", + "documentation":"

The configuration option settings to apply to the builder environment.

" + } + }, + "documentation":"

Request to create a new platform version.

" + }, + "CreatePlatformVersionResult":{ + "type":"structure", + "members":{ + "PlatformSummary":{ + "shape":"PlatformSummary", + "documentation":"

Detailed information about the new version of the custom platform.

" + }, + "Builder":{ + "shape":"Builder", + "documentation":"

The builder used to create the custom platform.

" + } + } + }, "CreateStorageLocationResultMessage":{ "type":"structure", "members":{ @@ -1359,6 +1501,24 @@ "documentation":"

Results of a CreateStorageLocationResult call.

" }, "CreationDate":{"type":"timestamp"}, + "CustomAmi":{ + "type":"structure", + "members":{ + "VirtualizationType":{ + "shape":"VirtualizationType", + "documentation":"

The type of virtualization used to create the custom AMI.

" + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

THe ID of the image used to create the custom AMI.

" + } + }, + "documentation":"

A custom AMI available to platforms.

" + }, + "CustomAmiList":{ + "type":"list", + "member":{"shape":"CustomAmi"} + }, "DNSCname":{ "type":"string", "max":255, @@ -1442,6 +1602,24 @@ }, "documentation":"

Request to delete a draft environment configuration.

" }, + "DeletePlatformVersionRequest":{ + "type":"structure", + "members":{ + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the version of the custom platform.

" + } + } + }, + "DeletePlatformVersionResult":{ + "type":"structure", + "members":{ + "PlatformSummary":{ + "shape":"PlatformSummary", + "documentation":"

Detailed information about the version of the custom platform.

" + } + } + }, "DeleteSourceBundle":{"type":"boolean"}, "Deployment":{ "type":"structure", @@ -1517,12 +1695,16 @@ "shape":"SolutionStackName", "documentation":"

The name of the solution stack whose configuration options you want to describe.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the custom platform.

" + }, "Options":{ "shape":"OptionsSpecifierList", "documentation":"

If specified, restricts the descriptions to only the specified options.

" } }, - "documentation":"

Result message containig a list of application version descriptions.

" + "documentation":"

Result message containing a list of application version descriptions.

" }, "DescribeConfigurationSettingsMessage":{ "type":"structure", @@ -1730,6 +1912,10 @@ "shape":"EnvironmentName", "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the version of the custom platform.

" + }, "RequestId":{ "shape":"RequestId", "documentation":"

If specified, AWS Elastic Beanstalk restricts the described events to include only those associated with this request ID.

" @@ -1797,6 +1983,24 @@ }, "documentation":"

Detailed health information about the Amazon EC2 instances in an AWS Elastic Beanstalk environment.

" }, + "DescribePlatformVersionRequest":{ + "type":"structure", + "members":{ + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the version of the platform.

" + } + } + }, + "DescribePlatformVersionResult":{ + "type":"structure", + "members":{ + "PlatformDescription":{ + "shape":"PlatformDescription", + "documentation":"

Detailed information about the version of the platform.

" + } + } + }, "Description":{ "type":"string", "max":200 @@ -1837,6 +2041,10 @@ "shape":"SolutionStackName", "documentation":"

The name of the SolutionStack deployed with this environment.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the custom platform.

" + }, "TemplateName":{ "shape":"ConfigurationTemplateName", "documentation":"

The name of the configuration template used to originally launch this environment.

" @@ -2120,6 +2328,10 @@ "shape":"EnvironmentName", "documentation":"

The name of the environment associated with this event.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the custom platform.

" + }, "RequestId":{ "shape":"RequestId", "documentation":"

The web service request ID for the activity of this event.

" @@ -2185,6 +2397,7 @@ "max":19, "min":1 }, + "ImageId":{"type":"string"}, "IncludeDeleted":{"type":"boolean"}, "IncludeDeletedBackTo":{"type":"timestamp"}, "Instance":{ @@ -2360,6 +2573,36 @@ }, "documentation":"

A list of available AWS Elastic Beanstalk solution stacks.

" }, + "ListPlatformVersionsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"PlatformFilters", + "documentation":"

List only the platforms where the platform member value relates to one of the supplied values.

" + }, + "MaxRecords":{ + "shape":"PlatformMaxRecords", + "documentation":"

The maximum number of platform values returned in one call.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

The starting index into the remaining list of platforms. Use the NextToken value from a previous ListPlatformVersion call.

" + } + } + }, + "ListPlatformVersionsResult":{ + "type":"structure", + "members":{ + "PlatformSummaryList":{ + "shape":"PlatformSummaryList", + "documentation":"

Detailed information about the platforms.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

The starting index into the remaining list of platforms. if this value is not null, you can use it in a subsequent ListPlatformVersion call.

" + } + } + }, "Listener":{ "type":"structure", "members":{ @@ -2415,6 +2658,7 @@ "type":"list", "member":{"shape":"Listener"} }, + "Maintainer":{"type":"string"}, "ManagedAction":{ "type":"structure", "members":{ @@ -2559,6 +2803,8 @@ "NullableDouble":{"type":"double"}, "NullableInteger":{"type":"integer"}, "NullableLong":{"type":"long"}, + "OperatingSystemName":{"type":"string"}, + "OperatingSystemVersion":{"type":"string"}, "OperationInProgressException":{ "type":"structure", "members":{ @@ -2611,6 +2857,222 @@ "type":"list", "member":{"shape":"OptionSpecification"} }, + "PlatformArn":{"type":"string"}, + "PlatformCategory":{"type":"string"}, + "PlatformDescription":{ + "type":"structure", + "members":{ + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform.

" + }, + "PlatformOwner":{ + "shape":"PlatformOwner", + "documentation":"

The AWS account ID of the person who created the platform.

" + }, + "PlatformName":{ + "shape":"PlatformName", + "documentation":"

The name of the platform.

" + }, + "PlatformVersion":{ + "shape":"PlatformVersion", + "documentation":"

The version of the platform.

" + }, + "SolutionStackName":{ + "shape":"SolutionStackName", + "documentation":"

The name of the solution stack used by the platform.

" + }, + "PlatformStatus":{ + "shape":"PlatformStatus", + "documentation":"

The status of the platform.

" + }, + "DateCreated":{ + "shape":"CreationDate", + "documentation":"

The date when the platform was created.

" + }, + "DateUpdated":{ + "shape":"UpdateDate", + "documentation":"

The date when the platform was last updated.

" + }, + "PlatformCategory":{ + "shape":"PlatformCategory", + "documentation":"

The category of the platform.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the platform.

" + }, + "Maintainer":{ + "shape":"Maintainer", + "documentation":"

Information about the maintainer of the platform.

" + }, + "OperatingSystemName":{ + "shape":"OperatingSystemName", + "documentation":"

The operating system used by the platform.

" + }, + "OperatingSystemVersion":{ + "shape":"OperatingSystemVersion", + "documentation":"

The version of the operating system used by the platform.

" + }, + "ProgrammingLanguages":{ + "shape":"PlatformProgrammingLanguages", + "documentation":"

The programming languages supported by the platform.

" + }, + "Frameworks":{ + "shape":"PlatformFrameworks", + "documentation":"

The frameworks supported by the platform.

" + }, + "CustomAmiList":{ + "shape":"CustomAmiList", + "documentation":"

The custom AMIs supported by the platform.

" + }, + "SupportedTierList":{ + "shape":"SupportedTierList", + "documentation":"

The tiers supported by the platform.

" + }, + "SupportedAddonList":{ + "shape":"SupportedAddonList", + "documentation":"

The additions supported by the platform.

" + } + }, + "documentation":"

Detailed information about a platform.

" + }, + "PlatformFilter":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"PlatformFilterType", + "documentation":"

The custom platform attribute to which the filter values are applied.

Valid Values: PlatformName | PlatformVersion | PlatformStatus | PlatformOwner

" + }, + "Operator":{ + "shape":"PlatformFilterOperator", + "documentation":"

The operator to apply to the Type with each of the Values.

Valid Values: = (equal to) | != (not equal to) | < (less than) | <= (less than or equal to) | > (greater than) | >= (greater than or equal to) | contains | begins_with | ends_with

" + }, + "Values":{ + "shape":"PlatformFilterValueList", + "documentation":"

The list of values applied to the custom platform attribute.

" + } + }, + "documentation":"

Specify criteria to restrict the results when listing custom platforms.

The filter is evaluated as the expression:

Type Operator Values[i]

" + }, + "PlatformFilterOperator":{"type":"string"}, + "PlatformFilterType":{"type":"string"}, + "PlatformFilterValue":{"type":"string"}, + "PlatformFilterValueList":{ + "type":"list", + "member":{"shape":"PlatformFilterValue"} + }, + "PlatformFilters":{ + "type":"list", + "member":{"shape":"PlatformFilter"} + }, + "PlatformFramework":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the framework.

" + }, + "Version":{ + "shape":"String", + "documentation":"

The version of the framework.

" + } + }, + "documentation":"

A framework supported by the custom platform.

" + }, + "PlatformFrameworks":{ + "type":"list", + "member":{"shape":"PlatformFramework"} + }, + "PlatformMaxRecords":{ + "type":"integer", + "min":1 + }, + "PlatformName":{"type":"string"}, + "PlatformOwner":{"type":"string"}, + "PlatformProgrammingLanguage":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the programming language.

" + }, + "Version":{ + "shape":"String", + "documentation":"

The version of the programming language.

" + } + }, + "documentation":"

A programming language supported by the platform.

" + }, + "PlatformProgrammingLanguages":{ + "type":"list", + "member":{"shape":"PlatformProgrammingLanguage"} + }, + "PlatformStatus":{ + "type":"string", + "enum":[ + "Creating", + "Failed", + "Ready", + "Deleting", + "Deleted" + ] + }, + "PlatformSummary":{ + "type":"structure", + "members":{ + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform.

" + }, + "PlatformOwner":{ + "shape":"PlatformOwner", + "documentation":"

The AWS account ID of the person who created the platform.

" + }, + "PlatformStatus":{ + "shape":"PlatformStatus", + "documentation":"

The status of the platform. You can create an environment from the platform once it is ready.

" + }, + "PlatformCategory":{ + "shape":"PlatformCategory", + "documentation":"

The category of platform.

" + }, + "OperatingSystemName":{ + "shape":"OperatingSystemName", + "documentation":"

The operating system used by the platform.

" + }, + "OperatingSystemVersion":{ + "shape":"OperatingSystemVersion", + "documentation":"

The version of the operating system used by the platform.

" + }, + "SupportedTierList":{ + "shape":"SupportedTierList", + "documentation":"

The tiers in which the platform runs.

" + }, + "SupportedAddonList":{ + "shape":"SupportedAddonList", + "documentation":"

The additions associated with the platform.

" + } + }, + "documentation":"

Detailed information about a platform.

" + }, + "PlatformSummaryList":{ + "type":"list", + "member":{"shape":"PlatformSummary"} + }, + "PlatformVersion":{"type":"string"}, + "PlatformVersionStillReferencedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You cannot delete the platform version because there are still environments running on it.

", + "error":{ + "code":"PlatformVersionStillReferencedException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "Queue":{ "type":"structure", "members":{ @@ -2827,10 +3289,7 @@ "type":"list", "member":{"shape":"FileTypeExtension"} }, - "SolutionStackName":{ - "type":"string", - "max":100 - }, + "SolutionStackName":{"type":"string"}, "SourceBuildInformation":{ "type":"structure", "required":[ @@ -2923,6 +3382,16 @@ "documentation":"

Represents the percentage of requests over the last 10 seconds that resulted in each type of status code response. For more information, see Status Code Definitions.

" }, "String":{"type":"string"}, + "SupportedAddon":{"type":"string"}, + "SupportedAddonList":{ + "type":"list", + "member":{"shape":"SupportedAddon"} + }, + "SupportedTier":{"type":"string"}, + "SupportedTierList":{ + "type":"list", + "member":{"shape":"SupportedTier"} + }, "SwapEnvironmentCNAMEsMessage":{ "type":"structure", "members":{ @@ -2954,7 +3423,7 @@ }, "LoadAverage":{ "shape":"LoadAverage", - "documentation":"

Load average in the last 1-minute and 5-minute periods. For more information, see Operating System Metrics.

" + "documentation":"

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more information, see Operating System Metrics.

" } }, "documentation":"

CPU utilization and load average metrics for an Amazon EC2 instance.

" @@ -3070,6 +3539,18 @@ }, "exception":true }, + "TooManyPlatformsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have exceeded the maximum number of allowed platforms associated with the account.

", + "error":{ + "code":"TooManyPlatformsException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "Trigger":{ "type":"structure", "members":{ @@ -3208,6 +3689,10 @@ "shape":"SolutionStackName", "documentation":"

This specifies the platform version that the environment will run after the environment is updated.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform, if used.

" + }, "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", "documentation":"

If specified, AWS Elastic Beanstalk updates the configuration set associated with the running environment and sets the specified configuration options to the requested value.

" @@ -3292,7 +3777,8 @@ "VersionLabelsList":{ "type":"list", "member":{"shape":"VersionLabel"} - } + }, + "VirtualizationType":{"type":"string"} }, "documentation":"AWS Elastic Beanstalk

AWS Elastic Beanstalk makes it easy for you to create, deploy, and manage scalable, fault-tolerant applications running on the Amazon Web Services cloud.

For more information about this product, go to the AWS Elastic Beanstalk details page. The location of the latest AWS Elastic Beanstalk WSDL is http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl. To install the Software Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command line tools that enable you to access the API, go to Tools for Amazon Web Services.

Endpoints

For a list of region-specific endpoints that AWS Elastic Beanstalk supports, go to Regions and Endpoints in the Amazon Web Services Glossary.

" } diff --git a/botocore/data/elastictranscoder/2012-09-25/examples-1.json b/botocore/data/elastictranscoder/2012-09-25/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/elastictranscoder/2012-09-25/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/elb/2012-06-01/examples-1.json b/botocore/data/elb/2012-06-01/examples-1.json new file mode 100644 index 00000000..ce50fdd1 --- /dev/null +++ b/botocore/data/elb/2012-06-01/examples-1.json @@ -0,0 +1,1036 @@ +{ + "version": "1.0", + "examples": { + "AddTags": [ + { + "input": { + "LoadBalancerNames": [ + "my-load-balancer" + ], + "Tags": [ + { + "Key": "project", + "Value": "lima" + }, + { + "Key": "department", + "Value": "digital-media" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds two tags to the specified load balancer.", + "id": "elb-add-tags-1", + "title": "To add tags to a load balancer" + } + ], + "ApplySecurityGroupsToLoadBalancer": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "SecurityGroups": [ + "sg-fc448899" + ] + }, + "output": { + "SecurityGroups": [ + "sg-fc448899" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates a security group with the specified load balancer in a VPC.", + "id": "elb-apply-security-groups-to-load-balancer-1", + "title": "To associate a security group with a load balancer in a VPC" + } + ], + "AttachLoadBalancerToSubnets": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "Subnets": [ + "subnet-0ecac448" + ] + }, + "output": { + "Subnets": [ + "subnet-15aaab61", + "subnet-0ecac448" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified subnet to the set of configured subnets for the specified load balancer.", + "id": "elb-attach-load-balancer-to-subnets-1", + "title": "To attach subnets to a load balancer" + } + ], + "ConfigureHealthCheck": [ + { + "input": { + "HealthCheck": { + "HealthyThreshold": 2, + "Interval": 30, + "Target": "HTTP:80/png", + "Timeout": 3, + "UnhealthyThreshold": 2 + }, + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "HealthCheck": { + "HealthyThreshold": 2, + "Interval": 30, + "Target": "HTTP:80/png", + "Timeout": 3, + "UnhealthyThreshold": 2 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example specifies the health check settings used to evaluate the health of your backend EC2 instances.", + "id": "elb-configure-health-check-1", + "title": "To specify the health check settings for your backend EC2 instances" + } + ], + "CreateAppCookieStickinessPolicy": [ + { + "input": { + "CookieName": "my-app-cookie", + "LoadBalancerName": "my-load-balancer", + "PolicyName": "my-app-cookie-policy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example generates a stickiness policy that follows the sticky session lifetimes of the application-generated cookie.", + "id": "elb-create-app-cookie-stickiness-policy-1", + "title": "To generate a stickiness policy for your load balancer" + } + ], + "CreateLBCookieStickinessPolicy": [ + { + "input": { + "CookieExpirationPeriod": 60, + "LoadBalancerName": "my-load-balancer", + "PolicyName": "my-duration-cookie-policy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example generates a stickiness policy with sticky session lifetimes controlled by the specified expiration period.", + "id": "elb-create-lb-cookie-stickiness-policy-1", + "title": "To generate a duration-based stickiness policy for your load balancer" + } + ], + "CreateLoadBalancer": [ + { + "input": { + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + } + ], + "LoadBalancerName": "my-load-balancer", + "SecurityGroups": [ + "sg-a61988c3" + ], + "Subnets": [ + "subnet-15aaab61" + ] + }, + "output": { + "DNSName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a load balancer with an HTTP listener in a VPC.", + "id": "elb-create-load-balancer-1", + "title": "To create an HTTP load balancer in a VPC" + }, + { + "input": { + "AvailabilityZones": [ + "us-west-2a" + ], + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "DNSName": "my-load-balancer-123456789.us-west-2.elb.amazonaws.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a load balancer with an HTTP listener in EC2-Classic.", + "id": "elb-create-load-balancer-2", + "title": "To create an HTTP load balancer in EC2-Classic" + }, + { + "input": { + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + }, + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 443, + "Protocol": "HTTPS", + "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + } + ], + "LoadBalancerName": "my-load-balancer", + "SecurityGroups": [ + "sg-a61988c3" + ], + "Subnets": [ + "subnet-15aaab61" + ] + }, + "output": { + "DNSName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a load balancer with an HTTPS listener in a VPC.", + "id": "elb-create-load-balancer-3", + "title": "To create an HTTPS load balancer in a VPC" + }, + { + "input": { + "AvailabilityZones": [ + "us-west-2a" + ], + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + }, + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 443, + "Protocol": "HTTPS", + "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "DNSName": "my-load-balancer-123456789.us-west-2.elb.amazonaws.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a load balancer with an HTTPS listener in EC2-Classic.", + "id": "elb-create-load-balancer-4", + "title": "To create an HTTPS load balancer in EC2-Classic" + }, + { + "input": { + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + } + ], + "LoadBalancerName": "my-load-balancer", + "Scheme": "internal", + "SecurityGroups": [ + "sg-a61988c3" + ], + "Subnets": [ + "subnet-15aaab61" + ] + }, + "output": { + "DNSName": "internal-my-load-balancer-123456789.us-west-2.elb.amazonaws.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an internal load balancer with an HTTP listener in a VPC.", + "id": "elb-create-load-balancer-5", + "title": "To create an internal load balancer" + } + ], + "CreateLoadBalancerListeners": [ + { + "input": { + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a listener for your load balancer at port 80 using the HTTP protocol.", + "id": "elb-create-load-balancer-listeners-1", + "title": "To create an HTTP listener for a load balancer" + }, + { + "input": { + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 443, + "Protocol": "HTTPS", + "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a listener for your load balancer at port 443 using the HTTPS protocol.", + "id": "elb-create-load-balancer-listeners-2", + "title": "To create an HTTPS listener for a load balancer" + } + ], + "CreateLoadBalancerPolicy": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "PolicyAttributes": [ + { + "AttributeName": "ProxyProtocol", + "AttributeValue": "true" + } + ], + "PolicyName": "my-ProxyProtocol-policy", + "PolicyTypeName": "ProxyProtocolPolicyType" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a policy that enables Proxy Protocol on the specified load balancer.", + "id": "elb-create-load-balancer-policy-1", + "title": "To create a policy that enables Proxy Protocol on a load balancer" + }, + { + "input": { + "LoadBalancerName": "my-load-balancer", + "PolicyAttributes": [ + { + "AttributeName": "PublicKey", + "AttributeValue": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwAYUjnfyEyXr1pxjhFWBpMlggUcqoi3kl+dS74kj//c6x7ROtusUaeQCTgIUkayttRDWchuqo1pHC1u+n5xxXnBBe2ejbb2WRsKIQ5rXEeixsjFpFsojpSQKkzhVGI6mJVZBJDVKSHmswnwLBdofLhzvllpovBPTHe+o4haAWvDBALJU0pkSI1FecPHcs2hwxf14zHoXy1e2k36A64nXW43wtfx5qcVSIxtCEOjnYRg7RPvybaGfQ+v6Iaxb/+7J5kEvZhTFQId+bSiJImF1FSUT1W1xwzBZPUbcUkkXDj45vC2s3Z8E+Lk7a3uZhvsQHLZnrfuWjBWGWvZ/MhZYgEXAMPLE" + } + ], + "PolicyName": "my-PublicKey-policy", + "PolicyTypeName": "PublicKeyPolicyType" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a public key policy.", + "id": "elb-create-load-balancer-policy-2", + "title": "To create a public key policy" + }, + { + "input": { + "LoadBalancerName": "my-load-balancer", + "PolicyAttributes": [ + { + "AttributeName": "PublicKeyPolicyName", + "AttributeValue": "my-PublicKey-policy" + } + ], + "PolicyName": "my-authentication-policy", + "PolicyTypeName": "BackendServerAuthenticationPolicyType" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a backend server authentication policy that enables authentication on your backend instance using a public key policy.", + "id": "elb-create-load-balancer-policy-3", + "title": "To create a backend server authentication policy" + } + ], + "DeleteLoadBalancer": [ + { + "input": { + "LoadBalancerName": "my-load-balancer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified load balancer.", + "id": "elb-delete-load-balancer-1", + "title": "To delete a load balancer" + } + ], + "DeleteLoadBalancerListeners": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "LoadBalancerPorts": [ + 80 + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the listener for the specified port from the specified load balancer.", + "id": "elb-delete-load-balancer-listeners-1", + "title": "To delete a listener from your load balancer" + } + ], + "DeleteLoadBalancerPolicy": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "PolicyName": "my-duration-cookie-policy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified policy from the specified load balancer. The policy must not be enabled on any listener.", + "id": "elb-delete-load-balancer-policy-1", + "title": "To delete a policy from your load balancer" + } + ], + "DeregisterInstancesFromLoadBalancer": [ + { + "input": { + "Instances": [ + { + "InstanceId": "i-d6f6fae3" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "Instances": [ + { + "InstanceId": "i-207d9717" + }, + { + "InstanceId": "i-afefb49b" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deregisters the specified instance from the specified load balancer.", + "id": "elb-deregister-instances-from-load-balancer-1", + "title": "To deregister instances from a load balancer" + } + ], + "DescribeInstanceHealth": [ + { + "input": { + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "InstanceStates": [ + { + "Description": "N/A", + "InstanceId": "i-207d9717", + "ReasonCode": "N/A", + "State": "InService" + }, + { + "Description": "N/A", + "InstanceId": "i-afefb49b", + "ReasonCode": "N/A", + "State": "InService" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the health of the instances for the specified load balancer.", + "id": "elb-describe-instance-health-1", + "title": "To describe the health of the instances for a load balancer" + } + ], + "DescribeLoadBalancerAttributes": [ + { + "input": { + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "LoadBalancerAttributes": { + "AccessLog": { + "Enabled": false + }, + "ConnectionDraining": { + "Enabled": false, + "Timeout": 300 + }, + "ConnectionSettings": { + "IdleTimeout": 60 + }, + "CrossZoneLoadBalancing": { + "Enabled": false + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the attributes of the specified load balancer.", + "id": "elb-describe-load-balancer-attributes-1", + "title": "To describe the attributes of a load balancer" + } + ], + "DescribeLoadBalancerPolicies": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "PolicyNames": [ + "my-authentication-policy" + ] + }, + "output": { + "PolicyDescriptions": [ + { + "PolicyAttributeDescriptions": [ + { + "AttributeName": "PublicKeyPolicyName", + "AttributeValue": "my-PublicKey-policy" + } + ], + "PolicyName": "my-authentication-policy", + "PolicyTypeName": "BackendServerAuthenticationPolicyType" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified policy associated with the specified load balancer.", + "id": "elb-describe-load-balancer-policies-1", + "title": "To describe a policy associated with a load balancer" + } + ], + "DescribeLoadBalancerPolicyTypes": [ + { + "input": { + "PolicyTypeNames": [ + "ProxyProtocolPolicyType" + ] + }, + "output": { + "PolicyTypeDescriptions": [ + { + "Description": "Policy that controls whether to include the IP address and port of the originating request for TCP messages. This policy operates on TCP listeners only.", + "PolicyAttributeTypeDescriptions": [ + { + "AttributeName": "ProxyProtocol", + "AttributeType": "Boolean", + "Cardinality": "ONE" + } + ], + "PolicyTypeName": "ProxyProtocolPolicyType" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified load balancer policy type.", + "id": "elb-describe-load-balancer-policy-types-1", + "title": "To describe a load balancer policy type defined by Elastic Load Balancing" + } + ], + "DescribeLoadBalancers": [ + { + "input": { + "LoadBalancerNames": [ + "my-load-balancer" + ] + }, + "output": { + "LoadBalancerDescriptions": [ + { + "AvailabilityZones": [ + "us-west-2a" + ], + "BackendServerDescriptions": [ + { + "InstancePort": 80, + "PolicyNames": [ + "my-ProxyProtocol-policy" + ] + } + ], + "CanonicalHostedZoneName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com", + "CanonicalHostedZoneNameID": "Z3DZXE0EXAMPLE", + "CreatedTime": "2015-03-19T03:24:02.650Z", + "DNSName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com", + "HealthCheck": { + "HealthyThreshold": 2, + "Interval": 30, + "Target": "HTTP:80/png", + "Timeout": 3, + "UnhealthyThreshold": 2 + }, + "Instances": [ + { + "InstanceId": "i-207d9717" + }, + { + "InstanceId": "i-afefb49b" + } + ], + "ListenerDescriptions": [ + { + "Listener": { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + }, + "PolicyNames": [ + + ] + }, + { + "Listener": { + "InstancePort": 443, + "InstanceProtocol": "HTTPS", + "LoadBalancerPort": 443, + "Protocol": "HTTPS", + "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + }, + "PolicyNames": [ + "ELBSecurityPolicy-2015-03" + ] + } + ], + "LoadBalancerName": "my-load-balancer", + "Policies": { + "AppCookieStickinessPolicies": [ + + ], + "LBCookieStickinessPolicies": [ + { + "CookieExpirationPeriod": 60, + "PolicyName": "my-duration-cookie-policy" + } + ], + "OtherPolicies": [ + "my-PublicKey-policy", + "my-authentication-policy", + "my-SSLNegotiation-policy", + "my-ProxyProtocol-policy", + "ELBSecurityPolicy-2015-03" + ] + }, + "Scheme": "internet-facing", + "SecurityGroups": [ + "sg-a61988c3" + ], + "SourceSecurityGroup": { + "GroupName": "my-elb-sg", + "OwnerAlias": "123456789012" + }, + "Subnets": [ + "subnet-15aaab61" + ], + "VPCId": "vpc-a01106c2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified load balancer.", + "id": "elb-describe-load-balancers-1", + "title": "To describe one of your load balancers" + } + ], + "DescribeTags": [ + { + "input": { + "LoadBalancerNames": [ + "my-load-balancer" + ] + }, + "output": { + "TagDescriptions": [ + { + "LoadBalancerName": "my-load-balancer", + "Tags": [ + { + "Key": "project", + "Value": "lima" + }, + { + "Key": "department", + "Value": "digital-media" + } + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the tags for the specified load balancer.", + "id": "elb-describe-tags-1", + "title": "To describe the tags for a load balancer" + } + ], + "DetachLoadBalancerFromSubnets": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "Subnets": [ + "subnet-0ecac448" + ] + }, + "output": { + "Subnets": [ + "subnet-15aaab61" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the specified load balancer from the specified subnet.", + "id": "elb-detach-load-balancer-from-subnets-1", + "title": "To detach a load balancer from a subnet" + } + ], + "DisableAvailabilityZonesForLoadBalancer": [ + { + "input": { + "AvailabilityZones": [ + "us-west-2a" + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "AvailabilityZones": [ + "us-west-2b" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the specified Availability Zone from the set of Availability Zones for the specified load balancer.", + "id": "elb-disable-availability-zones-for-load-balancer-1", + "title": "To disable an Availability Zone for a load balancer" + } + ], + "EnableAvailabilityZonesForLoadBalancer": [ + { + "input": { + "AvailabilityZones": [ + "us-west-2b" + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "AvailabilityZones": [ + "us-west-2a", + "us-west-2b" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified Availability Zone to the specified load balancer.", + "id": "elb-enable-availability-zones-for-load-balancer-1", + "title": "To enable an Availability Zone for a load balancer" + } + ], + "ModifyLoadBalancerAttributes": [ + { + "input": { + "LoadBalancerAttributes": { + "CrossZoneLoadBalancing": { + "Enabled": true + } + }, + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "LoadBalancerAttributes": { + "CrossZoneLoadBalancing": { + "Enabled": true + } + }, + "LoadBalancerName": "my-load-balancer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables cross-zone load balancing for the specified load balancer.", + "id": "elb-modify-load-balancer-attributes-1", + "title": "To enable cross-zone load balancing" + }, + { + "input": { + "LoadBalancerAttributes": { + "ConnectionDraining": { + "Enabled": true, + "Timeout": 300 + } + }, + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "LoadBalancerAttributes": { + "ConnectionDraining": { + "Enabled": true, + "Timeout": 300 + } + }, + "LoadBalancerName": "my-load-balancer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables connection draining for the specified load balancer.", + "id": "elb-modify-load-balancer-attributes-2", + "title": "To enable connection draining" + } + ], + "RegisterInstancesWithLoadBalancer": [ + { + "input": { + "Instances": [ + { + "InstanceId": "i-d6f6fae3" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "Instances": [ + { + "InstanceId": "i-d6f6fae3" + }, + { + "InstanceId": "i-207d9717" + }, + { + "InstanceId": "i-afefb49b" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers the specified instance with the specified load balancer.", + "id": "elb-register-instances-with-load-balancer-1", + "title": "To register instances with a load balancer" + } + ], + "RemoveTags": [ + { + "input": { + "LoadBalancerNames": [ + "my-load-balancer" + ], + "Tags": [ + { + "Key": "project" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the specified tag from the specified load balancer.", + "id": "elb-remove-tags-1", + "title": "To remove tags from a load balancer" + } + ], + "SetLoadBalancerListenerSSLCertificate": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "LoadBalancerPort": 443, + "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/new-server-cert" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example replaces the existing SSL certificate for the specified HTTPS listener.", + "id": "elb-set-load-balancer-listener-ssl-certificate-1", + "title": "To update the SSL certificate for an HTTPS listener" + } + ], + "SetLoadBalancerPoliciesForBackendServer": [ + { + "input": { + "InstancePort": 80, + "LoadBalancerName": "my-load-balancer", + "PolicyNames": [ + "my-ProxyProtocol-policy" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example replaces the policies that are currently associated with the specified port.", + "id": "elb-set-load-balancer-policies-for-backend-server-1", + "title": "To replace the policies associated with a port for a backend instance" + } + ], + "SetLoadBalancerPoliciesOfListener": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "LoadBalancerPort": 80, + "PolicyNames": [ + "my-SSLNegotiation-policy" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example replaces the policies that are currently associated with the specified listener.", + "id": "elb-set-load-balancer-policies-of-listener-1", + "title": "To replace the policies associated with a listener" + } + ] + } +} diff --git a/botocore/data/elb/2012-06-01/service-2.json b/botocore/data/elb/2012-06-01/service-2.json index 90c1f480..17e01152 100644 --- a/botocore/data/elb/2012-06-01/service-2.json +++ b/botocore/data/elb/2012-06-01/service-2.json @@ -1,12 +1,12 @@ { "version":"2.0", "metadata":{ - "uid":"elasticloadbalancing-2012-06-01", "apiVersion":"2012-06-01", "endpointPrefix":"elasticloadbalancing", "protocol":"query", "serviceFullName":"Elastic Load Balancing", "signatureVersion":"v4", + "uid":"elasticloadbalancing-2012-06-01", "xmlNamespace":"http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/" }, "operations":{ @@ -26,7 +26,7 @@ {"shape":"TooManyTagsException"}, {"shape":"DuplicateTagKeysException"} ], - "documentation":"

Adds the specified tags to the specified load balancer. Each load balancer can have a maximum of 10 tags.

Each tag consists of a key and an optional value. If a tag with the same key is already associated with the load balancer, AddTags updates its value.

For more information, see Tag Your Classic Load Balancer in the Classic Load Balancers Guide.

" + "documentation":"

Adds the specified tags to the specified load balancer. Each load balancer can have a maximum of 10 tags.

Each tag consists of a key and an optional value. If a tag with the same key is already associated with the load balancer, AddTags updates its value.

For more information, see Tag Your Classic Load Balancer in the Classic Load Balancer Guide.

" }, "ApplySecurityGroupsToLoadBalancer":{ "name":"ApplySecurityGroupsToLoadBalancer", @@ -44,7 +44,7 @@ {"shape":"InvalidConfigurationRequestException"}, {"shape":"InvalidSecurityGroupException"} ], - "documentation":"

Associates one or more security groups with your load balancer in a virtual private cloud (VPC). The specified security groups override the previously associated security groups.

For more information, see Security Groups for Load Balancers in a VPC in the Classic Load Balancers Guide.

" + "documentation":"

Associates one or more security groups with your load balancer in a virtual private cloud (VPC). The specified security groups override the previously associated security groups.

For more information, see Security Groups for Load Balancers in a VPC in the Classic Load Balancer Guide.

" }, "AttachLoadBalancerToSubnets":{ "name":"AttachLoadBalancerToSubnets", @@ -63,7 +63,7 @@ {"shape":"SubnetNotFoundException"}, {"shape":"InvalidSubnetException"} ], - "documentation":"

Adds one or more subnets to the set of configured subnets for the specified load balancer.

The load balancer evenly distributes requests across all registered subnets. For more information, see Add or Remove Subnets for Your Load Balancer in a VPC in the Classic Load Balancers Guide.

" + "documentation":"

Adds one or more subnets to the set of configured subnets for the specified load balancer.

The load balancer evenly distributes requests across all registered subnets. For more information, see Add or Remove Subnets for Your Load Balancer in a VPC in the Classic Load Balancer Guide.

" }, "ConfigureHealthCheck":{ "name":"ConfigureHealthCheck", @@ -79,7 +79,7 @@ "errors":[ {"shape":"AccessPointNotFoundException"} ], - "documentation":"

Specifies the health check settings to use when evaluating the health state of your EC2 instances.

For more information, see Configure Health Checks for Your Load Balancer in the Classic Load Balancers Guide.

" + "documentation":"

Specifies the health check settings to use when evaluating the health state of your EC2 instances.

For more information, see Configure Health Checks for Your Load Balancer in the Classic Load Balancer Guide.

" }, "CreateAppCookieStickinessPolicy":{ "name":"CreateAppCookieStickinessPolicy", @@ -98,7 +98,7 @@ {"shape":"TooManyPoliciesException"}, {"shape":"InvalidConfigurationRequestException"} ], - "documentation":"

Generates a stickiness policy with sticky session lifetimes that follow that of an application-generated cookie. This policy can be associated only with HTTP/HTTPS listeners.

This policy is similar to the policy created by CreateLBCookieStickinessPolicy, except that the lifetime of the special Elastic Load Balancing cookie, AWSELB, follows the lifetime of the application-generated cookie specified in the policy configuration. The load balancer only inserts a new stickiness cookie when the application response includes a new application cookie.

If the application cookie is explicitly removed or expires, the session stops being sticky until a new application cookie is issued.

For more information, see Application-Controlled Session Stickiness in the Classic Load Balancers Guide.

" + "documentation":"

Generates a stickiness policy with sticky session lifetimes that follow that of an application-generated cookie. This policy can be associated only with HTTP/HTTPS listeners.

This policy is similar to the policy created by CreateLBCookieStickinessPolicy, except that the lifetime of the special Elastic Load Balancing cookie, AWSELB, follows the lifetime of the application-generated cookie specified in the policy configuration. The load balancer only inserts a new stickiness cookie when the application response includes a new application cookie.

If the application cookie is explicitly removed or expires, the session stops being sticky until a new application cookie is issued.

For more information, see Application-Controlled Session Stickiness in the Classic Load Balancer Guide.

" }, "CreateLBCookieStickinessPolicy":{ "name":"CreateLBCookieStickinessPolicy", @@ -117,7 +117,7 @@ {"shape":"TooManyPoliciesException"}, {"shape":"InvalidConfigurationRequestException"} ], - "documentation":"

Generates a stickiness policy with sticky session lifetimes controlled by the lifetime of the browser (user-agent) or a specified expiration period. This policy can be associated only with HTTP/HTTPS listeners.

When a load balancer implements this policy, the load balancer uses a special cookie to track the instance for each request. When the load balancer receives a request, it first checks to see if this cookie is present in the request. If so, the load balancer sends the request to the application server specified in the cookie. If not, the load balancer sends the request to a server that is chosen based on the existing load-balancing algorithm.

A cookie is inserted into the response for binding subsequent requests from the same user to that server. The validity of the cookie is based on the cookie expiration time, which is specified in the policy configuration.

For more information, see Duration-Based Session Stickiness in the Classic Load Balancers Guide.

" + "documentation":"

Generates a stickiness policy with sticky session lifetimes controlled by the lifetime of the browser (user-agent) or a specified expiration period. This policy can be associated only with HTTP/HTTPS listeners.

When a load balancer implements this policy, the load balancer uses a special cookie to track the instance for each request. When the load balancer receives a request, it first checks to see if this cookie is present in the request. If so, the load balancer sends the request to the application server specified in the cookie. If not, the load balancer sends the request to a server that is chosen based on the existing load-balancing algorithm.

A cookie is inserted into the response for binding subsequent requests from the same user to that server. The validity of the cookie is based on the cookie expiration time, which is specified in the policy configuration.

For more information, see Duration-Based Session Stickiness in the Classic Load Balancer Guide.

" }, "CreateLoadBalancer":{ "name":"CreateLoadBalancer", @@ -143,7 +143,7 @@ {"shape":"DuplicateTagKeysException"}, {"shape":"UnsupportedProtocolException"} ], - "documentation":"

Creates a Classic load balancer.

You can add listeners, security groups, subnets, and tags when you create your load balancer, or you can add them later using CreateLoadBalancerListeners, ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, and AddTags.

To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.

" + "documentation":"

Creates a Classic Load Balancer.

You can add listeners, security groups, subnets, and tags when you create your load balancer, or you can add them later using CreateLoadBalancerListeners, ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, and AddTags.

To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancer Guide.

" }, "CreateLoadBalancerListeners":{ "name":"CreateLoadBalancerListeners", @@ -163,7 +163,7 @@ {"shape":"InvalidConfigurationRequestException"}, {"shape":"UnsupportedProtocolException"} ], - "documentation":"

Creates one or more listeners for the specified load balancer. If a listener with the specified port does not already exist, it is created; otherwise, the properties of the new listener must match the properties of the existing listener.

For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.

" + "documentation":"

Creates one or more listeners for the specified load balancer. If a listener with the specified port does not already exist, it is created; otherwise, the properties of the new listener must match the properties of the existing listener.

For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancer Guide.

" }, "CreateLoadBalancerPolicy":{ "name":"CreateLoadBalancerPolicy", @@ -246,7 +246,20 @@ {"shape":"AccessPointNotFoundException"}, {"shape":"InvalidEndPointException"} ], - "documentation":"

Deregisters the specified instances from the specified load balancer. After the instance is deregistered, it no longer receives traffic from the load balancer.

You can use DescribeLoadBalancers to verify that the instance is deregistered from the load balancer.

For more information, see Register or De-Register EC2 Instances in the Classic Load Balancers Guide.

" + "documentation":"

Deregisters the specified instances from the specified load balancer. After the instance is deregistered, it no longer receives traffic from the load balancer.

You can use DescribeLoadBalancers to verify that the instance is deregistered from the load balancer.

For more information, see Register or De-Register EC2 Instances in the Classic Load Balancer Guide.

" + }, + "DescribeAccountLimits":{ + "name":"DescribeAccountLimits", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountLimitsInput"}, + "output":{ + "shape":"DescribeAccountLimitsOutput", + "resultWrapper":"DescribeAccountLimitsResult" + }, + "documentation":"

Describes the current Elastic Load Balancing resource limits for your AWS account.

For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancer Guide.

" }, "DescribeInstanceHealth":{ "name":"DescribeInstanceHealth", @@ -380,7 +393,7 @@ {"shape":"AccessPointNotFoundException"}, {"shape":"InvalidConfigurationRequestException"} ], - "documentation":"

Removes the specified Availability Zones from the set of Availability Zones for the specified load balancer.

There must be at least one Availability Zone registered with a load balancer at all times. After an Availability Zone is removed, all instances registered with the load balancer that are in the removed Availability Zone go into the OutOfService state. Then, the load balancer attempts to equally balance the traffic among its remaining Availability Zones.

For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.

" + "documentation":"

Removes the specified Availability Zones from the set of Availability Zones for the specified load balancer.

There must be at least one Availability Zone registered with a load balancer at all times. After an Availability Zone is removed, all instances registered with the load balancer that are in the removed Availability Zone go into the OutOfService state. Then, the load balancer attempts to equally balance the traffic among its remaining Availability Zones.

For more information, see Add or Remove Availability Zones in the Classic Load Balancer Guide.

" }, "EnableAvailabilityZonesForLoadBalancer":{ "name":"EnableAvailabilityZonesForLoadBalancer", @@ -396,7 +409,7 @@ "errors":[ {"shape":"AccessPointNotFoundException"} ], - "documentation":"

Adds the specified Availability Zones to the set of Availability Zones for the specified load balancer.

The load balancer evenly distributes requests across all its registered Availability Zones that contain instances.

For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.

" + "documentation":"

Adds the specified Availability Zones to the set of Availability Zones for the specified load balancer.

The load balancer evenly distributes requests across all its registered Availability Zones that contain instances.

For more information, see Add or Remove Availability Zones in the Classic Load Balancer Guide.

" }, "ModifyLoadBalancerAttributes":{ "name":"ModifyLoadBalancerAttributes", @@ -414,7 +427,7 @@ {"shape":"LoadBalancerAttributeNotFoundException"}, {"shape":"InvalidConfigurationRequestException"} ], - "documentation":"

Modifies the attributes of the specified load balancer.

You can modify the load balancer attributes, such as AccessLogs, ConnectionDraining, and CrossZoneLoadBalancing by either enabling or disabling them. Or, you can modify the load balancer attribute ConnectionSettings by specifying an idle connection timeout value for your load balancer.

For more information, see the following in the Classic Load Balancers Guide:

" + "documentation":"

Modifies the attributes of the specified load balancer.

You can modify the load balancer attributes, such as AccessLogs, ConnectionDraining, and CrossZoneLoadBalancing by either enabling or disabling them. Or, you can modify the load balancer attribute ConnectionSettings by specifying an idle connection timeout value for your load balancer.

For more information, see the following in the Classic Load Balancer Guide:

" }, "RegisterInstancesWithLoadBalancer":{ "name":"RegisterInstancesWithLoadBalancer", @@ -431,7 +444,7 @@ {"shape":"AccessPointNotFoundException"}, {"shape":"InvalidEndPointException"} ], - "documentation":"

Adds the specified instances to the specified load balancer.

The instance must be a running instance in the same network as the load balancer (EC2-Classic or the same VPC). If you have EC2-Classic instances and a load balancer in a VPC with ClassicLink enabled, you can link the EC2-Classic instances to that VPC and then register the linked EC2-Classic instances with the load balancer in the VPC.

Note that RegisterInstanceWithLoadBalancer completes when the request has been registered. Instance registration takes a little time to complete. To check the state of the registered instances, use DescribeLoadBalancers or DescribeInstanceHealth.

After the instance is registered, it starts receiving traffic and requests from the load balancer. Any instance that is not in one of the Availability Zones registered for the load balancer is moved to the OutOfService state. If an Availability Zone is added to the load balancer later, any instances registered with the load balancer move to the InService state.

To deregister instances from a load balancer, use DeregisterInstancesFromLoadBalancer.

For more information, see Register or De-Register EC2 Instances in the Classic Load Balancers Guide.

" + "documentation":"

Adds the specified instances to the specified load balancer.

The instance must be a running instance in the same network as the load balancer (EC2-Classic or the same VPC). If you have EC2-Classic instances and a load balancer in a VPC with ClassicLink enabled, you can link the EC2-Classic instances to that VPC and then register the linked EC2-Classic instances with the load balancer in the VPC.

Note that RegisterInstanceWithLoadBalancer completes when the request has been registered. Instance registration takes a little time to complete. To check the state of the registered instances, use DescribeLoadBalancers or DescribeInstanceHealth.

After the instance is registered, it starts receiving traffic and requests from the load balancer. Any instance that is not in one of the Availability Zones registered for the load balancer is moved to the OutOfService state. If an Availability Zone is added to the load balancer later, any instances registered with the load balancer move to the InService state.

To deregister instances from a load balancer, use DeregisterInstancesFromLoadBalancer.

For more information, see Register or De-Register EC2 Instances in the Classic Load Balancer Guide.

" }, "RemoveTags":{ "name":"RemoveTags", @@ -467,7 +480,7 @@ {"shape":"InvalidConfigurationRequestException"}, {"shape":"UnsupportedProtocolException"} ], - "documentation":"

Sets the certificate that terminates the specified listener's SSL connections. The specified certificate replaces any prior certificate that was used on the same load balancer and port.

For more information about updating your SSL certificate, see Replace the SSL Certificate for Your Load Balancer in the Classic Load Balancers Guide.

" + "documentation":"

Sets the certificate that terminates the specified listener's SSL connections. The specified certificate replaces any prior certificate that was used on the same load balancer and port.

For more information about updating your SSL certificate, see Replace the SSL Certificate for Your Load Balancer in the Classic Load Balancer Guide.

" }, "SetLoadBalancerPoliciesForBackendServer":{ "name":"SetLoadBalancerPoliciesForBackendServer", @@ -485,7 +498,7 @@ {"shape":"PolicyNotFoundException"}, {"shape":"InvalidConfigurationRequestException"} ], - "documentation":"

Replaces the set of policies associated with the specified port on which the EC2 instance is listening with a new set of policies. At this time, only the back-end server authentication policy type can be applied to the instance ports; this policy type is composed of multiple public key policies.

Each time you use SetLoadBalancerPoliciesForBackendServer to enable the policies, use the PolicyNames parameter to list the policies that you want to enable.

You can use DescribeLoadBalancers or DescribeLoadBalancerPolicies to verify that the policy is associated with the EC2 instance.

For more information about enabling back-end instance authentication, see Configure Back-end Instance Authentication in the Classic Load Balancers Guide. For more information about Proxy Protocol, see Configure Proxy Protocol Support in the Classic Load Balancers Guide.

" + "documentation":"

Replaces the set of policies associated with the specified port on which the EC2 instance is listening with a new set of policies. At this time, only the back-end server authentication policy type can be applied to the instance ports; this policy type is composed of multiple public key policies.

Each time you use SetLoadBalancerPoliciesForBackendServer to enable the policies, use the PolicyNames parameter to list the policies that you want to enable.

You can use DescribeLoadBalancers or DescribeLoadBalancerPolicies to verify that the policy is associated with the EC2 instance.

For more information about enabling back-end instance authentication, see Configure Back-end Instance Authentication in the Classic Load Balancer Guide. For more information about Proxy Protocol, see Configure Proxy Protocol Support in the Classic Load Balancer Guide.

" }, "SetLoadBalancerPoliciesOfListener":{ "name":"SetLoadBalancerPoliciesOfListener", @@ -504,7 +517,7 @@ {"shape":"ListenerNotFoundException"}, {"shape":"InvalidConfigurationRequestException"} ], - "documentation":"

Replaces the current set of policies for the specified load balancer port with the specified set of policies.

To enable back-end server authentication, use SetLoadBalancerPoliciesForBackendServer.

For more information about setting policies, see Update the SSL Negotiation Configuration, Duration-Based Session Stickiness, and Application-Controlled Session Stickiness in the Classic Load Balancers Guide.

" + "documentation":"

Replaces the current set of policies for the specified load balancer port with the specified set of policies.

To enable back-end server authentication, use SetLoadBalancerPoliciesForBackendServer.

For more information about setting policies, see Update the SSL Negotiation Configuration, Duration-Based Session Stickiness, and Application-Controlled Session Stickiness in the Classic Load Balancer Guide.

" } }, "shapes":{ @@ -813,7 +826,7 @@ }, "Listeners":{ "shape":"Listeners", - "documentation":"

The listeners.

For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.

" + "documentation":"

The listeners.

For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancer Guide.

" }, "AvailabilityZones":{ "shape":"AvailabilityZones", @@ -833,7 +846,7 @@ }, "Tags":{ "shape":"TagList", - "documentation":"

A list of tags to assign to the load balancer.

For more information about tagging your load balancer, see Tag Your Classic Load Balancer in the Classic Load Balancers Guide.

" + "documentation":"

A list of tags to assign to the load balancer.

For more information about tagging your load balancer, see Tag Your Classic Load Balancer in the Classic Load Balancer Guide.

" } }, "documentation":"

Contains the parameters for CreateLoadBalancer.

" @@ -1113,6 +1126,32 @@ }, "documentation":"

Contains the parameters for DescribeLoadBalancers.

" }, + "DescribeAccountLimitsInput":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

" + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return with this call.

" + } + } + }, + "DescribeAccountLimitsOutput":{ + "type":"structure", + "members":{ + "Limits":{ + "shape":"Limits", + "documentation":"

Information about the limits.

" + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + } + } + }, "DescribeEndPointStateInput":{ "type":"structure", "required":["LoadBalancerName"], @@ -1480,6 +1519,24 @@ }, "documentation":"

Information about a policy for duration-based session stickiness.

" }, + "Limit":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the limit. The possible values are:

  • classic-listeners

  • classic-load-balancers

" + }, + "Max":{ + "shape":"Max", + "documentation":"

The maximum value of the limit.

" + } + }, + "documentation":"

Information about an Elastic Load Balancing resource limit for your AWS account.

" + }, + "Limits":{ + "type":"list", + "member":{"shape":"Limit"} + }, "Listener":{ "type":"structure", "required":[ @@ -1509,12 +1566,15 @@ "documentation":"

The Amazon Resource Name (ARN) of the server certificate.

" } }, - "documentation":"

Information about a listener.

For information about the protocols and the ports supported by Elastic Load Balancing, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.

" + "documentation":"

Information about a listener.

For information about the protocols and the ports supported by Elastic Load Balancing, see Listeners for Your Classic Load Balancer in the Classic Load Balancer Guide.

" }, "ListenerDescription":{ "type":"structure", "members":{ - "Listener":{"shape":"Listener"}, + "Listener":{ + "shape":"Listener", + "documentation":"

The listener.

" + }, "PolicyNames":{ "shape":"PolicyNames", "documentation":"

The policies. If there are no policies enabled, the list is empty.

" @@ -1559,19 +1619,19 @@ "members":{ "CrossZoneLoadBalancing":{ "shape":"CrossZoneLoadBalancing", - "documentation":"

If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.

For more information, see Configure Cross-Zone Load Balancing in the Classic Load Balancers Guide.

" + "documentation":"

If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.

For more information, see Configure Cross-Zone Load Balancing in the Classic Load Balancer Guide.

" }, "AccessLog":{ "shape":"AccessLog", - "documentation":"

If enabled, the load balancer captures detailed information of all requests and delivers the information to the Amazon S3 bucket that you specify.

For more information, see Enable Access Logs in the Classic Load Balancers Guide.

" + "documentation":"

If enabled, the load balancer captures detailed information of all requests and delivers the information to the Amazon S3 bucket that you specify.

For more information, see Enable Access Logs in the Classic Load Balancer Guide.

" }, "ConnectionDraining":{ "shape":"ConnectionDraining", - "documentation":"

If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.

For more information, see Configure Connection Draining in the Classic Load Balancers Guide.

" + "documentation":"

If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.

For more information, see Configure Connection Draining in the Classic Load Balancer Guide.

" }, "ConnectionSettings":{ "shape":"ConnectionSettings", - "documentation":"

If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.

By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. For more information, see Configure Idle Connection Timeout in the Classic Load Balancers Guide.

" + "documentation":"

If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.

By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. For more information, see Configure Idle Connection Timeout in the Classic Load Balancer Guide.

" }, "AdditionalAttributes":{ "shape":"AdditionalAttributes", @@ -1593,7 +1653,7 @@ }, "CanonicalHostedZoneName":{ "shape":"DNSName", - "documentation":"

The DNS name of the load balancer.

For more information, see Configure a Custom Domain Name in the Classic Load Balancers Guide.

" + "documentation":"

The DNS name of the load balancer.

For more information, see Configure a Custom Domain Name in the Classic Load Balancer Guide.

" }, "CanonicalHostedZoneNameID":{ "shape":"DNSName", @@ -1666,6 +1726,7 @@ }, "LoadBalancerScheme":{"type":"string"}, "Marker":{"type":"string"}, + "Max":{"type":"string"}, "ModifyLoadBalancerAttributesInput":{ "type":"structure", "required":[ @@ -1679,7 +1740,7 @@ }, "LoadBalancerAttributes":{ "shape":"LoadBalancerAttributes", - "documentation":"

The attributes of the load balancer.

" + "documentation":"

The attributes for the load balancer.

" } }, "documentation":"

Contains the parameters for ModifyLoadBalancerAttributes.

" @@ -1691,10 +1752,14 @@ "shape":"AccessPointName", "documentation":"

The name of the load balancer.

" }, - "LoadBalancerAttributes":{"shape":"LoadBalancerAttributes"} + "LoadBalancerAttributes":{ + "shape":"LoadBalancerAttributes", + "documentation":"

Information about the load balancer attributes.

" + } }, "documentation":"

Contains the output of ModifyLoadBalancerAttributes.

" }, + "Name":{"type":"string"}, "PageSize":{ "type":"integer", "max":400, @@ -2186,6 +2251,7 @@ "type":"structure", "members":{ }, + "documentation":"

The specified protocol or signature version is not supported.

", "error":{ "code":"UnsupportedProtocol", "httpStatusCode":400, @@ -2195,5 +2261,5 @@ }, "VPCId":{"type":"string"} }, - "documentation":"Elastic Load Balancing

A load balancer distributes incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer and a protocol and port number for connections from the load balancer to the instances.

Elastic Load Balancing supports two types of load balancers: Classic load balancers and Application load balancers (new). A Classic load balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. An Application load balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS), supports path-based routing, and can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the .

This reference covers the 2012-06-01 API, which supports Classic load balancers. The 2015-12-01 API supports Application load balancers.

To get started, create a load balancer with one or more listeners using CreateLoadBalancer. Register your instances with the load balancer using RegisterInstancesWithLoadBalancer.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code.

" + "documentation":"Elastic Load Balancing

A load balancer distributes incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer and a protocol and port number for connections from the load balancer to the instances.

Elastic Load Balancing supports two types of load balancers: Classic Load Balancers and Application Load Balancers (new). A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS), supports path-based routing, and can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the Elastic Load Balancing User Guide.

This reference covers the 2012-06-01 API, which supports Classic Load Balancers. The 2015-12-01 API supports Application Load Balancers.

To get started, create a load balancer with one or more listeners using CreateLoadBalancer. Register your instances with the load balancer using RegisterInstancesWithLoadBalancer.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code.

" } diff --git a/botocore/data/elb/2012-06-01/waiters-2.json b/botocore/data/elb/2012-06-01/waiters-2.json new file mode 100644 index 00000000..143c8662 --- /dev/null +++ b/botocore/data/elb/2012-06-01/waiters-2.json @@ -0,0 +1,31 @@ +{ + "version":2, + "waiters":{ + "AnyInstanceInService":{ + "acceptors":[ + { + "argument":"InstanceStates[].State", + "expected":"InService", + "matcher":"pathAny", + "state":"success" + } + ], + "delay":15, + "maxAttempts":40, + "operation":"DescribeInstanceHealth" + }, + "InstanceInService":{ + "acceptors":[ + { + "argument":"InstanceStates[].State", + "expected":"InService", + "matcher":"pathAll", + "state":"success" + } + ], + "delay":15, + "maxAttempts":40, + "operation":"DescribeInstanceHealth" + } + } +} diff --git a/botocore/data/elbv2/2015-12-01/examples-1.json b/botocore/data/elbv2/2015-12-01/examples-1.json new file mode 100644 index 00000000..508b0991 --- /dev/null +++ b/botocore/data/elbv2/2015-12-01/examples-1.json @@ -0,0 +1,1384 @@ +{ + "version": "1.0", + "examples": { + "AddTags": [ + { + "input": { + "ResourceArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ], + "Tags": [ + { + "Key": "project", + "Value": "lima" + }, + { + "Key": "department", + "Value": "digital-media" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified tags to the specified load balancer.", + "id": "elbv2-add-tags-1", + "title": "To add tags to a load balancer" + } + ], + "CreateListener": [ + { + "input": { + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 80, + "Protocol": "HTTP" + }, + "output": { + "Listeners": [ + { + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 80, + "Protocol": "HTTP" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an HTTP listener for the specified load balancer that forwards requests to the specified target group.", + "id": "elbv2-create-listener-1", + "title": "To create an HTTP listener" + }, + { + "input": { + "Certificates": [ + { + "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + } + ], + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 443, + "Protocol": "HTTPS", + "SslPolicy": "ELBSecurityPolicy-2015-05" + }, + "output": { + "Listeners": [ + { + "Certificates": [ + { + "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + } + ], + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 443, + "Protocol": "HTTPS", + "SslPolicy": "ELBSecurityPolicy-2015-05" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an HTTPS listener for the specified load balancer that forwards requests to the specified target group. Note that you must specify an SSL certificate for an HTTPS listener. You can create and manage certificates using AWS Certificate Manager (ACM). Alternatively, you can create a certificate using SSL/TLS tools, get the certificate signed by a certificate authority (CA), and upload the certificate to AWS Identity and Access Management (IAM).", + "id": "elbv2-create-listener-2", + "title": "To create an HTTPS listener" + } + ], + "CreateLoadBalancer": [ + { + "input": { + "Name": "my-load-balancer", + "Subnets": [ + "subnet-b7d581c0", + "subnet-8360a9e7" + ] + }, + "output": { + "LoadBalancers": [ + { + "AvailabilityZones": [ + { + "SubnetId": "subnet-8360a9e7", + "ZoneName": "us-west-2a" + }, + { + "SubnetId": "subnet-b7d581c0", + "ZoneName": "us-west-2b" + } + ], + "CanonicalHostedZoneId": "Z2P70J7EXAMPLE", + "CreatedTime": "2016-03-25T21:26:12.920Z", + "DNSName": "my-load-balancer-424835706.us-west-2.elb.amazonaws.com", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "LoadBalancerName": "my-load-balancer", + "Scheme": "internet-facing", + "SecurityGroups": [ + "sg-5943793c" + ], + "State": { + "Code": "provisioning" + }, + "Type": "application", + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an Internet-facing load balancer and enables the Availability Zones for the specified subnets.", + "id": "elbv2-create-load-balancer-1", + "title": "To create an Internet-facing load balancer" + }, + { + "input": { + "Name": "my-internal-load-balancer", + "Scheme": "internal", + "SecurityGroups": [ + + ], + "Subnets": [ + "subnet-b7d581c0", + "subnet-8360a9e7" + ] + }, + "output": { + "LoadBalancers": [ + { + "AvailabilityZones": [ + { + "SubnetId": "subnet-8360a9e7", + "ZoneName": "us-west-2a" + }, + { + "SubnetId": "subnet-b7d581c0", + "ZoneName": "us-west-2b" + } + ], + "CanonicalHostedZoneId": "Z2P70J7EXAMPLE", + "CreatedTime": "2016-03-25T21:29:48.850Z", + "DNSName": "internal-my-internal-load-balancer-1529930873.us-west-2.elb.amazonaws.com", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-internal-load-balancer/5b49b8d4303115c2", + "LoadBalancerName": "my-internal-load-balancer", + "Scheme": "internal", + "SecurityGroups": [ + "sg-5943793c" + ], + "State": { + "Code": "provisioning" + }, + "Type": "application", + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an internal load balancer and enables the Availability Zones for the specified subnets.", + "id": "elbv2-create-load-balancer-2", + "title": "To create an internal load balancer" + } + ], + "CreateRule": [ + { + "input": { + "Actions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/img/*" + ] + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "Priority": 10 + }, + "output": { + "Rules": [ + { + "Actions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/img/*" + ] + } + ], + "IsDefault": false, + "Priority": "10", + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a rule that forwards requests to the specified target group if the URL contains the specified pattern (for example, /img/*).", + "id": "elbv2-create-rule-1", + "title": "To create a rule" + } + ], + "CreateTargetGroup": [ + { + "input": { + "Name": "my-targets", + "Port": 80, + "Protocol": "HTTP", + "VpcId": "vpc-3ac0fb5f" + }, + "output": { + "TargetGroups": [ + { + "HealthCheckIntervalSeconds": 30, + "HealthCheckPath": "/", + "HealthCheckPort": "traffic-port", + "HealthCheckProtocol": "HTTP", + "HealthCheckTimeoutSeconds": 5, + "HealthyThresholdCount": 5, + "Matcher": { + "HttpCode": "200" + }, + "Port": 80, + "Protocol": "HTTP", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "TargetGroupName": "my-targets", + "UnhealthyThresholdCount": 2, + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a target group that you can use to route traffic to targets using HTTP on port 80. This target group uses the default health check configuration.", + "id": "elbv2-create-target-group-1", + "title": "To create a target group" + } + ], + "DeleteListener": [ + { + "input": { + "ListenerArn": "arn:aws:elasticloadbalancing:ua-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified listener.", + "id": "elbv2-delete-listener-1", + "title": "To delete a listener" + } + ], + "DeleteLoadBalancer": [ + { + "input": { + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified load balancer.", + "id": "elbv2-delete-load-balancer-1", + "title": "To delete a load balancer" + } + ], + "DeleteRule": [ + { + "input": { + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified rule.", + "id": "elbv2-delete-rule-1", + "title": "To delete a rule" + } + ], + "DeleteTargetGroup": [ + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified target group.", + "id": "elbv2-delete-target-group-1", + "title": "To delete a target group" + } + ], + "DeregisterTargets": [ + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Targets": [ + { + "Id": "i-0f76fade" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deregisters the specified instance from the specified target group.", + "id": "elbv2-deregister-targets-1", + "title": "To deregister a target from a target group" + } + ], + "DescribeListeners": [ + { + "input": { + "ListenerArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" + ] + }, + "output": { + "Listeners": [ + { + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 80, + "Protocol": "HTTP" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified listener.", + "id": "elbv2-describe-listeners-1", + "title": "To describe a listener" + } + ], + "DescribeLoadBalancerAttributes": [ + { + "input": { + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + }, + "output": { + "Attributes": [ + { + "Key": "access_logs.s3.enabled", + "Value": "false" + }, + { + "Key": "idle_timeout.timeout_seconds", + "Value": "60" + }, + { + "Key": "access_logs.s3.prefix", + "Value": "" + }, + { + "Key": "deletion_protection.enabled", + "Value": "false" + }, + { + "Key": "access_logs.s3.bucket", + "Value": "" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the attributes of the specified load balancer.", + "id": "elbv2-describe-load-balancer-attributes-1", + "title": "To describe load balancer attributes" + } + ], + "DescribeLoadBalancers": [ + { + "input": { + "LoadBalancerArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ] + }, + "output": { + "LoadBalancers": [ + { + "AvailabilityZones": [ + { + "SubnetId": "subnet-8360a9e7", + "ZoneName": "us-west-2a" + }, + { + "SubnetId": "subnet-b7d581c0", + "ZoneName": "us-west-2b" + } + ], + "CanonicalHostedZoneId": "Z2P70J7EXAMPLE", + "CreatedTime": "2016-03-25T21:26:12.920Z", + "DNSName": "my-load-balancer-424835706.us-west-2.elb.amazonaws.com", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "LoadBalancerName": "my-load-balancer", + "Scheme": "internet-facing", + "SecurityGroups": [ + "sg-5943793c" + ], + "State": { + "Code": "active" + }, + "Type": "application", + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified load balancer.", + "id": "elbv2-describe-load-balancers-1", + "title": "To describe a load balancer" + } + ], + "DescribeRules": [ + { + "input": { + "RuleArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + ] + }, + "output": { + "Rules": [ + { + "Actions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/img/*" + ] + } + ], + "IsDefault": false, + "Priority": "10", + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified rule.", + "id": "elbv2-describe-rules-1", + "title": "To describe a rule" + } + ], + "DescribeSSLPolicies": [ + { + "input": { + "Names": [ + "ELBSecurityPolicy-2015-05" + ] + }, + "output": { + "SslPolicies": [ + { + "Ciphers": [ + { + "Name": "ECDHE-ECDSA-AES128-GCM-SHA256", + "Priority": 1 + }, + { + "Name": "ECDHE-RSA-AES128-GCM-SHA256", + "Priority": 2 + }, + { + "Name": "ECDHE-ECDSA-AES128-SHA256", + "Priority": 3 + }, + { + "Name": "ECDHE-RSA-AES128-SHA256", + "Priority": 4 + }, + { + "Name": "ECDHE-ECDSA-AES128-SHA", + "Priority": 5 + }, + { + "Name": "ECDHE-RSA-AES128-SHA", + "Priority": 6 + }, + { + "Name": "DHE-RSA-AES128-SHA", + "Priority": 7 + }, + { + "Name": "ECDHE-ECDSA-AES256-GCM-SHA384", + "Priority": 8 + }, + { + "Name": "ECDHE-RSA-AES256-GCM-SHA384", + "Priority": 9 + }, + { + "Name": "ECDHE-ECDSA-AES256-SHA384", + "Priority": 10 + }, + { + "Name": "ECDHE-RSA-AES256-SHA384", + "Priority": 11 + }, + { + "Name": "ECDHE-RSA-AES256-SHA", + "Priority": 12 + }, + { + "Name": "ECDHE-ECDSA-AES256-SHA", + "Priority": 13 + }, + { + "Name": "AES128-GCM-SHA256", + "Priority": 14 + }, + { + "Name": "AES128-SHA256", + "Priority": 15 + }, + { + "Name": "AES128-SHA", + "Priority": 16 + }, + { + "Name": "AES256-GCM-SHA384", + "Priority": 17 + }, + { + "Name": "AES256-SHA256", + "Priority": 18 + }, + { + "Name": "AES256-SHA", + "Priority": 19 + } + ], + "Name": "ELBSecurityPolicy-2015-05", + "SslProtocols": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified policy used for SSL negotiation.", + "id": "elbv2-describe-ssl-policies-1", + "title": "To describe a policy used for SSL negotiation" + } + ], + "DescribeTags": [ + { + "input": { + "ResourceArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ] + }, + "output": { + "TagDescriptions": [ + { + "ResourceArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Tags": [ + { + "Key": "project", + "Value": "lima" + }, + { + "Key": "department", + "Value": "digital-media" + } + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the tags assigned to the specified load balancer.", + "id": "elbv2-describe-tags-1", + "title": "To describe the tags assigned to a load balancer" + } + ], + "DescribeTargetGroupAttributes": [ + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + }, + "output": { + "Attributes": [ + { + "Key": "stickiness.enabled", + "Value": "false" + }, + { + "Key": "deregistration_delay.timeout_seconds", + "Value": "300" + }, + { + "Key": "stickiness.type", + "Value": "lb_cookie" + }, + { + "Key": "stickiness.lb_cookie.duration_seconds", + "Value": "86400" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the attributes of the specified target group.", + "id": "elbv2-describe-target-group-attributes-1", + "title": "To describe target group attributes" + } + ], + "DescribeTargetGroups": [ + { + "input": { + "TargetGroupArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + ] + }, + "output": { + "TargetGroups": [ + { + "HealthCheckIntervalSeconds": 30, + "HealthCheckPath": "/", + "HealthCheckPort": "traffic-port", + "HealthCheckProtocol": "HTTP", + "HealthCheckTimeoutSeconds": 5, + "HealthyThresholdCount": 5, + "LoadBalancerArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ], + "Matcher": { + "HttpCode": "200" + }, + "Port": 80, + "Protocol": "HTTP", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "TargetGroupName": "my-targets", + "UnhealthyThresholdCount": 2, + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified target group.", + "id": "elbv2-describe-target-groups-1", + "title": "To describe a target group" + } + ], + "DescribeTargetHealth": [ + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + }, + "output": { + "TargetHealthDescriptions": [ + { + "Target": { + "Id": "i-0f76fade", + "Port": 80 + }, + "TargetHealth": { + "Description": "Given target group is not configured to receive traffic from ELB", + "Reason": "Target.NotInUse", + "State": "unused" + } + }, + { + "HealthCheckPort": "80", + "Target": { + "Id": "i-0f76fade", + "Port": 80 + }, + "TargetHealth": { + "State": "healthy" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the health of the targets for the specified target group. One target is healthy but the other is not specified in an action, so it can't receive traffic from the load balancer.", + "id": "elbv2-describe-target-health-1", + "title": "To describe the health of the targets for a target group" + }, + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Targets": [ + { + "Id": "i-0f76fade", + "Port": 80 + } + ] + }, + "output": { + "TargetHealthDescriptions": [ + { + "HealthCheckPort": "80", + "Target": { + "Id": "i-0f76fade", + "Port": 80 + }, + "TargetHealth": { + "State": "healthy" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the health of the specified target. This target is healthy.", + "id": "elbv2-describe-target-health-2", + "title": "To describe the health of a target" + } + ], + "ModifyListener": [ + { + "input": { + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" + }, + "output": { + "Listeners": [ + { + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 80, + "Protocol": "HTTP" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the default action for the specified listener.", + "id": "elbv2-modify-listener-1", + "title": "To change the default action for a listener" + }, + { + "input": { + "Certificates": [ + { + "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-new-server-cert" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65" + }, + "output": { + "Listeners": [ + { + "Certificates": [ + { + "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-new-server-cert" + } + ], + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 443, + "Protocol": "HTTPS", + "SslPolicy": "ELBSecurityPolicy-2015-05" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the server certificate for the specified HTTPS listener.", + "id": "elbv2-modify-listener-2", + "title": "To change the server certificate" + } + ], + "ModifyLoadBalancerAttributes": [ + { + "input": { + "Attributes": [ + { + "Key": "deletion_protection.enabled", + "Value": "true" + } + ], + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + }, + "output": { + "Attributes": [ + { + "Key": "deletion_protection.enabled", + "Value": "true" + }, + { + "Key": "access_logs.s3.enabled", + "Value": "false" + }, + { + "Key": "idle_timeout.timeout_seconds", + "Value": "60" + }, + { + "Key": "access_logs.s3.prefix", + "Value": "" + }, + { + "Key": "access_logs.s3.bucket", + "Value": "" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables deletion protection for the specified load balancer.", + "id": "elbv2-modify-load-balancer-attributes-1", + "title": "To enable deletion protection" + }, + { + "input": { + "Attributes": [ + { + "Key": "idle_timeout.timeout_seconds", + "Value": "30" + } + ], + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + }, + "output": { + "Attributes": [ + { + "Key": "idle_timeout.timeout_seconds", + "Value": "30" + }, + { + "Key": "access_logs.s3.enabled", + "Value": "false" + }, + { + "Key": "access_logs.s3.prefix", + "Value": "" + }, + { + "Key": "deletion_protection.enabled", + "Value": "true" + }, + { + "Key": "access_logs.s3.bucket", + "Value": "" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the idle timeout value for the specified load balancer.", + "id": "elbv2-modify-load-balancer-attributes-2", + "title": "To change the idle timeout" + }, + { + "input": { + "Attributes": [ + { + "Key": "access_logs.s3.enabled", + "Value": "true" + }, + { + "Key": "access_logs.s3.bucket", + "Value": "my-loadbalancer-logs" + }, + { + "Key": "access_logs.s3.prefix", + "Value": "myapp" + } + ], + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + }, + "output": { + "Attributes": [ + { + "Key": "access_logs.s3.enabled", + "Value": "true" + }, + { + "Key": "access_logs.s3.bucket", + "Value": "my-load-balancer-logs" + }, + { + "Key": "access_logs.s3.prefix", + "Value": "myapp" + }, + { + "Key": "idle_timeout.timeout_seconds", + "Value": "60" + }, + { + "Key": "deletion_protection.enabled", + "Value": "false" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables access logs for the specified load balancer. Note that the S3 bucket must exist in the same region as the load balancer and must have a policy attached that grants access to the Elastic Load Balancing service.", + "id": "elbv2-modify-load-balancer-attributes-3", + "title": "To enable access logs" + } + ], + "ModifyRule": [ + { + "input": { + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/images/*" + ] + } + ], + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + }, + "output": { + "Rules": [ + { + "Actions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/images/*" + ] + } + ], + "IsDefault": false, + "Priority": "10", + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example modifies the condition for the specified rule.", + "id": "elbv2-modify-rule-1", + "title": "To modify a rule" + } + ], + "ModifyTargetGroup": [ + { + "input": { + "HealthCheckPort": "443", + "HealthCheckProtocol": "HTTPS", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-https-targets/2453ed029918f21f" + }, + "output": { + "TargetGroups": [ + { + "HealthCheckIntervalSeconds": 30, + "HealthCheckPort": "443", + "HealthCheckProtocol": "HTTPS", + "HealthCheckTimeoutSeconds": 5, + "HealthyThresholdCount": 5, + "LoadBalancerArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ], + "Matcher": { + "HttpCode": "200" + }, + "Port": 443, + "Protocol": "HTTPS", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-https-targets/2453ed029918f21f", + "TargetGroupName": "my-https-targets", + "UnhealthyThresholdCount": 2, + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the configuration of the health checks used to evaluate the health of the targets for the specified target group.", + "id": "elbv2-modify-target-group-1", + "title": "To modify the health check configuration for a target group" + } + ], + "ModifyTargetGroupAttributes": [ + { + "input": { + "Attributes": [ + { + "Key": "deregistration_delay.timeout_seconds", + "Value": "600" + } + ], + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + }, + "output": { + "Attributes": [ + { + "Key": "stickiness.enabled", + "Value": "false" + }, + { + "Key": "deregistration_delay.timeout_seconds", + "Value": "600" + }, + { + "Key": "stickiness.type", + "Value": "lb_cookie" + }, + { + "Key": "stickiness.lb_cookie.duration_seconds", + "Value": "86400" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sets the deregistration delay timeout to the specified value for the specified target group.", + "id": "elbv2-modify-target-group-attributes-1", + "title": "To modify the deregistration delay timeout" + } + ], + "RegisterTargets": [ + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Targets": [ + { + "Id": "i-80c8dd94" + }, + { + "Id": "i-ceddcd4d" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers the specified instances with the specified target group.", + "id": "elbv2-register-targets-1", + "title": "To register targets with a target group" + }, + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/3bb63f11dfb0faf9", + "Targets": [ + { + "Id": "i-80c8dd94", + "Port": 80 + }, + { + "Id": "i-80c8dd94", + "Port": 766 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers the specified instance with the specified target group using multiple ports. This enables you to register ECS containers on the same instance as targets in the target group.", + "id": "elbv2-register-targets-2", + "title": "To register targets with a target group using port overrides" + } + ], + "RemoveTags": [ + { + "input": { + "ResourceArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ], + "TagKeys": [ + "project", + "department" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the specified tags from the specified load balancer.", + "id": "elbv2-remove-tags-1", + "title": "To remove tags from a load balancer" + } + ], + "SetRulePriorities": [ + { + "input": { + "RulePriorities": [ + { + "Priority": 5, + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3" + } + ] + }, + "output": { + "Rules": [ + { + "Actions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/img/*" + ] + } + ], + "IsDefault": false, + "Priority": "5", + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sets the priority of the specified rule.", + "id": "elbv2-set-rule-priorities-1", + "title": "To set the rule priority" + } + ], + "SetSecurityGroups": [ + { + "input": { + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "SecurityGroups": [ + "sg-5943793c" + ] + }, + "output": { + "SecurityGroupIds": [ + "sg-5943793c" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates the specified security group with the specified load balancer.", + "id": "elbv2-set-security-groups-1", + "title": "To associate a security group with a load balancer" + } + ], + "SetSubnets": [ + { + "input": { + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Subnets": [ + "subnet-8360a9e7", + "subnet-b7d581c0" + ] + }, + "output": { + "AvailabilityZones": [ + { + "SubnetId": "subnet-8360a9e7", + "ZoneName": "us-west-2a" + }, + { + "SubnetId": "subnet-b7d581c0", + "ZoneName": "us-west-2b" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables the Availability Zones for the specified subnets for the specified load balancer.", + "id": "elbv2-set-subnets-1", + "title": "To enable Availability Zones for a load balancer" + } + ] + } +} diff --git a/botocore/data/elbv2/2015-12-01/service-2.json b/botocore/data/elbv2/2015-12-01/service-2.json index 208d8d8f..402df084 100644 --- a/botocore/data/elbv2/2015-12-01/service-2.json +++ b/botocore/data/elbv2/2015-12-01/service-2.json @@ -204,6 +204,19 @@ ], "documentation":"

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

" }, + "DescribeAccountLimits":{ + "name":"DescribeAccountLimits", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountLimitsInput"}, + "output":{ + "shape":"DescribeAccountLimitsOutput", + "resultWrapper":"DescribeAccountLimitsResult" + }, + "documentation":"

Describes the current Elastic Load Balancing resource limits for your AWS account.

For more information, see Limits for Your Application Load Balancer in the Application Load Balancer Guide.

" + }, "DescribeListeners":{ "name":"DescribeListeners", "http":{ @@ -284,7 +297,7 @@ "errors":[ {"shape":"SSLPolicyNotFoundException"} ], - "documentation":"

Describes the specified policies or all policies used for SSL negotiation.

Note that the only supported policy at this time is ELBSecurityPolicy-2015-05.

" + "documentation":"

Describes the specified policies or all policies used for SSL negotiation.

For more information, see Security Policies in the Application Load Balancers Guide.

" }, "DescribeTags":{ "name":"DescribeTags", @@ -303,7 +316,7 @@ {"shape":"ListenerNotFoundException"}, {"shape":"RuleNotFoundException"} ], - "documentation":"

Describes the tags for the specified resources.

" + "documentation":"

Describes the tags for the specified resources. You can describe the tags for one or more Application Load Balancers and target groups.

" }, "DescribeTargetGroupAttributes":{ "name":"DescribeTargetGroupAttributes", @@ -381,7 +394,7 @@ {"shape":"UnsupportedProtocolException"}, {"shape":"TooManyRegistrationsForTargetIdException"} ], - "documentation":"

Modifies the specified properties of the specified listener.

Any properties that you do not specify retain their current values. However, changing the protocol from HTTPS to HTTP removes the security policy and SSL certificate properties. If you change the protocol from HTTP to HTTPS, you must add the security policy.

" + "documentation":"

Modifies the specified properties of the specified listener.

Any properties that you do not specify retain their current values. However, changing the protocol from HTTPS to HTTP removes the security policy and SSL certificate properties. If you change the protocol from HTTP to HTTPS, you must add the security policy and server certificate.

" }, "ModifyLoadBalancerAttributes":{ "name":"ModifyLoadBalancerAttributes", @@ -415,7 +428,9 @@ {"shape":"TargetGroupAssociationLimitException"}, {"shape":"RuleNotFoundException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"TooManyRegistrationsForTargetIdException"} + {"shape":"TooManyRegistrationsForTargetIdException"}, + {"shape":"TooManyTargetsException"}, + {"shape":"TargetGroupNotFoundException"} ], "documentation":"

Modifies the specified rule.

Any existing properties that you do not modify retain their current values.

To modify the default action, use ModifyListener.

" }, @@ -736,7 +751,7 @@ "members":{ "Name":{ "shape":"LoadBalancerName", - "documentation":"

The name of the load balancer.

This name must be unique within your AWS account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.

" + "documentation":"

The name of the load balancer.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.

" }, "Subnets":{ "shape":"Subnets", @@ -784,7 +799,7 @@ }, "Conditions":{ "shape":"RuleConditionList", - "documentation":"

A condition. Each condition has the field path-pattern and specifies one path pattern. A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters in a path pattern.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

" + "documentation":"

A condition. Each condition specifies a field name and a single value.

If the field name is host-header, you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • - .

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

If the field name is path-pattern, you can specify a single path pattern. A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

" }, "Priority":{ "shape":"RulePriority", @@ -816,7 +831,7 @@ "members":{ "Name":{ "shape":"TargetGroupName", - "documentation":"

The name of the target group.

" + "documentation":"

The name of the target group.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.

" }, "Protocol":{ "shape":"ProtocolEnum", @@ -957,6 +972,32 @@ "members":{ } }, + "DescribeAccountLimitsInput":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

" + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return with this call.

" + } + } + }, + "DescribeAccountLimitsOutput":{ + "type":"structure", + "members":{ + "Limits":{ + "shape":"Limits", + "documentation":"

Information about the limits.

" + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + } + } + }, "DescribeListenersInput":{ "type":"structure", "members":{ @@ -1015,7 +1056,7 @@ "members":{ "LoadBalancerArns":{ "shape":"LoadBalancerArns", - "documentation":"

The Amazon Resource Names (ARN) of the load balancers.

" + "documentation":"

The Amazon Resource Names (ARN) of the load balancers. You can specify up to 20 load balancers in a single call.

" }, "Names":{ "shape":"LoadBalancerNames", @@ -1054,6 +1095,14 @@ "RuleArns":{ "shape":"RuleArns", "documentation":"

The Amazon Resource Names (ARN) of the rules.

" + }, + "Marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

" + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return with this call.

" } } }, @@ -1063,6 +1112,10 @@ "Rules":{ "shape":"Rules", "documentation":"

Information about the rules.

" + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" } } }, @@ -1212,7 +1265,7 @@ "type":"structure", "members":{ }, - "documentation":"

A load balancer with the specified name already exists for this account.

", + "documentation":"

A load balancer with the specified name already exists.

", "error":{ "code":"DuplicateLoadBalancerName", "httpStatusCode":400, @@ -1352,6 +1405,24 @@ ] }, "IsDefault":{"type":"boolean"}, + "Limit":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the limit. The possible values are:

  • application-load-balancers

  • listeners-per-application-load-balancer

  • rules-per-application-load-balancer

  • target-groups

  • targets-per-application-load-balancer

" + }, + "Max":{ + "shape":"Max", + "documentation":"

The maximum value of the limit.

" + } + }, + "documentation":"

Information about an Elastic Load Balancing resource limit for your AWS account.

" + }, + "Limits":{ + "type":"list", + "member":{"shape":"Limit"} + }, "ListOfString":{ "type":"list", "member":{"shape":"StringValue"} @@ -1559,11 +1630,12 @@ "members":{ "HttpCode":{ "shape":"HttpCode", - "documentation":"

The HTTP codes. The default value is 200. You can specify multiple values (for example, \"200,202\") or a range of values (for example, \"200-299\").

" + "documentation":"

The HTTP codes. You can specify values between 200 and 499. The default value is 200. You can specify multiple values (for example, \"200,202\") or a range of values (for example, \"200-299\").

" } }, "documentation":"

Information to use when checking for a successful response from a target.

" }, + "Max":{"type":"string"}, "ModifyListenerInput":{ "type":"structure", "required":["ListenerArn"], @@ -1582,7 +1654,7 @@ }, "SslPolicy":{ "shape":"SslPolicyName", - "documentation":"

The security policy that defines which ciphers and protocols are supported.

" + "documentation":"

The security policy that defines which protocols and ciphers are supported. For more information, see Security Policies in the Application Load Balancers Guide.

" }, "Certificates":{ "shape":"CertificateList", @@ -1733,6 +1805,7 @@ } } }, + "Name":{"type":"string"}, "OperationNotPermittedException":{ "type":"structure", "members":{ @@ -1876,11 +1949,11 @@ "members":{ "Field":{ "shape":"ConditionFieldName", - "documentation":"

The only possible value is path-pattern.

" + "documentation":"

The name of the field. The possible values are host-header and path-pattern.

" }, "Values":{ "shape":"ListOfString", - "documentation":"

The path pattern. You can specify a single path pattern.

A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters in a path pattern.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

" + "documentation":"

The condition value.

If the field name is host-header, you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • - .

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

If the field name is path-pattern, you can specify a single path pattern (for example, /img/*). A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

" } }, "documentation":"

Information about a condition for a rule.

" diff --git a/botocore/data/emr/2009-03-31/examples-1.json b/botocore/data/emr/2009-03-31/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/emr/2009-03-31/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/emr/2009-03-31/paginators-1.json b/botocore/data/emr/2009-03-31/paginators-1.json index 8092b598..67ccf448 100644 --- a/botocore/data/emr/2009-03-31/paginators-1.json +++ b/botocore/data/emr/2009-03-31/paginators-1.json @@ -24,6 +24,11 @@ "input_token": "Marker", "output_token": "Marker", "result_key": "Steps" + }, + "ListInstanceFleets": { + "input_token": "Marker", + "output_token": "Marker", + "result_key": "InstanceFleets" } } } diff --git a/botocore/data/emr/2009-03-31/service-2.json b/botocore/data/emr/2009-03-31/service-2.json index 0fbb65b4..9fce8e75 100644 --- a/botocore/data/emr/2009-03-31/service-2.json +++ b/botocore/data/emr/2009-03-31/service-2.json @@ -1,7 +1,6 @@ { "version":"2.0", "metadata":{ - "uid":"elasticmapreduce-2009-03-31", "apiVersion":"2009-03-31", "endpointPrefix":"elasticmapreduce", "jsonVersion":"1.1", @@ -10,9 +9,24 @@ "serviceFullName":"Amazon Elastic MapReduce", "signatureVersion":"v4", "targetPrefix":"ElasticMapReduce", - "timestampFormat":"unixTimestamp" + "timestampFormat":"unixTimestamp", + "uid":"elasticmapreduce-2009-03-31" }, "operations":{ + "AddInstanceFleet":{ + "name":"AddInstanceFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddInstanceFleetInput"}, + "output":{"shape":"AddInstanceFleetOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Adds an instance fleet to a running cluster.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x.

" + }, "AddInstanceGroups":{ "name":"AddInstanceGroups", "http":{ @@ -37,7 +51,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

AddJobFlowSteps adds new steps to a running job flow. A maximum of 256 steps are allowed in each job flow.

If your job flow is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Job Flow in the Amazon EMR Developer's Guide.

A step specifies the location of a JAR file stored either on the master node of the job flow or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

You can only add steps to a job flow that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

" + "documentation":"

AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using SSH to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

A step specifies the location of a JAR file stored either on the master node of the cluster or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

You can only add steps to a cluster that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

" }, "AddTags":{ "name":"AddTags", @@ -179,6 +193,20 @@ ], "documentation":"

Provides the status of all clusters visible to this AWS account. Allows you to filter the list of clusters based on certain criteria; for example, filtering by cluster creation date and time or by status. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListClusters calls.

" }, + "ListInstanceFleets":{ + "name":"ListInstanceFleets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInstanceFleetsInput"}, + "output":{"shape":"ListInstanceFleetsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Lists all available details about the instance fleets in a cluster.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, "ListInstanceGroups":{ "name":"ListInstanceGroups", "http":{ @@ -235,6 +263,19 @@ ], "documentation":"

Provides a list of steps for the cluster in reverse order unless you specify stepIds with the request.

" }, + "ModifyInstanceFleet":{ + "name":"ModifyInstanceFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyInstanceFleetInput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Modifies the target On-Demand and target Spot capacities for the instance fleet with the specified InstanceFleetID within the cluster specified using ClusterID. The call either succeeds or fails atomically.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, "ModifyInstanceGroups":{ "name":"ModifyInstanceGroups", "http":{ @@ -292,7 +333,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

RunJobFlow creates and starts running a new job flow. The job flow will run the steps specified. After the job flow completes, the cluster is stopped and the HDFS partition is lost. To prevent loss of data, configure the last step of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the job flow will transition to the WAITING state rather than shutting down after the steps have completed.

For additional protection, you can set the JobFlowInstancesConfig TerminationProtected parameter to TRUE to lock the job flow and prevent it from being terminated by API call, user intervention, or in the event of a job flow error.

A maximum of 256 steps are allowed in each job flow.

If your job flow is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Job Flow in the Amazon EMR Management Guide.

For long running job flows, we recommend that you periodically store your results.

" + "documentation":"

RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the steps specified. After the steps complete, the cluster stops and the HDFS partition is lost. To prevent loss of data, configure the last step of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions to the WAITING state rather than shutting down after the steps have completed.

For additional protection, you can set the JobFlowInstancesConfig TerminationProtected parameter to TRUE to lock the cluster and prevent it from being terminated by API call, user intervention, or in the event of a job flow error.

A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

For long running clusters, we recommend that you periodically store your results.

The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both.

" }, "SetTerminationProtection":{ "name":"SetTerminationProtection", @@ -304,7 +345,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

SetTerminationProtection locks a job flow so the EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a job flow is analogous to calling the Amazon EC2 DisableAPITermination API on all of the EC2 instances in a cluster.

SetTerminationProtection is used to prevent accidental termination of a job flow and to ensure that in the event of an error, the instances will persist so you can recover any data stored in their ephemeral instance storage.

To terminate a job flow that has been locked by setting SetTerminationProtection to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection in which you set the value to false.

For more information, seeProtecting a Job Flow from Termination in the Amazon EMR Guide.

" + "documentation":"

SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a cluster is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 instances in a cluster.

SetTerminationProtection is used to prevent accidental termination of a cluster and to ensure that in the event of an error, the instances persist so that you can recover any data stored in their ephemeral instance storage.

To terminate a cluster that has been locked by setting SetTerminationProtection to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection in which you set the value to false.

For more information, seeManaging Cluster Termination in the Amazon EMR Management Guide.

" }, "SetVisibleToAllUsers":{ "name":"SetVisibleToAllUsers", @@ -316,7 +357,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Sets whether all AWS Identity and Access Management (IAM) users under your account can access the specified job flows. This action works on running job flows. You can also set the visibility of a job flow when you launch it using the VisibleToAllUsers parameter of RunJobFlow. The SetVisibleToAllUsers action can be called only by an IAM user who created the job flow or the AWS account that owns the job flow.

" + "documentation":"

Sets whether all AWS Identity and Access Management (IAM) users under your account can access the specified clusters (job flows). This action works on running clusters. You can also set the visibility of a cluster when you launch it using the VisibleToAllUsers parameter of RunJobFlow. The SetVisibleToAllUsers action can be called only by an IAM user who created the cluster or the AWS account that owns the cluster.

" }, "TerminateJobFlows":{ "name":"TerminateJobFlows", @@ -328,7 +369,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

TerminateJobFlows shuts a list of job flows down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the job flow is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the job flow was created.

The maximum number of JobFlows allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the job flow, it may take up to 1-5 minutes for the job flow to completely terminate and release allocated resources, such as Amazon EC2 instances.

" + "documentation":"

TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the cluster is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the cluster was created.

The maximum number of clusters allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 minutes for the cluster to completely terminate and release allocated resources, such as Amazon EC2 instances.

" } }, "shapes":{ @@ -341,6 +382,36 @@ "CONTINUE" ] }, + "AddInstanceFleetInput":{ + "type":"structure", + "required":[ + "ClusterId", + "InstanceFleet" + ], + "members":{ + "ClusterId":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The unique identifier of the cluster.

" + }, + "InstanceFleet":{ + "shape":"InstanceFleetConfig", + "documentation":"

Specifies the configuration of the instance fleet.

" + } + } + }, + "AddInstanceFleetOutput":{ + "type":"structure", + "members":{ + "ClusterId":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The unique identifier of the cluster.

" + }, + "InstanceFleetId":{ + "shape":"InstanceFleetId", + "documentation":"

The unique identifier of the instance fleet.

" + } + } + }, "AddInstanceGroupsInput":{ "type":"structure", "required":[ @@ -453,7 +524,7 @@ "documentation":"

This option is for advanced users only. This is meta information about third-party applications that third-party vendors use for testing purposes.

" } }, - "documentation":"

An application is any Amazon or third-party software that you can add to the cluster. This structure contains a list of strings that indicates the software to use with the cluster and accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action argument. For more information, see Launch a Job Flow on the MapR Distribution for Hadoop. Currently supported values are:

  • \"mapr-m3\" - launch the job flow using MapR M3 Edition.

  • \"mapr-m5\" - launch the job flow using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition, respectively.

In Amazon EMR releases 4.0 and greater, the only accepted parameter is the application name. To pass arguments to applications, you supply a configuration for each application.

" + "documentation":"

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 Using the MapR Distribution for Hadoop. Currently supported values are:

  • \"mapr-m3\" - launch the cluster using MapR M3 Edition.

  • \"mapr-m5\" - launch the cluster using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the cluster using MapR M3 or M5 Edition, respectively.

In Amazon EMR releases 4.0 and greater, the only accepted parameter is the application name. To pass arguments to applications, you supply a configuration for each application.

" }, "ApplicationList":{ "type":"list", @@ -511,7 +582,7 @@ "members":{ "Code":{ "shape":"AutoScalingPolicyStateChangeReasonCode", - "documentation":"

The code indicating the reason for the change in status.USER_REQUEST indicates that the scaling policy status was changed by a user. PROVISION_FAILURE indicates that the status change was because the policy failed to provision. CLEANUP_FAILURE indicates something unclean happened.-->

" + "documentation":"

The code indicating the reason for the change in status.USER_REQUEST indicates that the scaling policy status was changed by a user. PROVISION_FAILURE indicates that the status change was because the policy failed to provision. CLEANUP_FAILURE indicates an error.

" }, "Message":{ "shape":"String", @@ -533,7 +604,7 @@ "members":{ "State":{ "shape":"AutoScalingPolicyState", - "documentation":"

" + "documentation":"

Indicates the status of the automatic scaling policy.

" }, "StateChangeReason":{ "shape":"AutoScalingPolicyStateChangeReason", @@ -574,7 +645,7 @@ "documentation":"

A description of the bootstrap action.

" } }, - "documentation":"

Reports the configuration of a bootstrap action in a job flow.

" + "documentation":"

Reports the configuration of a bootstrap action in a cluster (job flow).

" }, "BootstrapActionDetailList":{ "type":"list", @@ -583,10 +654,20 @@ "CancelStepsInfo":{ "type":"structure", "members":{ - "StepId":{"shape":"StepId"}, - "Status":{"shape":"CancelStepsRequestStatus"}, - "Reason":{"shape":"String"} - } + "StepId":{ + "shape":"StepId", + "documentation":"

The encrypted StepId of a step.

" + }, + "Status":{ + "shape":"CancelStepsRequestStatus", + "documentation":"

The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

The reason for the failure if the CancelSteps request fails.

" + } + }, + "documentation":"

Specification of the status of a CancelSteps request. Available only in Amazon EMR version 4.8.0 and later, excluding version 5.0.0.

" }, "CancelStepsInfoList":{ "type":"list", @@ -690,6 +771,10 @@ "shape":"Ec2InstanceAttributes", "documentation":"

Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

" }, + "InstanceCollectionType":{ + "shape":"InstanceCollectionType", + "documentation":"

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

The instance group configuration of the cluster. A value of INSTANCE_GROUP indicates a uniform instance group configuration. A value of INSTANCE_FLEET indicates an instance fleets configuration.

" + }, "LogUri":{ "shape":"String", "documentation":"

The path to the Amazon S3 location where logs for this cluster are stored.

" @@ -716,7 +801,7 @@ }, "VisibleToAllUsers":{ "shape":"Boolean", - "documentation":"

Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

" + "documentation":"

Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. If this value is set to true, all IAM users of that AWS account can view and manage the cluster if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

" }, "Applications":{ "shape":"ApplicationList", @@ -732,7 +817,7 @@ }, "NormalizedInstanceHours":{ "shape":"Integer", - "documentation":"

An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" + "documentation":"

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" }, "MasterPublicDnsName":{ "shape":"String", @@ -835,7 +920,7 @@ }, "NormalizedInstanceHours":{ "shape":"Integer", - "documentation":"

An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" + "documentation":"

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" } }, "documentation":"

The summary description of the cluster.

" @@ -898,18 +983,18 @@ "members":{ "Classification":{ "shape":"String", - "documentation":"

The classification of a configuration. For more information see, Amazon EMR Configurations.

" + "documentation":"

The classification within a configuration.

" }, "Configurations":{ "shape":"ConfigurationList", - "documentation":"

A list of configurations you apply to this configuration object.

" + "documentation":"

A list of additional configurations to apply within a configuration object.

" }, "Properties":{ "shape":"StringMap", - "documentation":"

A set of properties supplied to the Configuration object.

" + "documentation":"

A set of properties specified within a configuration classification.

" } }, - "documentation":"

Amazon EMR releases 4.x or later.

Specifies a hardware and software configuration of the EMR cluster. This includes configurations for applications and software bundled with Amazon EMR. The Configuration object is a JSON object which is defined by a classification and a set of properties. Configurations can be nested, so a configuration may have its own Configuration objects listed.

" + "documentation":"

Amazon EMR releases 4.x or later.

An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see Configuring Applications.

" }, "ConfigurationList":{ "type":"list", @@ -1159,15 +1244,23 @@ }, "Ec2SubnetId":{ "shape":"String", - "documentation":"

To launch the job flow in Amazon VPC, set this parameter to the identifier of the Amazon VPC subnet where you want the job flow to launch. If you do not specify this value, the job flow is launched in the normal AWS cloud, outside of a VPC.

Amazon VPC currently does not support cluster compute quadruple extra large (cc1.4xlarge) instances. Thus, you cannot specify the cc1.4xlarge instance type for nodes of a job flow launched in a VPC.

" + "documentation":"

To launch the cluster in Amazon VPC, set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value, the cluster is launched in the normal AWS cloud, outside of a VPC.

Amazon VPC currently does not support cluster compute quadruple extra large (cc1.4xlarge) instances. Thus, you cannot specify the cc1.4xlarge instance type for nodes of a cluster launched in a VPC.

" + }, + "RequestedEc2SubnetIds":{ + "shape":"XmlStringMaxLen256List", + "documentation":"

Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch EC2 cluster instances. 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

" }, "Ec2AvailabilityZone":{ "shape":"String", - "documentation":"

The Availability Zone in which the cluster will run.

" + "documentation":"

The Availability Zone in which the cluster will run.

" + }, + "RequestedEc2AvailabilityZones":{ + "shape":"XmlStringMaxLen256List", + "documentation":"

Applies to clusters configured with the 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.

" }, "IamInstanceProfile":{ "shape":"String", - "documentation":"

The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.

" + "documentation":"

The IAM role that was specified when the cluster was launched. The EC2 instances of the cluster assume this role.

" }, "EmrManagedMasterSecurityGroup":{ "shape":"String", @@ -1296,6 +1389,18 @@ "shape":"String", "documentation":"

The identifier of the instance group to which this instance belongs.

" }, + "InstanceFleetId":{ + "shape":"InstanceFleetId", + "documentation":"

The unique identifier of the instance fleet to which an EC2 instance belongs.

" + }, + "Market":{ + "shape":"MarketType", + "documentation":"

The instance purchasing option. Valid values are ON_DEMAND or SPOT.

" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The EC2 instance type, for example m3.xlarge.

" + }, "EbsVolumes":{ "shape":"EbsVolumeList", "documentation":"

The list of EBS volumes that are attached to this instance.

" @@ -1303,6 +1408,208 @@ }, "documentation":"

Represents an EC2 instance provisioned as part of cluster.

" }, + "InstanceCollectionType":{ + "type":"string", + "enum":[ + "INSTANCE_FLEET", + "INSTANCE_GROUP" + ] + }, + "InstanceFleet":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"InstanceFleetId", + "documentation":"

The unique identifier of the instance fleet.

" + }, + "Name":{ + "shape":"XmlStringMaxLen256", + "documentation":"

A friendly name for the instance fleet.

" + }, + "Status":{ + "shape":"InstanceFleetStatus", + "documentation":"

The current status of the instance fleet.

" + }, + "InstanceFleetType":{ + "shape":"InstanceFleetType", + "documentation":"

The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.

" + }, + "TargetOnDemandCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" + }, + "TargetSpotCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" + }, + "ProvisionedOnDemandCapacity":{ + "shape":"WholeNumber", + "documentation":"

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

" + }, + "ProvisionedSpotCapacity":{ + "shape":"WholeNumber", + "documentation":"

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

" + }, + "InstanceTypeSpecifications":{ + "shape":"InstanceTypeSpecificationList", + "documentation":"

The specification for the instance types that comprise an instance fleet. Up to five unique instance specifications may be defined for each instance fleet.

" + }, + "LaunchSpecifications":{ + "shape":"InstanceFleetProvisioningSpecifications", + "documentation":"

Describes the launch specification for an instance fleet.

" + } + }, + "documentation":"

Describes an instance fleet, which is a group of EC2 instances that host a particular node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of a mix of instance types and On-Demand and Spot instances, which are provisioned to meet a defined target capacity.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetConfig":{ + "type":"structure", + "required":["InstanceFleetType"], + "members":{ + "Name":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The friendly name of the instance fleet.

" + }, + "InstanceFleetType":{ + "shape":"InstanceFleetType", + "documentation":"

The node type that the instance fleet hosts. Valid values are MASTER,CORE,and TASK.

" + }, + "TargetOnDemandCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" + }, + "TargetSpotCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" + }, + "InstanceTypeConfigs":{ + "shape":"InstanceTypeConfigList", + "documentation":"

The instance type configurations that define the EC2 instances in the instance fleet.

" + }, + "LaunchSpecifications":{ + "shape":"InstanceFleetProvisioningSpecifications", + "documentation":"

The launch specification for the instance fleet.

" + } + }, + "documentation":"

The configuration that defines an instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetConfigList":{ + "type":"list", + "member":{"shape":"InstanceFleetConfig"} + }, + "InstanceFleetId":{"type":"string"}, + "InstanceFleetList":{ + "type":"list", + "member":{"shape":"InstanceFleet"} + }, + "InstanceFleetModifyConfig":{ + "type":"structure", + "required":["InstanceFleetId"], + "members":{ + "InstanceFleetId":{ + "shape":"InstanceFleetId", + "documentation":"

A unique identifier for the instance fleet.

" + }, + "TargetOnDemandCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of On-Demand units for the instance fleet. For more information see InstanceFleetConfig$TargetOnDemandCapacity.

" + }, + "TargetSpotCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of Spot units for the instance fleet. For more information, see InstanceFleetConfig$TargetSpotCapacity.

" + } + }, + "documentation":"

Configuration parameters for an instance fleet modification request.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetProvisioningSpecifications":{ + "type":"structure", + "required":["SpotSpecification"], + "members":{ + "SpotSpecification":{ + "shape":"SpotProvisioningSpecification", + "documentation":"

The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior.

" + } + }, + "documentation":"

The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetState":{ + "type":"string", + "enum":[ + "PROVISIONING", + "BOOTSTRAPPING", + "RUNNING", + "RESIZING", + "SUSPENDED", + "TERMINATING", + "TERMINATED" + ] + }, + "InstanceFleetStateChangeReason":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"InstanceFleetStateChangeReasonCode", + "documentation":"

A code corresponding to the reason the state change occurred.

" + }, + "Message":{ + "shape":"String", + "documentation":"

An explanatory message.

" + } + }, + "documentation":"

Provides status change reason details for the instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetStateChangeReasonCode":{ + "type":"string", + "enum":[ + "INTERNAL_ERROR", + "VALIDATION_ERROR", + "INSTANCE_FAILURE", + "CLUSTER_TERMINATED" + ] + }, + "InstanceFleetStatus":{ + "type":"structure", + "members":{ + "State":{ + "shape":"InstanceFleetState", + "documentation":"

A code representing the instance fleet status.

" + }, + "StateChangeReason":{ + "shape":"InstanceFleetStateChangeReason", + "documentation":"

Provides status change reason details for the instance fleet.

" + }, + "Timeline":{ + "shape":"InstanceFleetTimeline", + "documentation":"

Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

" + } + }, + "documentation":"

The status of the instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetTimeline":{ + "type":"structure", + "members":{ + "CreationDateTime":{ + "shape":"Date", + "documentation":"

The time and date the instance fleet was created.

" + }, + "ReadyDateTime":{ + "shape":"Date", + "documentation":"

The time and date the instance fleet was ready to run jobs.

" + }, + "EndDateTime":{ + "shape":"Date", + "documentation":"

The time and date the instance fleet terminated.

" + } + }, + "documentation":"

Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetType":{ + "type":"string", + "enum":[ + "MASTER", + "CORE", + "TASK" + ] + }, "InstanceGroup":{ "type":"structure", "members":{ @@ -1724,6 +2031,79 @@ "min":1, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" }, + "InstanceTypeConfig":{ + "type":"structure", + "required":["InstanceType"], + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

An EC2 instance type, such as m3.xlarge.

" + }, + "WeightedCapacity":{ + "shape":"WholeNumber", + "documentation":"

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. This value is 1 for a master instance fleet, and must be greater than 0 for core and task instance fleets.

" + }, + "BidPrice":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

" + }, + "BidPriceAsPercentageOfOnDemandPrice":{ + "shape":"NonNegativeDouble", + "documentation":"

The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number between 0 and 1000 (for example, 20 specifies 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

" + }, + "EbsConfiguration":{ + "shape":"EbsConfiguration", + "documentation":"

The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

" + }, + "Configurations":{ + "shape":"ConfigurationList", + "documentation":"

A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.

" + } + }, + "documentation":"

An instance type configuration for each instance type in an instance fleet, which determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. There can be a maximum of 5 instance type configurations in a fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceTypeConfigList":{ + "type":"list", + "member":{"shape":"InstanceTypeConfig"} + }, + "InstanceTypeSpecification":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The EC2 instance type, for example m3.xlarge.

" + }, + "WeightedCapacity":{ + "shape":"WholeNumber", + "documentation":"

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. Capacity values represent performance characteristics such as vCPUs, memory, or I/O. If not specified, the default value is 1.

" + }, + "BidPrice":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD.

" + }, + "BidPriceAsPercentageOfOnDemandPrice":{ + "shape":"NonNegativeDouble", + "documentation":"

The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%).

" + }, + "Configurations":{ + "shape":"ConfigurationList", + "documentation":"

A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR.

" + }, + "EbsBlockDevices":{ + "shape":"EbsBlockDeviceList", + "documentation":"

The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

" + }, + "EbsOptimized":{ + "shape":"BooleanObject", + "documentation":"

Evaluates to TRUE when the specified InstanceType is EBS-optimized.

" + } + }, + "documentation":"

The configuration specification for each instance type in an instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceTypeSpecificationList":{ + "type":"list", + "member":{"shape":"InstanceTypeSpecification"} + }, "Integer":{"type":"integer"}, "InternalServerError":{ "type":"structure", @@ -1806,7 +2186,7 @@ }, "VisibleToAllUsers":{ "shape":"Boolean", - "documentation":"

Specifies whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and (if they have the proper policy permissions set) manage the job flow. If it is set to false, only the IAM user that created the job flow can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

" + "documentation":"

Specifies whether the cluster is visible to all IAM users of the AWS account associated with the cluster. If this value is set to true, all IAM users of that AWS account can view and (if they have the proper policy permissions set) manage the cluster. If it is set to false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

" }, "JobFlowRole":{ "shape":"XmlString", @@ -1825,7 +2205,7 @@ "documentation":"

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

" } }, - "documentation":"

A description of a job flow.

" + "documentation":"

A description of a cluster (job flow).

" }, "JobFlowDetailList":{ "type":"list", @@ -1881,7 +2261,7 @@ "documentation":"

Description of the job flow last changed state.

" } }, - "documentation":"

Describes the status of the job flow.

" + "documentation":"

Describes the status of the cluster (job flow).

" }, "JobFlowInstancesConfig":{ "type":"structure", @@ -1896,11 +2276,15 @@ }, "InstanceCount":{ "shape":"Integer", - "documentation":"

The number of EC2 instances used to execute the job flow.

" + "documentation":"

The number of EC2 instances in the cluster.

" }, "InstanceGroups":{ "shape":"InstanceGroupConfigList", - "documentation":"

Configuration for the job flow's instance groups.

" + "documentation":"

Configuration for the instance groups in a cluster.

" + }, + "InstanceFleets":{ + "shape":"InstanceFleetConfigList", + "documentation":"

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.

" }, "Ec2KeyName":{ "shape":"XmlStringMaxLen256", @@ -1908,23 +2292,27 @@ }, "Placement":{ "shape":"PlacementType", - "documentation":"

The Availability Zone the job flow will run in.

" + "documentation":"

The Availability Zone in which the cluster runs.

" }, "KeepJobFlowAliveWhenNoSteps":{ "shape":"Boolean", - "documentation":"

Specifies whether the job flow should be kept alive after completing all steps.

" + "documentation":"

Specifies whether the cluster should remain available after completing all steps.

" }, "TerminationProtected":{ "shape":"Boolean", - "documentation":"

Specifies whether to lock the job flow to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job flow error.

" + "documentation":"

Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job-flow error.

" }, "HadoopVersion":{ "shape":"XmlStringMaxLen256", - "documentation":"

The Hadoop version for the job flow. Valid inputs are \"0.18\" (deprecated), \"0.20\" (deprecated), \"0.20.205\" (deprecated), \"1.0.3\", \"2.2.0\", or \"2.4.0\". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

" + "documentation":"

The Hadoop version for the cluster. Valid inputs are \"0.18\" (deprecated), \"0.20\" (deprecated), \"0.20.205\" (deprecated), \"1.0.3\", \"2.2.0\", or \"2.4.0\". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

" }, "Ec2SubnetId":{ "shape":"XmlStringMaxLen256", - "documentation":"

To launch the job flow in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the job flow to launch. If you do not specify this value, the job flow is launched in the normal Amazon Web Services cloud, outside of an Amazon VPC.

Amazon VPC currently does not support cluster compute quadruple extra large (cc1.4xlarge) instances. Thus you cannot specify the cc1.4xlarge instance type for nodes of a job flow launched in a Amazon VPC.

" + "documentation":"

Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value, the cluster launches in the normal Amazon Web Services cloud, outside of an Amazon VPC, if the account launching the cluster supports EC2 Classic networks in the region where the cluster launches.

Amazon VPC currently does not support cluster compute quadruple extra large (cc1.4xlarge) instances. Thus you cannot specify the cc1.4xlarge instance type for clusters launched in an Amazon VPC.

" + }, + "Ec2SubnetIds":{ + "shape":"XmlStringMaxLen256List", + "documentation":"

Applies to clusters that use the instance fleet configuration. When multiple EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" }, "EmrManagedMasterSecurityGroup":{ "shape":"XmlStringMaxLen256", @@ -1947,7 +2335,7 @@ "documentation":"

A list of additional Amazon EC2 security group IDs for the slave nodes.

" } }, - "documentation":"

A description of the Amazon EC2 instance running the job flow. A valid JobFlowInstancesConfig must contain at least InstanceGroups, which is the recommended configuration. However, a valid alternative is to have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present).

" + "documentation":"

A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets, which is the recommended configuration. They cannot be used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present), but we don't recommend this configuration.

" }, "JobFlowInstancesDetail":{ "type":"structure", @@ -1979,38 +2367,38 @@ }, "InstanceGroups":{ "shape":"InstanceGroupDetailList", - "documentation":"

Details about the job flow's instance groups.

" + "documentation":"

Details about the instance groups in a cluster.

" }, "NormalizedInstanceHours":{ "shape":"Integer", - "documentation":"

An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour that an m1.small runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" + "documentation":"

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour that an m1.small runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" }, "Ec2KeyName":{ "shape":"XmlStringMaxLen256", - "documentation":"

The name of an Amazon EC2 key pair that can be used to ssh to the master node of job flow.

" + "documentation":"

The name of an Amazon EC2 key pair that can be used to ssh to the master node.

" }, "Ec2SubnetId":{ "shape":"XmlStringMaxLen256", - "documentation":"

For job flows launched within Amazon Virtual Private Cloud, this value specifies the identifier of the subnet where the job flow was launched.

" + "documentation":"

For clusters launched within Amazon Virtual Private Cloud, this is the identifier of the subnet where the cluster was launched.

" }, "Placement":{ "shape":"PlacementType", - "documentation":"

The Amazon EC2 Availability Zone for the job flow.

" + "documentation":"

The Amazon EC2 Availability Zone for the cluster.

" }, "KeepJobFlowAliveWhenNoSteps":{ "shape":"Boolean", - "documentation":"

Specifies whether the job flow should terminate after completing all steps.

" + "documentation":"

Specifies whether the cluster should remain available after completing all steps.

" }, "TerminationProtected":{ "shape":"Boolean", - "documentation":"

Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job flow error.

" + "documentation":"

Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.

" }, "HadoopVersion":{ "shape":"XmlStringMaxLen256", - "documentation":"

The Hadoop version for the job flow.

" + "documentation":"

The Hadoop version for the cluster.

" } }, - "documentation":"

Specify the type of Amazon EC2 instances to run the job flow on.

" + "documentation":"

Specify the type of Amazon EC2 instances that the cluster (job flow) runs on.

" }, "KeyValue":{ "type":"structure", @@ -2095,6 +2483,33 @@ }, "documentation":"

This contains a ClusterSummaryList with the cluster details; for example, the cluster IDs, names, and status.

" }, + "ListInstanceFleetsInput":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The unique identifier of the cluster.

" + }, + "Marker":{ + "shape":"Marker", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListInstanceFleetsOutput":{ + "type":"structure", + "members":{ + "InstanceFleets":{ + "shape":"InstanceFleetList", + "documentation":"

The list of instance fleets for the cluster and given filters.

" + }, + "Marker":{ + "shape":"Marker", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, "ListInstanceGroupsInput":{ "type":"structure", "required":["ClusterId"], @@ -2140,6 +2555,14 @@ "shape":"InstanceGroupTypeList", "documentation":"

The type of instance group for which to list the instances.

" }, + "InstanceFleetId":{ + "shape":"InstanceFleetId", + "documentation":"

The unique identifier of the instance fleet.

" + }, + "InstanceFleetType":{ + "shape":"InstanceFleetType", + "documentation":"

The node type of the instance fleet. For example MASTER, CORE, or TASK.

" + }, "InstanceStates":{ "shape":"InstanceStateList", "documentation":"

A list of instance states that will filter the instances returned with this request.

" @@ -2244,12 +2667,29 @@ "documentation":"

The dimension value.

" } }, - "documentation":"

A CloudWatch dimension, which is specified using a Key (known as a Name in CloudWatch), Value pair. By default, Amazon EMR uses one dimension whose Key is JobFlowID and Value is a variable representing the cluster ID, which is ${emr:cluster_id}. This enables the rule to bootstrap when the cluster ID becomes available, and also enables a single automatic scaling policy to be reused for multiple clusters and instance groups.

" + "documentation":"

A CloudWatch dimension, which is specified using a Key (known as a Name in CloudWatch), Value pair. By default, Amazon EMR uses one dimension whose Key is JobFlowID and Value is a variable representing the cluster ID, which is ${emr.clusterId}. This enables the rule to bootstrap when the cluster ID becomes available.

" }, "MetricDimensionList":{ "type":"list", "member":{"shape":"MetricDimension"} }, + "ModifyInstanceFleetInput":{ + "type":"structure", + "required":[ + "ClusterId", + "InstanceFleet" + ], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The unique identifier of the cluster.

" + }, + "InstanceFleet":{ + "shape":"InstanceFleetModifyConfig", + "documentation":"

The unique identifier of the instance fleet.

" + } + } + }, "ModifyInstanceGroupsInput":{ "type":"structure", "members":{ @@ -2274,14 +2714,17 @@ }, "PlacementType":{ "type":"structure", - "required":["AvailabilityZone"], "members":{ "AvailabilityZone":{ "shape":"XmlString", - "documentation":"

The Amazon EC2 Availability Zone for the job flow.

" + "documentation":"

The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used for uniform instance groups, while AvailabilityZones (plural) is used for instance fleets.

" + }, + "AvailabilityZones":{ + "shape":"XmlStringMaxLen256List", + "documentation":"

When multiple Availability Zones are specified, Amazon EMR evaluates them and launches instances in the optimal Availability Zone. AvailabilityZones is used for instance fleets, while AvailabilityZone (singular) is used for uniform instance groups.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" } }, - "documentation":"

The Amazon EC2 location for the job flow.

" + "documentation":"

The Amazon EC2 Availability Zone configuration of the cluster (job flow).

" }, "PutAutoScalingPolicyInput":{ "type":"structure", @@ -2398,23 +2841,23 @@ }, "Instances":{ "shape":"JobFlowInstancesConfig", - "documentation":"

A specification of the number and type of Amazon EC2 instances on which to run the job flow.

" + "documentation":"

A specification of the number and type of Amazon EC2 instances.

" }, "Steps":{ "shape":"StepConfigList", - "documentation":"

A list of steps to be executed by the job flow.

" + "documentation":"

A list of steps to run.

" }, "BootstrapActions":{ "shape":"BootstrapActionConfigList", - "documentation":"

A list of bootstrap actions that will be run before Hadoop is started on the cluster nodes.

" + "documentation":"

A list of bootstrap actions to run before Hadoop starts on the cluster nodes.

" }, "SupportedProducts":{ "shape":"SupportedProductsList", - "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use Applications.

A list of strings that indicates third-party software to use with the job flow. For more information, see Use Third Party Applications with Amazon EMR. Currently supported values are:

  • \"mapr-m3\" - launch the job flow using MapR M3 Edition.

  • \"mapr-m5\" - launch the job flow using MapR M5 Edition.

" + "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use Applications.

A list of strings that indicates third-party software to use. For more information, see Use Third Party Applications with Amazon EMR. Currently supported values are:

  • \"mapr-m3\" - launch the job flow using MapR M3 Edition.

  • \"mapr-m5\" - launch the job flow using MapR M5 Edition.

" }, "NewSupportedProducts":{ "shape":"NewSupportedProductsList", - "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use Applications.

A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see Launch a Job Flow on the MapR Distribution for Hadoop. Currently supported values are:

  • \"mapr-m3\" - launch the cluster using MapR M3 Edition.

  • \"mapr-m5\" - launch the cluster using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively.

  • \"mapr-m7\" - launch the cluster using MapR M7 Edition.

  • \"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.

  • \"hue\"- launch the cluster with Hue installed.

  • \"spark\" - launch the cluster with Apache Spark installed.

  • \"ganglia\" - launch the cluster with the Ganglia Monitoring System installed.

" + "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use Applications.

A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see \"Launch a Job Flow on the MapR Distribution for Hadoop\" in the Amazon EMR Developer Guide. Supported values are:

  • \"mapr-m3\" - launch the cluster using MapR M3 Edition.

  • \"mapr-m5\" - launch the cluster using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively.

  • \"mapr-m7\" - launch the cluster using MapR M7 Edition.

  • \"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.

  • \"hue\"- launch the cluster with Hue installed.

  • \"spark\" - launch the cluster with Apache Spark installed.

  • \"ganglia\" - launch the cluster with the Ganglia Monitoring System installed.

" }, "Applications":{ "shape":"ApplicationList", @@ -2426,7 +2869,7 @@ }, "VisibleToAllUsers":{ "shape":"Boolean", - "documentation":"

Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and (if they have the proper policy permissions set) manage the job flow. If it is set to false, only the IAM user that created the job flow can view and manage it.

" + "documentation":"

Whether the cluster is visible to all IAM users of the AWS account associated with the cluster. If this value is set to true, all IAM users of that AWS account can view and (if they have the proper policy permissions set) manage the cluster. If it is set to false, only the IAM user that created the cluster can view and manage it.

" }, "JobFlowRole":{ "shape":"XmlString", @@ -2593,11 +3036,11 @@ "members":{ "JobFlowIds":{ "shape":"XmlStringList", - "documentation":"

A list of strings that uniquely identify the job flows to protect. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows .

" + "documentation":"

A list of strings that uniquely identify the clusters to protect. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows .

" }, "TerminationProtected":{ "shape":"Boolean", - "documentation":"

A Boolean that indicates whether to protect the job flow and prevent the Amazon EC2 instances in the cluster from shutting down due to API calls, user intervention, or job-flow error.

" + "documentation":"

A Boolean that indicates whether to protect the cluster and prevent the Amazon EC2 instances in the cluster from shutting down due to API calls, user intervention, or job-flow error.

" } }, "documentation":"

The input argument to the TerminationProtection operation.

" @@ -2615,7 +3058,7 @@ }, "VisibleToAllUsers":{ "shape":"Boolean", - "documentation":"

Whether the specified job flows are visible to all IAM users of the AWS account associated with the job flow. If this value is set to True, all IAM users of that AWS account can view and, if they have the proper IAM policy permissions set, manage the job flows. If it is set to False, only the IAM user that created a job flow can view and manage it.

" + "documentation":"

Whether the specified clusters are visible to all IAM users of the AWS account associated with the cluster. If this value is set to True, all IAM users of that AWS account can view and, if they have the proper IAM policy permissions set, manage the clusters. If it is set to False, only the IAM user that created a cluster can view and manage it.

" } }, "documentation":"

The input to the SetVisibleToAllUsers action.

" @@ -2640,7 +3083,7 @@ "members":{ "AdjustmentType":{ "shape":"AdjustmentType", - "documentation":"

The way in which EC2 instances are added (if ScalingAdjustment is a positive number) or terminated (if ScalingAdjustment is a negative number) each time the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY indicates that the EC2 instance count increments or decrements by ScalingAdjustment, which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments or decrements by the percentage specified by ScalingAdjustment, which should be expressed as a decimal, for example, 0.20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY indicates the scaling activity results in an instance group with the number of EC2 instances specified by ScalingAdjustment, which should be expressed as a positive integer.

" + "documentation":"

The way in which EC2 instances are added (if ScalingAdjustment is a positive number) or terminated (if ScalingAdjustment is a negative number) each time the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY indicates that the EC2 instance count increments or decrements by ScalingAdjustment, which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments or decrements by the percentage specified by ScalingAdjustment, which should be expressed as a decimal. For example, 0.20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY indicates the scaling activity results in an instance group with the number of EC2 instances specified by ScalingAdjustment, which should be expressed as a positive integer.

" }, "ScalingAdjustment":{ "shape":"Integer", @@ -2653,6 +3096,35 @@ }, "documentation":"

An automatic scaling configuration, which describes how the policy adds or removes instances, the cooldown period, and the number of EC2 instances that will be added each time the CloudWatch metric alarm condition is satisfied.

" }, + "SpotProvisioningSpecification":{ + "type":"structure", + "required":[ + "TimeoutDurationMinutes", + "TimeoutAction" + ], + "members":{ + "TimeoutDurationMinutes":{ + "shape":"WholeNumber", + "documentation":"

The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

" + }, + "TimeoutAction":{ + "shape":"SpotProvisioningTimeoutAction", + "documentation":"

The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired. Spot instances are not uprovisioned within the Spot provisioining timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND to fulfill the remaining capacity.

" + }, + "BlockDurationMinutes":{ + "shape":"WholeNumber", + "documentation":"

The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

" + } + }, + "documentation":"

The launch specification for Spot instances in the instance fleet, which determines the defined duration and provisioning timeout behavior.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "SpotProvisioningTimeoutAction":{ + "type":"string", + "enum":[ + "SWITCH_TO_ON_DEMAND", + "TERMINATE_CLUSTER" + ] + }, "Statistic":{ "type":"string", "enum":[ @@ -2698,18 +3170,18 @@ "members":{ "Name":{ "shape":"XmlStringMaxLen256", - "documentation":"

The name of the job flow step.

" + "documentation":"

The name of the step.

" }, "ActionOnFailure":{ "shape":"ActionOnFailure", - "documentation":"

The action to take if the job flow step fails.

" + "documentation":"

The action to take if the step fails.

" }, "HadoopJarStep":{ "shape":"HadoopJarStepConfig", - "documentation":"

The JAR file used for the job flow step.

" + "documentation":"

The JAR file used for the step.

" } }, - "documentation":"

Specification of a job flow step.

" + "documentation":"

Specification of a cluster (job flow) step.

" }, "StepConfigList":{ "type":"list", @@ -2758,7 +3230,7 @@ "members":{ "State":{ "shape":"StepExecutionState", - "documentation":"

The state of the job flow step.

" + "documentation":"

The state of the step.

" }, "CreationDateTime":{ "shape":"Date", @@ -2999,6 +3471,10 @@ }, "documentation":"

EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

" }, + "WholeNumber":{ + "type":"integer", + "min":0 + }, "XmlString":{ "type":"string", "max":10280, @@ -3014,6 +3490,10 @@ "max":256, "min":0, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "XmlStringMaxLen256List":{ + "type":"list", + "member":{"shape":"XmlStringMaxLen256"} } }, "documentation":"

Amazon EMR is a web service that makes it easy to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several AWS products to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehousing.

" diff --git a/botocore/data/endpoints.json b/botocore/data/endpoints.json index 62305b39..4f0a7c10 100644 --- a/botocore/data/endpoints.json +++ b/botocore/data/endpoints.json @@ -1,1871 +1,1929 @@ { - "partitions": [ - { - "defaults": { - "hostname": "{service}.{region}.{dnsSuffix}", - "protocols": [ - "https" - ], - "signatureVersions": [ - "v4" - ] + "partitions" : [ { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "amazonaws.com", + "partition" : "aws", + "partitionName" : "AWS Standard", + "regionRegex" : "^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$", + "regions" : { + "ap-northeast-1" : { + "description" : "Asia Pacific (Tokyo)" }, - "dnsSuffix": "amazonaws.com", - "partition": "aws", - "partitionName": "AWS Standard", - "regionRegex": "^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$", - "regions": { - "ap-northeast-1": { - "description": "Asia Pacific (Tokyo)" - }, - "ap-northeast-2": { - "description": "Asia Pacific (Seoul)" - }, - "ap-south-1": { - "description": "Asia Pacific (Mumbai)" - }, - "ap-southeast-1": { - "description": "Asia Pacific (Singapore)" - }, - "ap-southeast-2": { - "description": "Asia Pacific (Sydney)" - }, - "ca-central-1": { - "description": "Canada (Central)" - }, - "eu-central-1": { - "description": "EU (Frankfurt)" - }, - "eu-west-1": { - "description": "EU (Ireland)" - }, - "eu-west-2": { - "description": "EU (London)" - }, - "sa-east-1": { - "description": "South America (Sao Paulo)" - }, - "us-east-1": { - "description": "US East (N. Virginia)" - }, - "us-east-2": { - "description": "US East (Ohio)" - }, - "us-west-1": { - "description": "US West (N. California)" - }, - "us-west-2": { - "description": "US West (Oregon)" - } + "ap-northeast-2" : { + "description" : "Asia Pacific (Seoul)" }, - "services": { - "acm": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "apigateway": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "application-autoscaling": { - "defaults": { - "credentialScope": { - "service": "application-autoscaling" - }, - "hostname": "autoscaling.{region}.amazonaws.com", - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "appstream": { - "endpoints": { - "ap-northeast-1": {}, - "us-east-1": {} - } - }, - "appstream2": { - "defaults": { - "credentialScope": { - "service": "appstream" - }, - "protocols": [ - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "autoscaling": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "batch": { - "endpoints": { - "us-east-1": {} - } - }, - "budgets": { - "endpoints": { - "aws-global": { - "credentialScope": { - "region": "us-east-1" - }, - "hostname": "budgets.amazonaws.com" - } - }, - "isRegionalized": false, - "partitionEndpoint": "aws-global" - }, - "cloudformation": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "cloudfront": { - "endpoints": { - "aws-global": { - "credentialScope": { - "region": "us-east-1" - }, - "hostname": "cloudfront.amazonaws.com", - "protocols": [ - "http", - "https" - ] - } - }, - "isRegionalized": false, - "partitionEndpoint": "aws-global" - }, - "cloudhsm": { - "endpoints": { - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "cloudsearch": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "cloudtrail": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "codebuild": { - "endpoints": { - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "codecommit": { - "endpoints": { - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "codedeploy": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "codepipeline": { - "endpoints": { - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "cognito-identity": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "cognito-idp": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "cognito-sync": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "config": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "cur": { - "endpoints": { - "us-east-1": {} - } - }, - "data.iot": { - "defaults": { - "credentialScope": { - "service": "iotdata" - }, - "protocols": [ - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "datapipeline": { - "endpoints": { - "ap-northeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "devicefarm": { - "endpoints": { - "us-west-2": {} - } - }, - "directconnect": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "discovery": { - "endpoints": { - "us-west-2": {} - } - }, - "dms": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "ds": { - "endpoints": { - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "dynamodb": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "local": { - "credentialScope": { - "region": "us-east-1" - }, - "hostname": "localhost:8000", - "protocols": [ - "http" - ] - }, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "ec2": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "ecr": { - "endpoints": { - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "ecs": { - "endpoints": { - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "elasticache": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "elasticbeanstalk": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "elasticfilesystem": { - "endpoints": { - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "elasticloadbalancing": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "elasticmapreduce": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "sslCommonName": "{region}.{service}.{dnsSuffix}" - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": { - "sslCommonName": "{service}.{region}.{dnsSuffix}" - }, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": { - "sslCommonName": "{service}.{region}.{dnsSuffix}" - }, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "elastictranscoder": { - "endpoints": { - "ap-northeast-1": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "email": { - "endpoints": { - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "es": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "events": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "firehose": { - "endpoints": { - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "gamelift": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "glacier": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "health": { - "endpoints": { - "us-east-1": {} - } - }, - "iam": { - "endpoints": { - "aws-global": { - "credentialScope": { - "region": "us-east-1" - }, - "hostname": "iam.amazonaws.com" - } - }, - "isRegionalized": false, - "partitionEndpoint": "aws-global" - }, - "importexport": { - "endpoints": { - "aws-global": { - "credentialScope": { - "region": "us-east-1", - "service": "IngestionService" - }, - "hostname": "importexport.amazonaws.com", - "signatureVersions": [ - "v2", - "v4" - ] - } - }, - "isRegionalized": false, - "partitionEndpoint": "aws-global" - }, - "inspector": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "iot": { - "defaults": { - "credentialScope": { - "service": "execute-api" - } - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "kinesis": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "kinesisanalytics": { - "endpoints": { - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "kms": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "lambda": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "lightsail": { - "endpoints": { - "us-east-1": {} - } - }, - "logs": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "machinelearning": { - "endpoints": { - "eu-west-1": {}, - "us-east-1": {} - } - }, - "marketplacecommerceanalytics": { - "endpoints": { - "us-east-1": {} - } - }, - "metering.marketplace": { - "defaults": { - "credentialScope": { - "service": "aws-marketplace" - } - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "mobileanalytics": { - "endpoints": { - "us-east-1": {} - } - }, - "monitoring": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "opsworks": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "opsworks-cm": { - "endpoints": { - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "pinpoint": { - "defaults": { - "credentialScope": { - "service": "mobiletargeting" - } - }, - "endpoints": { - "us-east-1": {} - } - }, - "polly": { - "endpoints": { - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "rds": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": { - "sslCommonName": "{service}.{dnsSuffix}" - }, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "redshift": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "rekognition": { - "endpoints": { - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "route53": { - "endpoints": { - "aws-global": { - "credentialScope": { - "region": "us-east-1" - }, - "hostname": "route53.amazonaws.com" - } - }, - "isRegionalized": false, - "partitionEndpoint": "aws-global" - }, - "route53domains": { - "endpoints": { - "us-east-1": {} - } - }, - "s3": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "signatureVersions": [ - "s3v4" - ] - }, - "endpoints": { - "ap-northeast-1": { - "hostname": "s3-ap-northeast-1.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": { - "hostname": "s3-ap-southeast-1.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "ap-southeast-2": { - "hostname": "s3-ap-southeast-2.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": { - "hostname": "s3-eu-west-1.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "eu-west-2": {}, - "s3-external-1": { - "credentialScope": { - "region": "us-east-1" - }, - "hostname": "s3-external-1.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "sa-east-1": { - "hostname": "s3-sa-east-1.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "us-east-1": { - "hostname": "s3.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "us-east-2": {}, - "us-west-1": { - "hostname": "s3-us-west-1.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "us-west-2": { - "hostname": "s3-us-west-2.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - } - }, - "isRegionalized": true, - "partitionEndpoint": "us-east-1" - }, - "sdb": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "signatureVersions": [ - "v2" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {}, - "sa-east-1": {}, - "us-east-1": { - "hostname": "sdb.amazonaws.com" - }, - "us-west-1": {}, - "us-west-2": {} - } - }, - "servicecatalog": { - "endpoints": { - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "shield": { - "defaults": { - "protocols": [ - "https" - ], - "sslCommonName": "Shield.us-east-1.amazonaws.com" - }, - "endpoints": { - "us-east-1": {} - }, - "isRegionalized": false - }, - "sms": { - "endpoints": { - "ap-southeast-2": {}, - "eu-west-1": {}, - "us-east-1": {} - } - }, - "snowball": { - "endpoints": { - "ap-south-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "sns": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "sqs": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "sslCommonName": "{region}.queue.{dnsSuffix}" - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": { - "sslCommonName": "queue.{dnsSuffix}" - }, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "ssm": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "states": { - "endpoints": { - "ap-northeast-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "storagegateway": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "streams.dynamodb": { - "defaults": { - "credentialScope": { - "service": "dynamodb" - }, - "protocols": [ - "http", - "http", - "https", - "https" - ] - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "local": { - "credentialScope": { - "region": "us-east-1" - }, - "hostname": "localhost:8000", - "protocols": [ - "http" - ] - }, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "sts": { - "defaults": { - "credentialScope": { - "region": "us-east-1" - }, - "hostname": "sts.amazonaws.com" - }, - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": { - "credentialScope": { - "region": "ap-northeast-2" - }, - "hostname": "sts.ap-northeast-2.amazonaws.com" - }, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "aws-global": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - }, - "partitionEndpoint": "aws-global" - }, - "support": { - "endpoints": { - "us-east-1": {} - } - }, - "swf": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "ca-central-1": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "eu-west-2": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - }, - "waf": { - "endpoints": { - "aws-global": { - "credentialScope": { - "region": "us-east-1" - }, - "hostname": "waf.amazonaws.com" - } - }, - "isRegionalized": false, - "partitionEndpoint": "aws-global" - }, - "waf-regional": { - "endpoints": { - "ap-northeast-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "workspaces": { - "endpoints": { - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "us-east-1": {}, - "us-west-2": {} - } - }, - "xray": { - "endpoints": { - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "sa-east-1": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {} - } - } + "ap-south-1" : { + "description" : "Asia Pacific (Mumbai)" + }, + "ap-southeast-1" : { + "description" : "Asia Pacific (Singapore)" + }, + "ap-southeast-2" : { + "description" : "Asia Pacific (Sydney)" + }, + "ca-central-1" : { + "description" : "Canada (Central)" + }, + "eu-central-1" : { + "description" : "EU (Frankfurt)" + }, + "eu-west-1" : { + "description" : "EU (Ireland)" + }, + "eu-west-2" : { + "description" : "EU (London)" + }, + "sa-east-1" : { + "description" : "South America (Sao Paulo)" + }, + "us-east-1" : { + "description" : "US East (N. Virginia)" + }, + "us-east-2" : { + "description" : "US East (Ohio)" + }, + "us-west-1" : { + "description" : "US West (N. California)" + }, + "us-west-2" : { + "description" : "US West (Oregon)" } }, - { - "defaults": { - "hostname": "{service}.{region}.{dnsSuffix}", - "protocols": [ - "https" - ], - "signatureVersions": [ - "v4" - ] - }, - "dnsSuffix": "amazonaws.com.cn", - "partition": "aws-cn", - "partitionName": "AWS China", - "regionRegex": "^cn\\-\\w+\\-\\d+$", - "regions": { - "cn-north-1": { - "description": "China (Beijing)" + "services" : { + "acm" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } } }, - "services": { - "autoscaling": { - "defaults": { - "protocols": [ - "http", - "https" - ] + "apigateway" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "application-autoscaling" : { + "defaults" : { + "credentialScope" : { + "service" : "application-autoscaling" }, - "endpoints": { - "cn-north-1": {} - } + "hostname" : "autoscaling.{region}.amazonaws.com", + "protocols" : [ "http", "https" ] }, - "cloudformation": { - "endpoints": { - "cn-north-1": {} - } - }, - "cloudtrail": { - "endpoints": { - "cn-north-1": {} - } - }, - "config": { - "endpoints": { - "cn-north-1": {} - } - }, - "directconnect": { - "endpoints": { - "cn-north-1": {} - } - }, - "dynamodb": { - "defaults": { - "protocols": [ - "http", - "https" - ] + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "appstream2" : { + "defaults" : { + "credentialScope" : { + "service" : "appstream" }, - "endpoints": { - "cn-north-1": {} - } + "protocols" : [ "https" ] }, - "ec2": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "cn-north-1": {} - } + "endpoints" : { + "ap-northeast-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "athena" : { + "endpoints" : { + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] }, - "elasticache": { - "endpoints": { - "cn-north-1": {} - } - }, - "elasticbeanstalk": { - "endpoints": { - "cn-north-1": {} - } - }, - "elasticloadbalancing": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "cn-north-1": {} - } - }, - "elasticmapreduce": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "cn-north-1": {} - } - }, - "events": { - "endpoints": { - "cn-north-1": {} - } - }, - "glacier": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "cn-north-1": {} - } - }, - "iam": { - "endpoints": { - "aws-cn-global": { - "credentialScope": { - "region": "cn-north-1" - }, - "hostname": "iam.cn-north-1.amazonaws.com.cn" - } - }, - "isRegionalized": false, - "partitionEndpoint": "aws-cn-global" - }, - "kinesis": { - "endpoints": { - "cn-north-1": {} - } - }, - "logs": { - "endpoints": { - "cn-north-1": {} - } - }, - "monitoring": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "cn-north-1": {} - } - }, - "rds": { - "endpoints": { - "cn-north-1": {} - } - }, - "redshift": { - "endpoints": { - "cn-north-1": {} - } - }, - "s3": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "signatureVersions": [ - "s3v4" - ] - }, - "endpoints": { - "cn-north-1": {} - } - }, - "sns": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "cn-north-1": {} - } - }, - "sqs": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "sslCommonName": "{region}.queue.{dnsSuffix}" - }, - "endpoints": { - "cn-north-1": {} - } - }, - "storagegateway": { - "endpoints": { - "cn-north-1": {} - } - }, - "streams.dynamodb": { - "defaults": { - "credentialScope": { - "service": "dynamodb" + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "batch" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "budgets" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" }, - "protocols": [ - "http", - "http", - "https", - "https" - ] - }, - "endpoints": { - "cn-north-1": {} + "hostname" : "budgets.amazonaws.com" } }, - "sts": { - "endpoints": { - "cn-north-1": {} - } - }, - "swf": { - "endpoints": { - "cn-north-1": {} - } - } - } - }, - { - "defaults": { - "hostname": "{service}.{region}.{dnsSuffix}", - "protocols": [ - "https" - ], - "signatureVersions": [ - "v4" - ] + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" }, - "dnsSuffix": "amazonaws.com", - "partition": "aws-us-gov", - "partitionName": "AWS GovCloud (US)", - "regionRegex": "^us\\-gov\\-\\w+\\-\\d+$", - "regions": { - "us-gov-west-1": { - "description": "AWS GovCloud (US)" + "clouddirectory" : { + "endpoints" : { + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } } }, - "services": { - "autoscaling": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ] - } - } - }, - "cloudformation": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "cloudhsm": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "cloudtrail": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "config": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "directconnect": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "dynamodb": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "ec2": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "elasticache": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "elasticloadbalancing": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ] - } - } - }, - "elasticmapreduce": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ] - } - } - }, - "glacier": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ] - } - } - }, - "iam": { - "endpoints": { - "aws-us-gov-global": { - "credentialScope": { - "region": "us-gov-west-1" - }, - "hostname": "iam.us-gov.amazonaws.com" - } - }, - "isRegionalized": false, - "partitionEndpoint": "aws-us-gov-global" - }, - "kms": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "logs": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "monitoring": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "rds": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "redshift": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "s3": { - "defaults": { - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "endpoints": { - "fips-us-gov-west-1": { - "credentialScope": { - "region": "us-gov-west-1" - }, - "hostname": "s3-fips-us-gov-west-1.amazonaws.com" + "cloudformation" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cloudfront" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" }, - "us-gov-west-1": { - "hostname": "s3-us-gov-west-1.amazonaws.com", - "protocols": [ - "http", - "https" - ] - } + "hostname" : "cloudfront.amazonaws.com", + "protocols" : [ "http", "https" ] } }, - "snowball": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "sns": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ] - } - } - }, - "sqs": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ], - "sslCommonName": "{region}.queue.{dnsSuffix}" - } - } - }, - "streams.dynamodb": { - "defaults": { - "credentialScope": { - "service": "dynamodb" - } + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "cloudhsm" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cloudsearch" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cloudtrail" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codebuild" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "codecommit" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codedeploy" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codepipeline" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "codestar" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "cognito-identity" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "cognito-idp" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "cognito-sync" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "config" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cur" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "data.iot" : { + "defaults" : { + "credentialScope" : { + "service" : "iotdata" }, - "endpoints": { - "us-gov-west-1": {} + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "datapipeline" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "devicefarm" : { + "endpoints" : { + "us-west-2" : { } + } + }, + "directconnect" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "discovery" : { + "endpoints" : { + "us-west-2" : { } + } + }, + "dms" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ds" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "dynamodb" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "local" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "localhost:8000", + "protocols" : [ "http" ] + }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ec2" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ecr" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ecs" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticache" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticbeanstalk" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticfilesystem" : { + "endpoints" : { + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "elasticloadbalancing" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticmapreduce" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.{service}.{dnsSuffix}" + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { + "sslCommonName" : "{service}.{region}.{dnsSuffix}" + }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "sslCommonName" : "{service}.{region}.{dnsSuffix}" + }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elastictranscoder" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "email" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "entitlement.marketplace" : { + "defaults" : { + "credentialScope" : { + "service" : "aws-marketplace" } }, - "sts": { - "endpoints": { - "us-gov-west-1": {} + "endpoints" : { + "us-east-1" : { } + } + }, + "es" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "events" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "firehose" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "gamelift" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "glacier" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "greengrass" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-east-1" : { }, + "us-west-2" : { } + }, + "isRegionalized" : true + }, + "health" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "iam" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "iam.amazonaws.com" } }, - "swf": { - "endpoints": { - "us-gov-west-1": {} + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "importexport" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1", + "service" : "IngestionService" + }, + "hostname" : "importexport.amazonaws.com", + "signatureVersions" : [ "v2", "v4" ] } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "inspector" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "iot" : { + "defaults" : { + "credentialScope" : { + "service" : "execute-api" + } + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "kinesis" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "kinesisanalytics" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "kms" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "lambda" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "lightsail" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "logs" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "machinelearning" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { } + } + }, + "marketplacecommerceanalytics" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "metering.marketplace" : { + "defaults" : { + "credentialScope" : { + "service" : "aws-marketplace" + } + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "mobileanalytics" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "models.lex" : { + "defaults" : { + "credentialScope" : { + "service" : "lex" + } + }, + "endpoints" : { + "us-east-1" : { } + } + }, + "monitoring" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "mturk-requester" : { + "endpoints" : { + "sandbox" : { + "hostname" : "mturk-requester-sandbox.us-east-1.amazonaws.com" + }, + "us-east-1" : { } + }, + "isRegionalized" : false + }, + "opsworks" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "opsworks-cm" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "organizations" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "organizations.us-east-1.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "pinpoint" : { + "defaults" : { + "credentialScope" : { + "service" : "mobiletargeting" + } + }, + "endpoints" : { + "us-east-1" : { } + } + }, + "polly" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "rds" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "sslCommonName" : "{service}.{dnsSuffix}" + }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "redshift" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "rekognition" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "route53" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "route53.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "route53domains" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "runtime.lex" : { + "defaults" : { + "credentialScope" : { + "service" : "lex" + } + }, + "endpoints" : { + "us-east-1" : { } + } + }, + "s3" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "s3v4" ] + }, + "endpoints" : { + "ap-northeast-1" : { + "hostname" : "s3-ap-northeast-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { + "hostname" : "s3-ap-southeast-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "ap-southeast-2" : { + "hostname" : "s3-ap-southeast-2.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { + "hostname" : "s3-eu-west-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "eu-west-2" : { }, + "s3-external-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "s3-external-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "sa-east-1" : { + "hostname" : "s3-sa-east-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "us-east-1" : { + "hostname" : "s3.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "us-east-2" : { }, + "us-west-1" : { + "hostname" : "s3-us-west-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "us-west-2" : { + "hostname" : "s3-us-west-2.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + } + }, + "isRegionalized" : true, + "partitionEndpoint" : "us-east-1" + }, + "sdb" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "v2" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "hostname" : "sdb.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "servicecatalog" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "shield" : { + "defaults" : { + "protocols" : [ "https" ], + "sslCommonName" : "Shield.us-east-1.amazonaws.com" + }, + "endpoints" : { + "us-east-1" : { } + }, + "isRegionalized" : false + }, + "sms" : { + "endpoints" : { + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { } + } + }, + "snowball" : { + "endpoints" : { + "ap-south-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" : { } + } + }, + "sns" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "sqs" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.queue.{dnsSuffix}" + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "sslCommonName" : "queue.{dnsSuffix}" + }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ssm" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "states" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "storagegateway" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" + }, + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "local" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "localhost:8000", + "protocols" : [ "http" ] + }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "sts" : { + "defaults" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "sts.amazonaws.com" + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "sts.ap-northeast-2.amazonaws.com" + }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "aws-global" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "sts-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "sts-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "sts-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "sts-fips.us-west-2.amazonaws.com" + } + }, + "partitionEndpoint" : "aws-global" + }, + "support" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "swf" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "tagging" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "waf" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "waf.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "waf-regional" : { + "endpoints" : { + "ap-northeast-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "workdocs" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "workspaces" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "xray" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } } } } - ], - "version": 3 -} + }, { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "amazonaws.com.cn", + "partition" : "aws-cn", + "partitionName" : "AWS China", + "regionRegex" : "^cn\\-\\w+\\-\\d+$", + "regions" : { + "cn-north-1" : { + "description" : "China (Beijing)" + } + }, + "services" : { + "autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "cloudformation" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "cloudtrail" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "codedeploy" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "config" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "directconnect" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "dynamodb" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "ec2" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "elasticache" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "elasticbeanstalk" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "elasticloadbalancing" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "elasticmapreduce" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "events" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "glacier" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "iam" : { + "endpoints" : { + "aws-cn-global" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "iam.cn-north-1.amazonaws.com.cn" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-cn-global" + }, + "kinesis" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "logs" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "monitoring" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "rds" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "redshift" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "s3" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "s3v4" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "sns" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "sqs" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.queue.{dnsSuffix}" + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "storagegateway" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" + }, + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "sts" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "swf" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "tagging" : { + "endpoints" : { + "cn-north-1" : { } + } + } + } + }, { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "amazonaws.com", + "partition" : "aws-us-gov", + "partitionName" : "AWS GovCloud (US)", + "regionRegex" : "^us\\-gov\\-\\w+\\-\\d+$", + "regions" : { + "us-gov-west-1" : { + "description" : "AWS GovCloud (US)" + } + }, + "services" : { + "autoscaling" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "cloudformation" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "cloudhsm" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "cloudtrail" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "codedeploy" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "config" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "directconnect" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "dynamodb" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "ec2" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "elasticache" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "elasticloadbalancing" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "elasticmapreduce" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "events" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "glacier" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "iam" : { + "endpoints" : { + "aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "iam.us-gov.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-us-gov-global" + }, + "kinesis" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "kms" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "lambda" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "logs" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "monitoring" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "rds" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "redshift" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "s3" : { + "defaults" : { + "signatureVersions" : [ "s3", "s3v4" ] + }, + "endpoints" : { + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "s3-fips-us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { + "hostname" : "s3-us-gov-west-1.amazonaws.com", + "protocols" : [ "http", "https" ] + } + } + }, + "snowball" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "sns" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "sqs" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.queue.{dnsSuffix}" + } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" + } + }, + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "sts" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "swf" : { + "endpoints" : { + "us-gov-west-1" : { } + } + } + } + } ], + "version" : 3 +} \ No newline at end of file diff --git a/botocore/data/es/2015-01-01/paginators-1.json b/botocore/data/es/2015-01-01/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/es/2015-01-01/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/es/2015-01-01/service-2.json b/botocore/data/es/2015-01-01/service-2.json index 6e646248..cc7d307a 100644 --- a/botocore/data/es/2015-01-01/service-2.json +++ b/botocore/data/es/2015-01-01/service-2.json @@ -1,12 +1,12 @@ { "version":"2.0", "metadata":{ - "uid":"es-2015-01-01", "apiVersion":"2015-01-01", "endpointPrefix":"es", "protocol":"rest-json", "serviceFullName":"Amazon Elasticsearch Service", - "signatureVersion":"v4" + "signatureVersion":"v4", + "uid":"es-2015-01-01" }, "operations":{ "AddTags":{ @@ -106,6 +106,24 @@ ], "documentation":"

Returns domain configuration information about the specified Elasticsearch domains, including the domain ID, domain endpoint, and domain ARN.

" }, + "DescribeElasticsearchInstanceTypeLimits":{ + "name":"DescribeElasticsearchInstanceTypeLimits", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}" + }, + "input":{"shape":"DescribeElasticsearchInstanceTypeLimitsRequest"}, + "output":{"shape":"DescribeElasticsearchInstanceTypeLimitsResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidTypeException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. When modifying existing Domain, specify the DomainName to know what Limits are supported for modifying.

" + }, "ListDomainNames":{ "name":"ListDomainNames", "http":{ @@ -119,6 +137,38 @@ ], "documentation":"

Returns the name of all Elasticsearch domains owned by the current user's account.

" }, + "ListElasticsearchInstanceTypes":{ + "name":"ListElasticsearchInstanceTypes", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/instanceTypes/{ElasticsearchVersion}" + }, + "input":{"shape":"ListElasticsearchInstanceTypesRequest"}, + "output":{"shape":"ListElasticsearchInstanceTypesResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

List all Elasticsearch instance types that are supported for given ElasticsearchVersion

" + }, + "ListElasticsearchVersions":{ + "name":"ListElasticsearchVersions", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/versions" + }, + "input":{"shape":"ListElasticsearchVersionsRequest"}, + "output":{"shape":"ListElasticsearchVersionsResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

List all supported Elasticsearch versions

" + }, "ListTags":{ "name":"ListTags", "http":{ @@ -209,6 +259,24 @@ }, "documentation":"

Container for the parameters to the AddTags operation. Specify the tags that you want to attach to the Elasticsearch domain.

" }, + "AdditionalLimit":{ + "type":"structure", + "members":{ + "LimitName":{ + "shape":"LimitName", + "documentation":"

Name of Additional Limit is specific to a given InstanceType and for each of it's InstanceRole etc.
Attributes and their details:

  • MaximumNumberOfDataNodesSupported
  • This attribute will be present in Master node only to specify how much data nodes upto which given ESPartitionInstanceType can support as master node.
  • MaximumNumberOfDataNodesWithoutMasterNode
  • This attribute will be present in Data node only to specify how much data nodes of given ESPartitionInstanceType upto which you don't need any master nodes to govern them.

" + }, + "LimitValues":{ + "shape":"LimitValueList", + "documentation":"

Value for given AdditionalLimit$LimitName .

" + } + }, + "documentation":"

List of limits that are specific to a given InstanceType and for each of it's InstanceRole .

" + }, + "AdditionalLimitList":{ + "type":"list", + "member":{"shape":"AdditionalLimit"} + }, "AdvancedOptions":{ "type":"map", "key":{"shape":"String"}, @@ -382,6 +450,41 @@ }, "documentation":"

The result of a DescribeElasticsearchDomains request. Contains the status of the specified domains or all domains owned by the account.

" }, + "DescribeElasticsearchInstanceTypeLimitsRequest":{ + "type":"structure", + "required":[ + "InstanceType", + "ElasticsearchVersion" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for Elasticsearch Limits for existing domain.

", + "location":"querystring", + "locationName":"domainName" + }, + "InstanceType":{ + "shape":"ESPartitionInstanceType", + "documentation":"

The instance type for an Elasticsearch cluster for which Elasticsearch Limits are needed.

", + "location":"uri", + "locationName":"InstanceType" + }, + "ElasticsearchVersion":{ + "shape":"ElasticsearchVersionString", + "documentation":"

Version of Elasticsearch for which Limits are needed.

", + "location":"uri", + "locationName":"ElasticsearchVersion" + } + }, + "documentation":"

Container for the parameters to DescribeElasticsearchInstanceTypeLimits operation.

" + }, + "DescribeElasticsearchInstanceTypeLimitsResponse":{ + "type":"structure", + "members":{ + "LimitsByRole":{"shape":"LimitsByRole"} + }, + "documentation":"

Container for the parameters received from DescribeElasticsearchInstanceTypeLimits operation.

" + }, "DisabledOperationException":{ "type":"structure", "members":{ @@ -483,7 +586,22 @@ "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", - "i2.2xlarge.elasticsearch" + "i2.2xlarge.elasticsearch", + "d2.xlarge.elasticsearch", + "d2.2xlarge.elasticsearch", + "d2.4xlarge.elasticsearch", + "d2.8xlarge.elasticsearch", + "c4.large.elasticsearch", + "c4.xlarge.elasticsearch", + "c4.2xlarge.elasticsearch", + "c4.4xlarge.elasticsearch", + "c4.8xlarge.elasticsearch", + "r4.large.elasticsearch", + "r4.xlarge.elasticsearch", + "r4.2xlarge.elasticsearch", + "r4.4xlarge.elasticsearch", + "r4.8xlarge.elasticsearch", + "r4.16xlarge.elasticsearch" ] }, "ElasticsearchClusterConfig":{ @@ -630,6 +748,16 @@ "member":{"shape":"ElasticsearchDomainStatus"}, "documentation":"

A list that contains the status of each requested Elasticsearch domain.

" }, + "ElasticsearchInstanceTypeList":{ + "type":"list", + "member":{"shape":"ESPartitionInstanceType"}, + "documentation":"

List of instance types supported by Amazon Elasticsearch service.

" + }, + "ElasticsearchVersionList":{ + "type":"list", + "member":{"shape":"ElasticsearchVersionString"}, + "documentation":"

List of supported elastic search versions.

" + }, "ElasticsearchVersionStatus":{ "type":"structure", "required":[ @@ -650,6 +778,22 @@ }, "ElasticsearchVersionString":{"type":"string"}, "ErrorMessage":{"type":"string"}, + "InstanceCountLimits":{ + "type":"structure", + "members":{ + "MinimumInstanceCount":{"shape":"MinimumInstanceCount"}, + "MaximumInstanceCount":{"shape":"MaximumInstanceCount"} + }, + "documentation":"

InstanceCountLimits represents the limits on number of instances that be created in Amazon Elasticsearch for given InstanceType.

" + }, + "InstanceLimits":{ + "type":"structure", + "members":{ + "InstanceCountLimits":{"shape":"InstanceCountLimits"} + }, + "documentation":"

InstanceLimits represents the list of instance related attributes that are available for given InstanceType.

" + }, + "InstanceRole":{"type":"string"}, "IntegerClass":{"type":"integer"}, "InternalException":{ "type":"structure", @@ -675,6 +819,33 @@ "error":{"httpStatusCode":409}, "exception":true }, + "LimitName":{"type":"string"}, + "LimitValue":{"type":"string"}, + "LimitValueList":{ + "type":"list", + "member":{"shape":"LimitValue"} + }, + "Limits":{ + "type":"structure", + "members":{ + "StorageTypes":{ + "shape":"StorageTypeList", + "documentation":"

StorageType represents the list of storage related types and attributes that are available for given InstanceType.

" + }, + "InstanceLimits":{"shape":"InstanceLimits"}, + "AdditionalLimits":{ + "shape":"AdditionalLimitList", + "documentation":"

List of additional limits that are specific to a given InstanceType and for each of it's InstanceRole .

" + } + }, + "documentation":"

Limits for given InstanceType and for each of it's role.
Limits contains following StorageTypes, InstanceLimits and AdditionalLimits

" + }, + "LimitsByRole":{ + "type":"map", + "key":{"shape":"InstanceRole"}, + "value":{"shape":"Limits"}, + "documentation":"

Map of Role of the Instance and Limits that are applicable. Role performed by given Instance in Elasticsearch can be one of the following:

  • Data: If the given InstanceType is used as Data node
  • Master: If the given InstanceType is used as Master node

" + }, "ListDomainNamesResponse":{ "type":"structure", "members":{ @@ -685,6 +856,76 @@ }, "documentation":"

The result of a ListDomainNames operation. Contains the names of all Elasticsearch domains owned by this account.

" }, + "ListElasticsearchInstanceTypesRequest":{ + "type":"structure", + "required":["ElasticsearchVersion"], + "members":{ + "ElasticsearchVersion":{ + "shape":"ElasticsearchVersionString", + "documentation":"

Version of Elasticsearch for which list of supported elasticsearch instance types are needed.

", + "location":"uri", + "locationName":"ElasticsearchVersion" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for list of available Elasticsearch instance types when modifying existing domain.

", + "location":"querystring", + "locationName":"domainName" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Set this value to limit the number of results returned. Value provided must be greater than 30 else it wont be honored.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Container for the parameters to the ListElasticsearchInstanceTypes operation.

" + }, + "ListElasticsearchInstanceTypesResponse":{ + "type":"structure", + "members":{ + "ElasticsearchInstanceTypes":{ + "shape":"ElasticsearchInstanceTypeList", + "documentation":"

List of instance types supported by Amazon Elasticsearch service for given ElasticsearchVersion

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

In case if there are more results available NextToken would be present, make further request to the same API with received NextToken to paginate remaining results.

" + } + }, + "documentation":"

Container for the parameters returned by ListElasticsearchInstanceTypes operation.

" + }, + "ListElasticsearchVersionsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Set this value to limit the number of results returned. Value provided must be greater than 10 else it wont be honored.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Container for the parameters to the ListElasticsearchVersions operation.

Use MaxResults to control the maximum number of results to retrieve in a single call.

Use NextToken in response to retrieve more results. If the received response does not contain a NextToken, then there are no more results to retrieve.

" + }, + "ListElasticsearchVersionsResponse":{ + "type":"structure", + "members":{ + "ElasticsearchVersions":{"shape":"ElasticsearchVersionList"}, + "NextToken":{"shape":"NextToken"} + }, + "documentation":"

Container for the parameters for response received from ListElasticsearchVersions operation.

" + }, "ListTagsRequest":{ "type":"structure", "required":["ARN"], @@ -708,6 +949,23 @@ }, "documentation":"

The result of a ListTags operation. Contains tags for all requested Elasticsearch domains.

" }, + "MaxResults":{ + "type":"integer", + "documentation":"

Set this value to limit the number of results returned.

", + "max":100 + }, + "MaximumInstanceCount":{ + "type":"integer", + "documentation":"

Maximum number of Instances that can be instantiated for given InstanceType.

" + }, + "MinimumInstanceCount":{ + "type":"integer", + "documentation":"

Minimum number of Instances that can be instantiated for given InstanceType.

" + }, + "NextToken":{ + "type":"string", + "documentation":"

Paginated APIs accepts NextToken input to returns next page results and provides a NextToken output in the response which can be used by the client to retrieve more results.

" + }, "OptionState":{ "type":"string", "documentation":"

The state of a requested change. One of the following:

  • Processing: The request change is still in-process.
  • Active: The request change is processed and deployed to the Elasticsearch domain.
", @@ -818,6 +1076,48 @@ }, "documentation":"

Status of a daily automated snapshot.

" }, + "StorageSubTypeName":{ + "type":"string", + "documentation":"

SubType of the given storage type. List of available sub-storage options: For \"instance\" storageType we wont have any storageSubType, in case of \"ebs\" storageType we will have following valid storageSubTypes

  1. standard
  2. gp2
  3. io1
Refer VolumeType for more information regarding above EBS storage options.

" + }, + "StorageType":{ + "type":"structure", + "members":{ + "StorageTypeName":{"shape":"StorageTypeName"}, + "StorageSubTypeName":{"shape":"StorageSubTypeName"}, + "StorageTypeLimits":{ + "shape":"StorageTypeLimitList", + "documentation":"

List of limits that are applicable for given storage type.

" + } + }, + "documentation":"

StorageTypes represents the list of storage related types and their attributes that are available for given InstanceType.

" + }, + "StorageTypeLimit":{ + "type":"structure", + "members":{ + "LimitName":{ + "shape":"LimitName", + "documentation":"

Name of storage limits that are applicable for given storage type. If StorageType is ebs, following storage options are applicable

  1. MinimumVolumeSize
  2. Minimum amount of volume size that is applicable for given storage type.It can be empty if it is not applicable.
  3. MaximumVolumeSize
  4. Maximum amount of volume size that is applicable for given storage type.It can be empty if it is not applicable.
  5. MaximumIops
  6. Maximum amount of Iops that is applicable for given storage type.It can be empty if it is not applicable.
  7. MinimumIops
  8. Minimum amount of Iops that is applicable for given storage type.It can be empty if it is not applicable.

" + }, + "LimitValues":{ + "shape":"LimitValueList", + "documentation":"

Values for the StorageTypeLimit$LimitName .

" + } + }, + "documentation":"

Limits that are applicable for given storage type.

" + }, + "StorageTypeLimitList":{ + "type":"list", + "member":{"shape":"StorageTypeLimit"} + }, + "StorageTypeList":{ + "type":"list", + "member":{"shape":"StorageType"} + }, + "StorageTypeName":{ + "type":"string", + "documentation":"

Type of the storage. List of available storage options:

  1. instance
  2. Inbuilt storage available for the given Instance
  3. ebs
  4. Elastic block storage that would be attached to the given Instance

" + }, "String":{"type":"string"}, "StringList":{ "type":"list", diff --git a/botocore/data/events/2015-10-07/examples-1.json b/botocore/data/events/2015-10-07/examples-1.json new file mode 100644 index 00000000..faff7689 --- /dev/null +++ b/botocore/data/events/2015-10-07/examples-1.json @@ -0,0 +1,5 @@ +{ + "version":"1.0", + "examples":{ + } +} diff --git a/botocore/data/events/2015-10-07/paginators-1.json b/botocore/data/events/2015-10-07/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/events/2015-10-07/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/events/2015-10-07/service-2.json b/botocore/data/events/2015-10-07/service-2.json index e12350da..3c61d492 100644 --- a/botocore/data/events/2015-10-07/service-2.json +++ b/botocore/data/events/2015-10-07/service-2.json @@ -1,16 +1,15 @@ { "version":"2.0", "metadata":{ - "uid":"events-2015-10-07", "apiVersion":"2015-10-07", "endpointPrefix":"events", "jsonVersion":"1.1", + "protocol":"json", "serviceFullName":"Amazon CloudWatch Events", "signatureVersion":"v4", "targetPrefix":"AWSEvents", - "protocol":"json" + "uid":"events-2015-10-07" }, - "documentation":"

Amazon CloudWatch Events helps you to respond to state changes in your AWS resources. When your resources change state they automatically send events into an event stream. You can create rules that match selected events in the stream and route them to targets to take action. You can also use rules to take action on a pre-determined schedule. For example, you can configure rules to:

  • Automatically invoke an AWS Lambda function to update DNS entries when an event notifies you that Amazon EC2 instance enters the running state.
  • Direct specific API records from CloudTrail to an Amazon Kinesis stream for detailed analysis of potential security or availability risks.
  • Periodically invoke a built-in target to create a snapshot of an Amazon EBS volume.

For more information about Amazon CloudWatch Events features, see the Amazon CloudWatch Developer Guide.

", "operations":{ "DeleteRule":{ "name":"DeleteRule", @@ -18,24 +17,12 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteRuleRequest", - "documentation":"

Container for the parameters to the DeleteRule operation.

" - }, + "input":{"shape":"DeleteRuleRequest"}, "errors":[ - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalException"} ], - "documentation":"

Deletes a rule. You must remove all targets from a rule using RemoveTargets before you can delete the rule.

Note: When you delete a rule, incoming events might still continue to match to the deleted rule. Please allow a short period of time for changes to take effect.

" + "documentation":"

Deletes the specified rule.

You must remove all targets from a rule using RemoveTargets before you can delete the rule.

When you delete a rule, incoming events might continue to match to the deleted rule. Please allow a short period of time for changes to take effect.

" }, "DescribeRule":{ "name":"DescribeRule", @@ -43,28 +30,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeRuleRequest", - "documentation":"

Container for the parameters to the DescribeRule operation.

" - }, - "output":{ - "shape":"DescribeRuleResponse", - "documentation":"

The result of the DescribeRule operation.

" - }, + "input":{"shape":"DescribeRuleRequest"}, + "output":{"shape":"DescribeRuleResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"} ], - "documentation":"

Describes the details of the specified rule.

" + "documentation":"

Describes the specified rule.

" }, "DisableRule":{ "name":"DisableRule", @@ -72,29 +44,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DisableRuleRequest", - "documentation":"

Container for the parameters to the DisableRule operation.

" - }, + "input":{"shape":"DisableRuleRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalException"} ], - "documentation":"

Disables a rule. A disabled rule won't match any events, and won't self-trigger if it has a schedule expression.

Note: When you disable a rule, incoming events might still continue to match to the disabled rule. Please allow a short period of time for changes to take effect.

" + "documentation":"

Disables the specified rule. A disabled rule won't match any events, and won't self-trigger if it has a schedule expression.

When you disable a rule, incoming events might continue to match to the disabled rule. Please allow a short period of time for changes to take effect.

" }, "EnableRule":{ "name":"EnableRule", @@ -102,29 +58,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"EnableRuleRequest", - "documentation":"

Container for the parameters to the EnableRule operation.

" - }, + "input":{"shape":"EnableRuleRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalException"} ], - "documentation":"

Enables a rule. If the rule does not exist, the operation fails.

Note: When you enable a rule, incoming events might not immediately start matching to a newly enabled rule. Please allow a short period of time for changes to take effect.

" + "documentation":"

Enables the specified rule. If the rule does not exist, the operation fails.

When you enable a rule, incoming events might not immediately start matching to a newly enabled rule. Please allow a short period of time for changes to take effect.

" }, "ListRuleNamesByTarget":{ "name":"ListRuleNamesByTarget", @@ -132,23 +72,12 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"ListRuleNamesByTargetRequest", - "documentation":"

Container for the parameters to the ListRuleNamesByTarget operation.

" - }, - "output":{ - "shape":"ListRuleNamesByTargetResponse", - "documentation":"

The result of the ListRuleNamesByTarget operation.

" - }, + "input":{"shape":"ListRuleNamesByTargetRequest"}, + "output":{"shape":"ListRuleNamesByTargetResponse"}, "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"InternalException"} ], - "documentation":"

Lists the names of the rules that the given target is put to. You can see which of the rules in Amazon CloudWatch Events can invoke a specific target in your account. If you have more rules in your account than the given limit, the results will be paginated. In that case, use the next token returned in the response and repeat ListRulesByTarget until the NextToken in the response is returned as null.

" + "documentation":"

Lists the rules for the specified target. You can see which of the rules in Amazon CloudWatch Events can invoke a specific target in your account.

" }, "ListRules":{ "name":"ListRules", @@ -156,23 +85,12 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"ListRulesRequest", - "documentation":"

Container for the parameters to the ListRules operation.

" - }, - "output":{ - "shape":"ListRulesResponse", - "documentation":"

The result of the ListRules operation.

" - }, + "input":{"shape":"ListRulesRequest"}, + "output":{"shape":"ListRulesResponse"}, "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"InternalException"} ], - "documentation":"

Lists the Amazon CloudWatch Events rules in your account. You can either list all the rules or you can provide a prefix to match to the rule names. If you have more rules in your account than the given limit, the results will be paginated. In that case, use the next token returned in the response and repeat ListRules until the NextToken in the response is returned as null.

" + "documentation":"

Lists your Amazon CloudWatch Events rules. You can either list all the rules or you can provide a prefix to match to the rule names.

" }, "ListTargetsByRule":{ "name":"ListTargetsByRule", @@ -180,28 +98,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"ListTargetsByRuleRequest", - "documentation":"

Container for the parameters to the ListTargetsByRule operation.

" - }, - "output":{ - "shape":"ListTargetsByRuleResponse", - "documentation":"

The result of the ListTargetsByRule operation.

" - }, + "input":{"shape":"ListTargetsByRuleRequest"}, + "output":{"shape":"ListTargetsByRuleResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"} ], - "documentation":"

Lists of targets assigned to the rule.

" + "documentation":"

Lists the targets assigned to the specified rule.

" }, "PutEvents":{ "name":"PutEvents", @@ -209,21 +112,10 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"PutEventsRequest", - "documentation":"

Container for the parameters to the PutEvents operation.

" - }, - "output":{ - "shape":"PutEventsResponse", - "documentation":"

The result of the PutEvents operation.

" - }, + "input":{"shape":"PutEventsRequest"}, + "output":{"shape":"PutEventsResponse"}, "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"InternalException"} ], "documentation":"

Sends custom events to Amazon CloudWatch Events so that they can be matched to rules.

" }, @@ -233,38 +125,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"PutRuleRequest", - "documentation":"

Container for the parameters to the PutRule operation.

" - }, - "output":{ - "shape":"PutRuleResponse", - "documentation":"

The result of the PutRule operation.

" - }, + "input":{"shape":"PutRuleRequest"}, + "output":{"shape":"PutRuleResponse"}, "errors":[ - { - "shape":"InvalidEventPatternException", - "exception":true, - "documentation":"

The event pattern is invalid.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"InvalidEventPatternException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalException"} ], - "documentation":"

Creates or updates a rule. Rules are enabled by default, or based on value of the State parameter. You can disable a rule using DisableRule.

Note: When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Please allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule will trigger on matching events as well as on a schedule.

Note: Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

" + "documentation":"

Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule.

When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Please allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

" }, "PutTargets":{ "name":"PutTargets", @@ -272,38 +141,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"PutTargetsRequest", - "documentation":"

Container for the parameters to the PutTargets operation.

" - }, - "output":{ - "shape":"PutTargetsResponse", - "documentation":"

The result of the PutTargets operation.

" - }, + "input":{"shape":"PutTargetsRequest"}, + "output":{"shape":"PutTargetsResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalException"} ], - "documentation":"

Adds target(s) to a rule. Targets are the resources that can be invoked when a rule is triggered. For example, AWS Lambda functions, Amazon Kinesis streams, and built-in targets. Updates the target(s) if they are already associated with the role. In other words, if there is already a target with the given target ID, then the target associated with that ID is updated.

In order to be able to make API calls against the resources you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For Amazon Kinesis streams, CloudWatch Events relies on IAM roles. For more information, see Permissions for Sending Events to Targets in the Amazon CloudWatch Developer Guide.

Input and InputPath are mutually-exclusive and optional parameters of a target. When a rule is triggered due to a matched event, if for a target:

  • Neither Input nor InputPath is specified, then the entire event is passed to the target in JSON form.
  • InputPath is specified in the form of JSONPath (e.g. $.detail), then only the part of the event specified in the path is passed to the target (e.g. only the detail part of the event is passed).
  • Input is specified in the form of a valid JSON, then the matched event is overridden with this constant.

Note: When you add targets to a rule, when the associated rule triggers, new or updated targets might not be immediately invoked. Please allow a short period of time for changes to take effect.

" + "documentation":"

Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.

Targets are the resources that are invoked when a rule is triggered. Example targets include EC2 instances, AWS Lambda functions, Amazon Kinesis streams, Amazon ECS tasks, AWS Step Functions state machines, and built-in targets. Note that creating rules with built-in targets is supported only in the AWS Management Console.

For some target types, PutTargets provides target-specific parameters. If the target is an Amazon Kinesis stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field.

To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For EC2 instances, Amazon Kinesis streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles that you specify in the RoleARN argument in PutTarget. For more information, see Authentication and Access Control in the Amazon CloudWatch Events User Guide.

Input, InputPath and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:

  • If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON form (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).

  • If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.

  • If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).

  • If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.

When you specify Input, InputPath, or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Please allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

" }, "RemoveTargets":{ "name":"RemoveTargets", @@ -311,33 +157,14 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"RemoveTargetsRequest", - "documentation":"

Container for the parameters to the RemoveTargets operation.

" - }, - "output":{ - "shape":"RemoveTargetsResponse", - "documentation":"

The result of the RemoveTargets operation.

" - }, + "input":{"shape":"RemoveTargetsRequest"}, + "output":{"shape":"RemoveTargetsResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalException"} ], - "documentation":"

Removes target(s) from a rule so that when the rule is triggered, those targets will no longer be invoked.

Note: When you remove a target, when the associated rule triggers, removed targets might still continue to be invoked. Please allow a short period of time for changes to take effect.

" + "documentation":"

Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked.

When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Please allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

" }, "TestEventPattern":{ "name":"TestEventPattern", @@ -345,38 +172,28 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"TestEventPatternRequest", - "documentation":"

Container for the parameters to the TestEventPattern operation.

" - }, - "output":{ - "shape":"TestEventPatternResponse", - "documentation":"

The result of the TestEventPattern operation.

" - }, + "input":{"shape":"TestEventPatternRequest"}, + "output":{"shape":"TestEventPatternResponse"}, "errors":[ - { - "shape":"InvalidEventPatternException", - "exception":true, - "documentation":"

The event pattern is invalid.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"InvalidEventPatternException"}, + {"shape":"InternalException"} ], - "documentation":"

Tests whether an event pattern matches the provided event.

Note: Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

" + "documentation":"

Tests whether the specified event pattern matches the provided event.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

" } }, "shapes":{ + "Arn":{ + "type":"string", + "max":1600, + "min":1 + }, "Boolean":{"type":"boolean"}, "ConcurrentModificationException":{ "type":"structure", "members":{ }, - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" + "documentation":"

There is concurrent modification on a rule or target.

", + "exception":true }, "DeleteRuleRequest":{ "type":"structure", @@ -384,10 +201,9 @@ "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The name of the rule to be deleted.

" + "documentation":"

The name of the rule.

" } - }, - "documentation":"

Container for the parameters to the DeleteRule operation.

" + } }, "DescribeRuleRequest":{ "type":"structure", @@ -395,25 +211,24 @@ "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The name of the rule you want to describe details for.

" + "documentation":"

The name of the rule.

" } - }, - "documentation":"

Container for the parameters to the DescribeRule operation.

" + } }, "DescribeRuleResponse":{ "type":"structure", "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The rule's name.

" + "documentation":"

The name of the rule.

" }, "Arn":{ "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) associated with the rule.

" + "documentation":"

The Amazon Resource Name (ARN) of the rule.

" }, "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern.

" + "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" }, "ScheduleExpression":{ "shape":"ScheduleExpression", @@ -425,14 +240,13 @@ }, "Description":{ "shape":"RuleDescription", - "documentation":"

The rule's description.

" + "documentation":"

The description of the rule.

" }, "RoleArn":{ "shape":"RoleArn", "documentation":"

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

" } - }, - "documentation":"

The result of the DescribeRule operation.

" + } }, "DisableRuleRequest":{ "type":"structure", @@ -440,10 +254,24 @@ "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The name of the rule you want to disable.

" + "documentation":"

The name of the rule.

" + } + } + }, + "EcsParameters":{ + "type":"structure", + "required":["TaskDefinitionArn"], + "members":{ + "TaskDefinitionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the task definition to use if the event target is an Amazon ECS cluster.

" + }, + "TaskCount":{ + "shape":"LimitMin1", + "documentation":"

The number of tasks to create based on the TaskDefinition. The default is one.

" } }, - "documentation":"

Container for the parameters to the DisableRule operation.

" + "documentation":"

The custom parameters to be used when the target is an Amazon ECS cluster.

" }, "EnableRuleRequest":{ "type":"structure", @@ -451,10 +279,9 @@ "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The name of the rule that you want to enable.

" + "documentation":"

The name of the rule.

" } - }, - "documentation":"

Container for the parameters to the EnableRule operation.

" + } }, "ErrorCode":{"type":"string"}, "ErrorMessage":{"type":"string"}, @@ -469,33 +296,69 @@ "member":{"shape":"EventResource"} }, "EventTime":{"type":"timestamp"}, + "InputTransformer":{ + "type":"structure", + "required":["InputTemplate"], + "members":{ + "InputPathsMap":{ + "shape":"TransformerPaths", + "documentation":"

Map of JSON paths to be extracted from the event. These are key-value pairs, where each value is a JSON path. You must use JSON dot notation, not bracket notation.

" + }, + "InputTemplate":{ + "shape":"TransformerInput", + "documentation":"

Input template where you can use the values of the keys from InputPathsMap to customize the data sent to the target.

" + } + }, + "documentation":"

Contains the parameters needed for you to provide custom input to a target based on one or more pieces of data extracted from the event.

" + }, + "InputTransformerPathKey":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[A-Za-z0-9\\_\\-]+" + }, "Integer":{"type":"integer"}, "InternalException":{ "type":"structure", "members":{ }, + "documentation":"

This exception occurs due to unexpected causes.

", "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" + "fault":true }, "InvalidEventPatternException":{ "type":"structure", "members":{ }, - "exception":true, - "documentation":"

The event pattern is invalid.

" + "documentation":"

The event pattern is not valid.

", + "exception":true + }, + "KinesisParameters":{ + "type":"structure", + "required":["PartitionKeyPath"], + "members":{ + "PartitionKeyPath":{ + "shape":"TargetPartitionKeyPath", + "documentation":"

The JSON path to be extracted from the event and used as the partition key. For more information, see Amazon Kinesis Streams Key Concepts in the Amazon Kinesis Streams Developer Guide.

" + } + }, + "documentation":"

This object enables you to specify a JSON path to extract from the event and use as the partition key for the Amazon Kinesis stream, so that you can control the shard to which the event goes. If you do not include this parameter, the default is to use the eventId as the partition key.

" }, "LimitExceededException":{ "type":"structure", "members":{ }, - "exception":true, - "documentation":"

This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.

" + "documentation":"

You tried to create more rules or add more targets to a rule than is allowed.

", + "exception":true }, "LimitMax100":{ "type":"integer", - "min":1, - "max":100 + "max":100, + "min":1 + }, + "LimitMin1":{ + "type":"integer", + "min":1 }, "ListRuleNamesByTargetRequest":{ "type":"structure", @@ -503,32 +366,30 @@ "members":{ "TargetArn":{ "shape":"TargetArn", - "documentation":"

The Amazon Resource Name (ARN) of the target resource that you want to list the rules for.

" + "documentation":"

The Amazon Resource Name (ARN) of the target resource.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" + "documentation":"

The token returned by a previous call to retrieve the next set of results.

" }, "Limit":{ "shape":"LimitMax100", "documentation":"

The maximum number of results to return.

" } - }, - "documentation":"

Container for the parameters to the ListRuleNamesByTarget operation.

" + } }, "ListRuleNamesByTargetResponse":{ "type":"structure", "members":{ "RuleNames":{ "shape":"RuleNameList", - "documentation":"

List of rules names that can invoke the given target.

" + "documentation":"

The names of the rules that can invoke the given target.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

Indicates that there are additional results to retrieve.

" + "documentation":"

Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

" } - }, - "documentation":"

The result of the ListRuleNamesByTarget operation.

" + } }, "ListRulesRequest":{ "type":"structure", @@ -539,28 +400,26 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" + "documentation":"

The token returned by a previous call to retrieve the next set of results.

" }, "Limit":{ "shape":"LimitMax100", "documentation":"

The maximum number of results to return.

" } - }, - "documentation":"

Container for the parameters to the ListRules operation.

" + } }, "ListRulesResponse":{ "type":"structure", "members":{ "Rules":{ "shape":"RuleResponseList", - "documentation":"

List of rules matching the specified criteria.

" + "documentation":"

The rules that match the specified criteria.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

Indicates that there are additional results to retrieve.

" + "documentation":"

Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

" } - }, - "documentation":"

The result of the ListRules operation.

" + } }, "ListTargetsByRuleRequest":{ "type":"structure", @@ -568,37 +427,35 @@ "members":{ "Rule":{ "shape":"RuleName", - "documentation":"

The name of the rule whose targets you want to list.

" + "documentation":"

The name of the rule.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" + "documentation":"

The token returned by a previous call to retrieve the next set of results.

" }, "Limit":{ "shape":"LimitMax100", "documentation":"

The maximum number of results to return.

" } - }, - "documentation":"

Container for the parameters to the ListTargetsByRule operation.

" + } }, "ListTargetsByRuleResponse":{ "type":"structure", "members":{ "Targets":{ "shape":"TargetList", - "documentation":"

Lists the targets assigned to the rule.

" + "documentation":"

The targets assigned to the rule.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

Indicates that there are additional results to retrieve.

" + "documentation":"

Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

" } - }, - "documentation":"

The result of the ListTargetsByRule operation.

" + } }, "NextToken":{ "type":"string", - "min":1, - "max":2048 + "max":2048, + "min":1 }, "PutEventsRequest":{ "type":"structure", @@ -608,15 +465,14 @@ "shape":"PutEventsRequestEntryList", "documentation":"

The entry that defines an event in your system. You can specify several parameters for the entry such as the source and type of the event, resources associated with the event, and so on.

" } - }, - "documentation":"

Container for the parameters to the PutEvents operation.

" + } }, "PutEventsRequestEntry":{ "type":"structure", "members":{ "Time":{ "shape":"EventTime", - "documentation":"

Timestamp of event, per RFC3339. If no timestamp is provided, the timestamp of the PutEvents call will be used.

" + "documentation":"

The timestamp of the event, per RFC3339. If no timestamp is provided, the timestamp of the PutEvents call is used.

" }, "Source":{ "shape":"String", @@ -632,16 +488,16 @@ }, "Detail":{ "shape":"String", - "documentation":"

In the JSON sense, an object containing fields, which may also contain nested sub-objects. No constraints are imposed on its contents.

" + "documentation":"

In the JSON sense, an object containing fields, which may also contain nested subobjects. No constraints are imposed on its contents.

" } }, - "documentation":"

Contains information about the event to be used in PutEvents.

" + "documentation":"

Represents an event to be submitted.

" }, "PutEventsRequestEntryList":{ "type":"list", "member":{"shape":"PutEventsRequestEntry"}, - "min":1, - "max":10 + "max":10, + "min":1 }, "PutEventsResponse":{ "type":"structure", @@ -652,28 +508,27 @@ }, "Entries":{ "shape":"PutEventsResultEntryList", - "documentation":"

A list of successfully and unsuccessfully ingested events results. If the ingestion was successful, the entry will have the event ID in it. If not, then the ErrorCode and ErrorMessage can be used to identify the problem with the entry.

" + "documentation":"

The successfully and unsuccessfully ingested events results. If the ingestion was successful, the entry has the event ID in it. Otherwise, you can use the error code and error message to identify the problem with the entry.

" } - }, - "documentation":"

The result of the PutEvents operation.

" + } }, "PutEventsResultEntry":{ "type":"structure", "members":{ "EventId":{ "shape":"EventId", - "documentation":"

The ID of the event submitted to Amazon CloudWatch Events.

" + "documentation":"

The ID of the event.

" }, "ErrorCode":{ "shape":"ErrorCode", - "documentation":"

The error code representing why the event submission failed on this entry.

" + "documentation":"

The error code that indicates why the event submission failed.

" }, "ErrorMessage":{ "shape":"ErrorMessage", - "documentation":"

The error message explaining why the event submission failed on this entry.

" + "documentation":"

The error message that explains why the event submission failed.

" } }, - "documentation":"

A PutEventsResult contains a list of PutEventsResultEntry.

" + "documentation":"

Represents an event that failed to be submitted.

" }, "PutEventsResultEntryList":{ "type":"list", @@ -693,7 +548,7 @@ }, "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern.

" + "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" }, "State":{ "shape":"RuleState", @@ -707,18 +562,16 @@ "shape":"RoleArn", "documentation":"

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

" } - }, - "documentation":"

Container for the parameters to the PutRule operation.

" + } }, "PutRuleResponse":{ "type":"structure", "members":{ "RuleArn":{ "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the rule.

" + "documentation":"

The Amazon Resource Name (ARN) of the rule.

" } - }, - "documentation":"

The result of the PutRule operation.

" + } }, "PutTargetsRequest":{ "type":"structure", @@ -729,14 +582,13 @@ "members":{ "Rule":{ "shape":"RuleName", - "documentation":"

The name of the rule you want to add targets to.

" + "documentation":"

The name of the rule.

" }, "Targets":{ "shape":"TargetList", - "documentation":"

List of targets you want to update or add to the rule.

" + "documentation":"

The targets to update or add to the rule.

" } - }, - "documentation":"

Container for the parameters to the PutTargets operation.

" + } }, "PutTargetsResponse":{ "type":"structure", @@ -747,28 +599,27 @@ }, "FailedEntries":{ "shape":"PutTargetsResultEntryList", - "documentation":"

An array of failed target entries.

" + "documentation":"

The failed target entries.

" } - }, - "documentation":"

The result of the PutTargets operation.

" + } }, "PutTargetsResultEntry":{ "type":"structure", "members":{ "TargetId":{ "shape":"TargetId", - "documentation":"

The ID of the target submitted to Amazon CloudWatch Events.

" + "documentation":"

The ID of the target.

" }, "ErrorCode":{ "shape":"ErrorCode", - "documentation":"

The error code representing why the target submission failed on this entry.

" + "documentation":"

The error code that indicates why the target addition failed. If the value is ConcurrentModificationException, too many requests were made at the same time.

" }, "ErrorMessage":{ "shape":"ErrorMessage", - "documentation":"

The error message explaining why the target submission failed on this entry.

" + "documentation":"

The error message that explains why the target addition failed.

" } }, - "documentation":"

A PutTargetsResult contains a list of PutTargetsResultEntry.

" + "documentation":"

Represents a target that failed to be added to a rule.

" }, "PutTargetsResultEntryList":{ "type":"list", @@ -783,14 +634,13 @@ "members":{ "Rule":{ "shape":"RuleName", - "documentation":"

The name of the rule you want to remove targets from.

" + "documentation":"

The name of the rule.

" }, "Ids":{ "shape":"TargetIdList", - "documentation":"

The list of target IDs to remove from the rule.

" + "documentation":"

The IDs of the targets to remove from the rule.

" } - }, - "documentation":"

Container for the parameters to the RemoveTargets operation.

" + } }, "RemoveTargetsResponse":{ "type":"structure", @@ -801,28 +651,27 @@ }, "FailedEntries":{ "shape":"RemoveTargetsResultEntryList", - "documentation":"

An array of failed target entries.

" + "documentation":"

The failed target entries.

" } - }, - "documentation":"

The result of the RemoveTargets operation.

" + } }, "RemoveTargetsResultEntry":{ "type":"structure", "members":{ "TargetId":{ "shape":"TargetId", - "documentation":"

The ID of the target requested to be removed by Amazon CloudWatch Events.

" + "documentation":"

The ID of the target.

" }, "ErrorCode":{ "shape":"ErrorCode", - "documentation":"

The error code representing why the target removal failed on this entry.

" + "documentation":"

The error code that indicates why the target removal failed. If the value is ConcurrentModificationException, too many requests were made at the same time.

" }, "ErrorMessage":{ "shape":"ErrorMessage", - "documentation":"

The error message explaining why the target removal failed on this entry.

" + "documentation":"

The error message that explains why the target removal failed.

" } }, - "documentation":"

The ID of the target requested to be removed from the rule by Amazon CloudWatch Events.

" + "documentation":"

Represents a target that failed to be removed from a rule.

" }, "RemoveTargetsResultEntryList":{ "type":"list", @@ -832,20 +681,20 @@ "type":"structure", "members":{ }, - "exception":true, - "documentation":"

The rule does not exist.

" + "documentation":"

The rule does not exist.

", + "exception":true }, "RoleArn":{ "type":"string", - "min":1, - "max":1600 + "max":1600, + "min":1 }, "Rule":{ "type":"structure", "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The rule's name.

" + "documentation":"

The name of the rule.

" }, "Arn":{ "shape":"RuleArn", @@ -853,11 +702,11 @@ }, "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern of the rule.

" + "documentation":"

The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" }, "State":{ "shape":"RuleState", - "documentation":"

The rule's state.

" + "documentation":"

The state of the rule.

" }, "Description":{ "shape":"RuleDescription", @@ -869,15 +718,15 @@ }, "RoleArn":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) associated with the role that is used for target invocation.

" + "documentation":"

The Amazon Resource Name (ARN) of the role that is used for target invocation.

" } }, - "documentation":"

Contains information about a rule in Amazon CloudWatch Events. A ListRulesResult contains a list of Rules.

" + "documentation":"

Contains information about a rule in Amazon CloudWatch Events.

" }, "RuleArn":{ "type":"string", - "min":1, - "max":1600 + "max":1600, + "min":1 }, "RuleDescription":{ "type":"string", @@ -885,8 +734,8 @@ }, "RuleName":{ "type":"string", - "min":1, "max":64, + "min":1, "pattern":"[\\.\\-_A-Za-z0-9]+" }, "RuleNameList":{ @@ -904,6 +753,58 @@ "DISABLED" ] }, + "RunCommandParameters":{ + "type":"structure", + "required":["RunCommandTargets"], + "members":{ + "RunCommandTargets":{ + "shape":"RunCommandTargets", + "documentation":"

Currently, we support including only one RunCommandTarget block, which specifies either an array of InstanceIds or a tag.

" + } + }, + "documentation":"

This parameter contains the criteria (either InstanceIds or a tag) used to specify which EC2 instances are to be sent the command.

" + }, + "RunCommandTarget":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{ + "shape":"RunCommandTargetKey", + "documentation":"

Can be either tag: tag-key or InstanceIds.

" + }, + "Values":{ + "shape":"RunCommandTargetValues", + "documentation":"

If Key is tag: tag-key, Values is a list of tag values. If Key is InstanceIds, Values is a list of Amazon EC2 instance IDs.

" + } + }, + "documentation":"

Information about the EC2 instances that are to be sent the command, specified as key-value pairs. Each RunCommandTarget block can include only one key, but this key may specify multiple values.

" + }, + "RunCommandTargetKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$" + }, + "RunCommandTargetValue":{ + "type":"string", + "max":256, + "min":1 + }, + "RunCommandTargetValues":{ + "type":"list", + "member":{"shape":"RunCommandTargetValue"}, + "max":50, + "min":1 + }, + "RunCommandTargets":{ + "type":"list", + "member":{"shape":"RunCommandTarget"}, + "max":5, + "min":1 + }, "ScheduleExpression":{ "type":"string", "max":256 @@ -918,39 +819,59 @@ "members":{ "Id":{ "shape":"TargetId", - "documentation":"

The unique target assignment ID.

" + "documentation":"

The ID of the target.

" }, "Arn":{ "shape":"TargetArn", - "documentation":"

The Amazon Resource Name (ARN) associated of the target.

" + "documentation":"

The Amazon Resource Name (ARN) of the target.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. If one rule triggers multiple targets, you can use a different IAM role for each target.

" }, "Input":{ "shape":"TargetInput", - "documentation":"

Valid JSON text passed to the target. For more information about JSON text, see The JavaScript Object Notation (JSON) Data Interchange Format.

" + "documentation":"

Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. You must use JSON dot notation, not bracket notation. For more information, see The JavaScript Object Notation (JSON) Data Interchange Format.

" }, "InputPath":{ "shape":"TargetInputPath", - "documentation":"

The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. For more information about JSON paths, see JSONPath.

" + "documentation":"

The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. You must use JSON dot notation, not bracket notation. For more information about JSON paths, see JSONPath.

" + }, + "InputTransformer":{ + "shape":"InputTransformer", + "documentation":"

Settings to enable you to provide custom input to a target based on certain event data. You can extract one or more key-value pairs from the event and then use that data to send customized input to the target.

" + }, + "KinesisParameters":{ + "shape":"KinesisParameters", + "documentation":"

The custom parameter you can use to control shard assignment, when the target is an Amazon Kinesis stream. If you do not include this parameter, the default is to use the eventId as the partition key.

" + }, + "RunCommandParameters":{ + "shape":"RunCommandParameters", + "documentation":"

Parameters used when you are using the rule to invoke Amazon EC2 Run Command.

" + }, + "EcsParameters":{ + "shape":"EcsParameters", + "documentation":"

Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task Definitions in the Amazon EC2 Container Service Developer Guide.

" } }, - "documentation":"

Targets are the resources that can be invoked when a rule is triggered. For example, AWS Lambda functions, Amazon Kinesis streams, and built-in targets.

Input and InputPath are mutually-exclusive and optional parameters of a target. When a rule is triggered due to a matched event, if for a target:

  • Neither Input nor InputPath is specified, then the entire event is passed to the target in JSON form.
  • InputPath is specified in the form of JSONPath (e.g. $.detail), then only the part of the event specified in the path is passed to the target (e.g. only the detail part of the event is passed).
  • Input is specified in the form of a valid JSON, then the matched event is overridden with this constant.
" + "documentation":"

Targets are the resources to be invoked when a rule is triggered. Target types include EC2 instances, AWS Lambda functions, Amazon Kinesis streams, Amazon ECS tasks, AWS Step Functions state machines, Run Command, and built-in targets.

" }, "TargetArn":{ "type":"string", - "min":1, - "max":1600 + "max":1600, + "min":1 }, "TargetId":{ "type":"string", - "min":1, "max":64, + "min":1, "pattern":"[\\.\\-_A-Za-z0-9]+" }, "TargetIdList":{ "type":"list", "member":{"shape":"TargetId"}, - "min":1, - "max":100 + "max":100, + "min":1 }, "TargetInput":{ "type":"string", @@ -962,7 +883,13 @@ }, "TargetList":{ "type":"list", - "member":{"shape":"Target"} + "member":{"shape":"Target"}, + "max":100, + "min":1 + }, + "TargetPartitionKeyPath":{ + "type":"string", + "max":256 }, "TestEventPatternRequest":{ "type":"structure", @@ -973,14 +900,13 @@ "members":{ "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern you want to test.

" + "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" }, "Event":{ "shape":"String", - "documentation":"

The event in the JSON format to test against the event pattern.

" + "documentation":"

The event, in JSON format, to test against the event pattern.

" } - }, - "documentation":"

Container for the parameters to the TestEventPattern operation.

" + } }, "TestEventPatternResponse":{ "type":"structure", @@ -989,10 +915,19 @@ "shape":"Boolean", "documentation":"

Indicates whether the event matches the event pattern.

" } - }, - "documentation":"

The result of the TestEventPattern operation.

" + } + }, + "TransformerInput":{ + "type":"string", + "max":8192, + "min":1 + }, + "TransformerPaths":{ + "type":"map", + "key":{"shape":"InputTransformerPathKey"}, + "value":{"shape":"TargetInputPath"}, + "max":10 } }, - "examples":{ - } + "documentation":"

Amazon CloudWatch Events helps you to respond to state changes in your AWS resources. When your resources change state, they automatically send events into an event stream. You can create rules that match selected events in the stream and route them to targets to take action. You can also use rules to take action on a pre-determined schedule. For example, you can configure rules to:

  • Automatically invoke an AWS Lambda function to update DNS entries when an event notifies you that Amazon EC2 instance enters the running state.

  • Direct specific API records from CloudTrail to an Amazon Kinesis stream for detailed analysis of potential security or availability risks.

  • Periodically invoke a built-in target to create a snapshot of an Amazon EBS volume.

For more information about the features of Amazon CloudWatch Events, see the Amazon CloudWatch Events User Guide.

" } diff --git a/botocore/data/firehose/2015-08-04/examples-1.json b/botocore/data/firehose/2015-08-04/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/firehose/2015-08-04/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/gamelift/2015-10-01/examples-1.json b/botocore/data/gamelift/2015-10-01/examples-1.json new file mode 100755 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/gamelift/2015-10-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/gamelift/2015-10-01/paginators-1.json b/botocore/data/gamelift/2015-10-01/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/gamelift/2015-10-01/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/gamelift/2015-10-01/service-2.json b/botocore/data/gamelift/2015-10-01/service-2.json old mode 100755 new mode 100644 index 10c259a1..483cd5f4 --- a/botocore/data/gamelift/2015-10-01/service-2.json +++ b/botocore/data/gamelift/2015-10-01/service-2.json @@ -1,14 +1,14 @@ { "version":"2.0", "metadata":{ - "uid":"gamelift-2015-10-01", "apiVersion":"2015-10-01", "endpointPrefix":"gamelift", "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon GameLift", "signatureVersion":"v4", - "targetPrefix":"GameLift" + "targetPrefix":"GameLift", + "uid":"gamelift-2015-10-01" }, "operations":{ "CreateAlias":{ @@ -26,7 +26,7 @@ {"shape":"InternalServiceException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates an alias for a fleet. You can use an alias to anonymize your fleet by referencing an alias instead of a specific fleet when you create game sessions. Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. Use a simple alias to point to an active fleet. Use a terminal alias to display a message to incoming traffic instead of routing players to an active fleet. This option is useful when a game server is no longer supported but you want to provide better messaging than a standard 404 error.

To create a fleet alias, specify an alias name, routing strategy, and optional description. If successful, a new alias record is returned, including an alias ID, which you can reference when creating a game session. To reassign the alias to another fleet ID, call UpdateAlias.

" + "documentation":"

Creates an alias and sets a target fleet. A fleet alias can be used in place of a fleet ID, such as when calling CreateGameSession from a game client or game service or adding destinations to a game session queue. By changing an alias's target fleet, you can switch your players to the new fleet without changing any other component. In production, this feature is particularly useful to redirect your player base seamlessly to the latest game server update.

Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. Use a simple alias to point to an active fleet. Use a terminal alias to display a message to incoming traffic instead of routing players to an active fleet. This option is useful when a game server is no longer supported but you want to provide better messaging than a standard 404 error.

To create a fleet alias, specify an alias name, routing strategy, and optional description. If successful, a new alias record is returned, including an alias ID, which you can reference when creating a game session. To reassign the alias to another fleet ID, call UpdateAlias.

" }, "CreateBuild":{ "name":"CreateBuild", @@ -42,7 +42,7 @@ {"shape":"ConflictException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Initializes a new build record and generates information required to upload a game build to Amazon GameLift. Once the build record has been created and its status is INITIALIZED, you can upload your game build.

Do not use this API action unless you are using your own Amazon Simple Storage Service (Amazon S3) client and need to manually upload your build files. Instead, to create a build, use the CLI command upload-build, which creates a new build record and uploads the build files in one step. (See the Amazon GameLift Developer Guide help on packaging and uploading your build.)

To create a new build, identify the operating system of the game server binaries. All game servers in a build must use the same operating system. Optionally, specify a build name and version; this metadata is stored with other properties in the build record and is displayed in the GameLift console (it is not visible to players). If successful, this action returns the newly created build record along with the Amazon S3 storage location and AWS account credentials. Use the location and credentials to upload your game build.

" + "documentation":"

Creates a new Amazon GameLift build from a set of game server binary files stored in an Amazon Simple Storage Service (Amazon S3) location. When using this API call, you must create a .zip file containing all of the build files and store it in an Amazon S3 bucket under your AWS account. For help on packaging your build files and creating a build, see Uploading Your Game to Amazon GameLift.

Use this API action ONLY if you are storing your game build files in an Amazon S3 bucket in your AWS account. To create a build using files stored in a directory, use the CLI command upload-build , which uploads the build files from a file location you specify and creates a build.

To create a new build using CreateBuild, identify the storage location and operating system of your game build. You also have the option of specifying a build name and version. If successful, this action creates a new build record with an unique build ID and in INITIALIZED status. Use the API call DescribeBuild to check the status of your build. A build must be in READY status before it can be used to create fleets to host your game.

" }, "CreateFleet":{ "name":"CreateFleet", @@ -60,7 +60,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You configure a fleet to create instances with certain hardware specifications (see Amazon EC2 Instance Types for more information), and deploy a specified game build to each instance. A newly created fleet passes through several statuses; once it reaches the ACTIVE status, it can begin hosting game sessions.

To create a new fleet, provide a fleet name, an EC2 instance type, and a build ID of the game build to deploy. You can also configure the new fleet with the following settings: (1) a runtime configuration describing what server processes to run on each instance in the fleet (required to create fleet), (2) access permissions for inbound traffic, (3) fleet-wide game session protection, and (4) the location of default log files for GameLift to upload and store.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks:

  • Creates a fleet record and sets the status to NEW (followed by other statuses as the fleet is activated).

  • Sets the fleet's capacity to 1 \"desired\", which causes GameLift to start one new EC2 instance.

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, GameLift staggers each launch by a few seconds.

  • Begins writing events to the fleet event log, which can be accessed in the GameLift console.

  • Sets the fleet's status to ACTIVE once one server process in the fleet is ready to host a game session.

After a fleet is created, use the following actions to change fleet properties and configuration:

  • UpdateFleetAttributes -- Update fleet metadata, including name and description.

  • UpdateFleetCapacity -- Increase or decrease the number of instances you want the fleet to maintain.

  • UpdateFleetPortSettings -- Change the IP address and port ranges that allow access to incoming traffic.

  • UpdateRuntimeConfiguration -- Change how server processes are launched in the fleet, including launch path, launch parameters, and the number of concurrent processes.

" + "documentation":"

Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You configure a fleet to create instances with certain hardware specifications (see Amazon EC2 Instance Types for more information), and deploy a specified game build to each instance. A newly created fleet passes through several statuses; once it reaches the ACTIVE status, it can begin hosting game sessions.

To create a new fleet, you must specify the following: (1) fleet name, (2) build ID of an uploaded game build, (3) an EC2 instance type, and (4) a runtime configuration that describes which server processes to run on each instance in the fleet. (Although the runtime configuration is not a required parameter, the fleet cannot be successfully created without it.) You can also configure the new fleet with the following settings: fleet description, access permissions for inbound traffic, fleet-wide game session protection, and resource creation limit. If you use Amazon CloudWatch for metrics, you can add the new fleet to a metric group, which allows you to view aggregated metrics for a set of fleets. Once you specify a metric group, the new fleet's metrics are included in the metric group's data.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks:

  • Creates a fleet record and sets the status to NEW (followed by other statuses as the fleet is activated).

  • Sets the fleet's capacity to 1 \"desired\", which causes Amazon GameLift to start one new EC2 instance.

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each launch by a few seconds.

  • Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.

  • Sets the fleet's status to ACTIVE once one server process in the fleet is ready to host a game session.

After a fleet is created, use the following actions to change fleet properties and configuration:

  • UpdateFleetAttributes -- Update fleet metadata, including name and description.

  • UpdateFleetCapacity -- Increase or decrease the number of instances you want the fleet to maintain.

  • UpdateFleetPortSettings -- Change the IP address and port ranges that allow access to incoming traffic.

  • UpdateRuntimeConfiguration -- Change how server processes are launched in the fleet, including launch path, launch parameters, and the number of concurrent processes.

  • PutScalingPolicy -- Create or update rules that are used to set the fleet's capacity (autoscaling).

" }, "CreateGameSession":{ "name":"CreateGameSession", @@ -82,7 +82,23 @@ {"shape":"LimitExceededException"}, {"shape":"IdempotentParameterMismatchException"} ], - "documentation":"

Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must be in an ACTIVE status before a game session can be created in it.

To create a game session, specify either fleet ID or alias ID, and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a GameSession object is returned containing session properties, including an IP address. By default, newly created game sessions allow new players to join. Use UpdateGameSession to change the game sessions player session creation policy.

When creating a game session on a fleet with a resource limit creation policy, the request should include a creator ID. If none is provided, GameLift does not evaluate the fleet's resource limit creation policy.

" + "documentation":"

Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must have an ACTIVE status before a game session can be created in it.

To create a game session, specify either fleet ID or alias ID and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a GameSession object is returned containing game session properties, including a game session ID with the custom string you provided.

Idempotency tokens. You can add a token that uniquely identifies game session requests. This is useful for ensuring that game session requests are idempotent. Multiple requests with the same idempotency token are processed only once; subsequent requests return the original result. All response values are the same with the exception of game session status, which may change.

Resource creation limits. If you are creating a game session on a fleet with a resource creation limit policy in force, then you must specify a creator ID. Without this ID, Amazon GameLift has no way to evaluate the policy for this new game session request.

By default, newly created game sessions allow new players to join. Use UpdateGameSession to change the game session's player session creation policy.

Available in Amazon GameLift Local.

" + }, + "CreateGameSessionQueue":{ + "name":"CreateGameSessionQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGameSessionQueueInput"}, + "output":{"shape":"CreateGameSessionQueueOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Establishes a new queue for processing requests to place new game sessions. A queue identifies where new game sessions can be hosted -- by specifying a list of destinations (fleets or aliases) -- and how long requests can wait in the queue before timing out. You can set up a queue to try to place game sessions on fleets in multiple regions. To add placement requests to a queue, call StartGameSessionPlacement and reference the queue name.

Destination order. When processing a request for a game session, Amazon GameLift tries each destination in order until it finds one with available resources to host the new game session. A queue's default order is determined by how destinations are listed. The default order is overridden when a game session placement request provides player latency information. Player latency information enables Amazon GameLift to prioritize destinations where players report the lowest average latency, as a result placing the new game session where the majority of players will have the best possible gameplay experience.

Player latency policies. For placement requests containing player latency information, use player latency policies to protect individual players from very high latencies. With a latency cap, even when a destination can deliver a low latency for most players, the game is not placed where any individual player is reporting latency higher than a policy's maximum. A queue can have multiple latency policies, which are enforced consecutively starting with the policy with the lowest latency cap. Use multiple policies to gradually relax latency controls; for example, you might set a policy with a low latency cap for the first 60 seconds, a second policy with a higher cap for the next 60 seconds, etc.

To create a new queue, provide a name, timeout value, a list of destinations and, if desired, a set of latency policies. If successful, a new queue object is returned.

" }, "CreatePlayerSession":{ "name":"CreatePlayerSession", @@ -101,7 +117,7 @@ {"shape":"InvalidRequestException"}, {"shape":"NotFoundException"} ], - "documentation":"

Adds a player to a game session and creates a player session record. A game session must be in an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot before players can be added to the session.

To create a player session, specify a game session ID and player ID. If successful, the player is added to the game session and a new PlayerSession object is returned.

" + "documentation":"

Adds a player to a game session and creates a player session record. Before a player can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a group of players to a game session, use CreatePlayerSessions.

To create a player session, specify a game session ID, player ID, and optionally a string of player data. If successful, the player is added to the game session and a new PlayerSession object is returned. Player sessions cannot be updated.

Available in Amazon GameLift Local.

" }, "CreatePlayerSessions":{ "name":"CreatePlayerSessions", @@ -120,7 +136,7 @@ {"shape":"InvalidRequestException"}, {"shape":"NotFoundException"} ], - "documentation":"

Adds a group of players to a game session. Similar to CreatePlayerSession, this action allows you to add multiple players in a single call, which is useful for games that provide party and/or matchmaking features. A game session must be in an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot before players can be added to the session.

To create player sessions, specify a game session ID and a list of player IDs. If successful, the players are added to the game session and a set of new PlayerSession objects is returned.

" + "documentation":"

Adds a group of players to a game session. This action is useful with a team matching feature. Before players can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a single player to a game session, use CreatePlayerSession.

To create player sessions, specify a game session ID, a list of player IDs, and optionally a set of player data strings. If successful, the players are added to the game session and a set of new PlayerSession objects is returned. Player sessions cannot be updated.

Available in Amazon GameLift Local.

" }, "DeleteAlias":{ "name":"DeleteAlias", @@ -135,7 +151,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Deletes an alias. This action removes all record of the alias; game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.

" + "documentation":"

Deletes a fleet alias. This action removes all record of the alias. Game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.

" }, "DeleteBuild":{ "name":"DeleteBuild", @@ -168,6 +184,22 @@ ], "documentation":"

Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See UpdateFleetCapacity.

This action removes the fleet's resources and the fleet record. Once a fleet is deleted, you can no longer use that fleet.

" }, + "DeleteGameSessionQueue":{ + "name":"DeleteGameSessionQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGameSessionQueueInput"}, + "output":{"shape":"DeleteGameSessionQueueOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Deletes a game session queue. This action means that any StartGameSessionPlacement requests that reference this queue will fail. To delete a queue, specify the queue name.

" + }, "DeleteScalingPolicy":{ "name":"DeleteScalingPolicy", "http":{ @@ -197,7 +229,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves properties for a specified alias. To get the alias, specify an alias ID. If successful, an Alias object is returned.

" + "documentation":"

Retrieves properties for a fleet alias. This operation returns all alias metadata and settings. To get just the fleet ID an alias is currently pointing to, use ResolveAlias.

To get alias properties, specify the alias ID. If successful, an Alias object is returned.

" }, "DescribeBuild":{ "name":"DescribeBuild", @@ -228,7 +260,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves the following information for the specified EC2 instance type:

  • maximum number of instances allowed per AWS account (service limit)

  • current usage level for the AWS account

Service limits vary depending on region. Available regions for GameLift can be found in the AWS Management Console for GameLift (see the drop-down list in the upper right corner).

" + "documentation":"

Retrieves the following information for the specified EC2 instance type:

  • maximum number of instances allowed per AWS account (service limit)

  • current usage level for the AWS account

Service limits vary depending on region. Available regions for Amazon GameLift can be found in the AWS Management Console for Amazon GameLift (see the drop-down list in the upper right corner).

" }, "DescribeFleetAttributes":{ "name":"DescribeFleetAttributes", @@ -325,7 +357,39 @@ {"shape":"UnauthorizedException"}, {"shape":"TerminalRoutingStrategyException"} ], - "documentation":"

Retrieves properties, including the protection policy in force, for one or more game sessions. This action can be used in several ways: (1) provide a GameSessionId to request details for a specific game session; (2) provide either a FleetId or an AliasId to request properties for all game sessions running on a fleet.

To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionDetail object is returned for each session matching the request.

" + "documentation":"

Retrieves properties, including the protection policy in force, for one or more game sessions. This action can be used in several ways: (1) provide a GameSessionId or GameSessionArn to request details for a specific game session; (2) provide either a FleetId or an AliasId to request properties for all game sessions running on a fleet.

To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionDetail object is returned for each session matching the request.

" + }, + "DescribeGameSessionPlacement":{ + "name":"DescribeGameSessionPlacement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGameSessionPlacementInput"}, + "output":{"shape":"DescribeGameSessionPlacementOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Retrieves properties and current status of a game session placement request. To get game session placement details, specify the placement ID. If successful, a GameSessionPlacement object is returned.

" + }, + "DescribeGameSessionQueues":{ + "name":"DescribeGameSessionQueues", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGameSessionQueuesInput"}, + "output":{"shape":"DescribeGameSessionQueuesOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Retrieves the properties for one or more game session queues. When requesting multiple queues, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionQueue object is returned for each requested queue. When specifying a list of queues, objects are returned only for queues that currently exist in the region.

" }, "DescribeGameSessions":{ "name":"DescribeGameSessions", @@ -342,7 +406,7 @@ {"shape":"UnauthorizedException"}, {"shape":"TerminalRoutingStrategyException"} ], - "documentation":"

Retrieves a set of one or more game sessions and properties. This action can be used in several ways: (1) provide a GameSessionId to request properties for a specific game session; (2) provide a FleetId or an AliasId to request properties for all game sessions running on a fleet. You can also use SearchGameSessions, which allows you to retrieve all game sessions or filter on certain criteria, but only returns game sessions with a status of ACTIVE. If you need to retrieve the protection policy for each game session, use DescribeGameSessionDetails.

To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSession object is returned for each session matching the request.

" + "documentation":"

Retrieves a set of one or more game sessions. Request a specific game session or request all game sessions on a fleet. Alternatively, use SearchGameSessions to request a set of active game sessions that are filtered by certain criteria. To retrieve protection policy settings for game sessions, use DescribeGameSessionDetails.

To get game sessions, specify one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSession object is returned for each game session matching the request.

Available in Amazon GameLift Local.

" }, "DescribeInstances":{ "name":"DescribeInstances", @@ -374,7 +438,7 @@ {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a PlayerSessionId parameter to request properties for a specific player session; (2) provide a GameSessionId parameter to request properties for all player sessions in the specified game session; (3) provide a PlayerId parameter to request properties for all player sessions of a specified player.

To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a PlayerSession object is returned for each session matching the request.

" + "documentation":"

Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a PlayerSessionId to request properties for a specific player session; (2) provide a GameSessionId to request properties for all player sessions in the specified game session; (3) provide a PlayerId to request properties for all player sessions of a specified player.

To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a PlayerSession object is returned for each session matching the request.

Available in Amazon GameLift Local.

" }, "DescribeRuntimeConfiguration":{ "name":"DescribeRuntimeConfiguration", @@ -390,7 +454,7 @@ {"shape":"InternalServiceException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Retrieves the current runtime configuration for the specified fleet. The runtime configuration tells GameLift how to launch server processes on instances in the fleet.

" + "documentation":"

Retrieves the current runtime configuration for the specified fleet. The runtime configuration tells Amazon GameLift how to launch server processes on instances in the fleet.

" }, "DescribeScalingPolicies":{ "name":"DescribeScalingPolicies", @@ -438,7 +502,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Requests remote access to a fleet instance. Remote access is useful for debugging, gathering benchmarking data, or watching activity in real time.

Access requires credentials that match the operating system of the instance. For a Windows instance, GameLift returns a username and password as strings for use with a Windows Remote Desktop client. For a Linux instance, GameLift returns a username and RSA private key, also as strings, for use with an SSH client. The private key must be saved in the proper format to a .pem file before using. If you're making this request using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess request (see the example later in this topic). For more information on remote access, see Remotely Accessing an Instance.

To request access to a specific instance, specify the IDs of the instance and the fleet it belongs to. If successful, an InstanceAccess object is returned containing the instance's IP address and a set of credentials.

" + "documentation":"

Requests remote access to a fleet instance. Remote access is useful for debugging, gathering benchmarking data, or watching activity in real time.

Access requires credentials that match the operating system of the instance. For a Windows instance, Amazon GameLift returns a user name and password as strings for use with a Windows Remote Desktop client. For a Linux instance, Amazon GameLift returns a user name and RSA private key, also as strings, for use with an SSH client. The private key must be saved in the proper format to a .pem file before using. If you're making this request using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess request. (See the example later in this topic). For more information on remote access, see Remotely Accessing an Instance.

To request access to a specific instance, specify the IDs of the instance and the fleet it belongs to. If successful, an InstanceAccess object is returned containing the instance's IP address and a set of credentials.

" }, "ListAliases":{ "name":"ListAliases", @@ -516,7 +580,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves a fresh set of upload credentials and the assigned Amazon S3 storage location for a specific build. Valid credentials are required to upload your game build files to Amazon S3.

Call this action only if you need credentials for a build created with CreateBuild . This is a rare situation; in most cases, builds are created using the CLI command upload-build, which creates a build record and also uploads build files.

Upload credentials are returned when you create the build, but they have a limited lifespan. You can get fresh credentials and use them to re-upload game files until the status of that build changes to READY. Once this happens, you must create a brand new build.

" + "documentation":"

This API call is not currently in use. Retrieves a fresh set of upload credentials and the assigned Amazon S3 storage location for a specific build. Valid credentials are required to upload your game build files to Amazon S3.

" }, "ResolveAlias":{ "name":"ResolveAlias", @@ -550,7 +614,39 @@ {"shape":"UnauthorizedException"}, {"shape":"TerminalRoutingStrategyException"} ], - "documentation":"

Retrieves a set of game sessions that match a set of search criteria and sorts them in a specified order. Currently a game session search is limited to a single fleet. Search results include only game sessions that are in ACTIVE status. If you need to retrieve game sessions with a status other than active, use DescribeGameSessions. If you need to retrieve the protection policy for each game session, use DescribeGameSessionDetails.

You can search or sort by the following game session attributes:

  • gameSessionId -- ID value assigned to a game session. This unique value is returned in a GameSession object when a new game session is created.

  • gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session.

  • creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.

  • playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.

  • maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession.

  • hasAvailablePlayerSessions -- Boolean value indicating whether or not a game session has reached its maximum number of players. When searching with this attribute, the search value must be true or false. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join.

To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of GameSession objects matching the request is returned.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

" + "documentation":"

Retrieves a set of game sessions that match a set of search criteria and sorts them in a specified order. Currently a game session search is limited to a single fleet. Search results include only game sessions that are in ACTIVE status. If you need to retrieve game sessions with a status other than active, use DescribeGameSessions. If you need to retrieve the protection policy for each game session, use DescribeGameSessionDetails.

You can search or sort by the following game session attributes:

  • gameSessionId -- Unique identifier for the game session. You can use either a GameSessionId or GameSessionArn value.

  • gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session.

  • creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.

  • playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.

  • maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession.

  • hasAvailablePlayerSessions -- Boolean value indicating whether or not a game session has reached its maximum number of players. When searching with this attribute, the search value must be true or false. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join.

To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of GameSession objects matching the request is returned.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

Available in Amazon GameLift Local.

" + }, + "StartGameSessionPlacement":{ + "name":"StartGameSessionPlacement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartGameSessionPlacementInput"}, + "output":{"shape":"StartGameSessionPlacementOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Places a request for a new game session in a queue (see CreateGameSessionQueue). When processing a placement request, Amazon GameLift searches for available resources on the queue's destinations, scanning each until it finds resources or the placement request times out.

A game session placement request can also request player sessions. When a new game session is successfully created, Amazon GameLift creates a player session for each player included in the request.

When placing a game session, by default Amazon GameLift tries each fleet in the order they are listed in the queue configuration. Ideally, a queue's destinations are listed in preference order.

Alternatively, when requesting a game session with players, you can also provide latency data for each player in relevant regions. Latency data indicates the performance lag a player experiences when connected to a fleet in the region. Amazon GameLift uses latency data to reorder the list of destinations to place the game session in a region with minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each region's average lag for all players and reorders to get the best game play across all players.

To place a new game session request, specify the following:

  • The queue name and a set of game session properties and settings

  • A unique ID (such as a UUID) for the placement. You use this ID to track the status of the placement request

  • (Optional) A set of IDs and player data for each player you want to join to the new game session

  • Latency data for all players (if you want to optimize game play for the players)

If successful, a new game session placement is created.

To track the status of a placement request, call DescribeGameSessionPlacement and check the request's status. If the status is Fulfilled, a new game session has been created and a game session ARN and region are referenced. If the placement request times out, you can resubmit the request or retry it with a different queue.

" + }, + "StopGameSessionPlacement":{ + "name":"StopGameSessionPlacement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopGameSessionPlacementInput"}, + "output":{"shape":"StopGameSessionPlacementOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Cancels a game session placement that is in Pending status. To stop a placement, provide the placement ID values. If successful, the placement is moved to Cancelled status.

" }, "UpdateAlias":{ "name":"UpdateAlias", @@ -566,7 +662,7 @@ {"shape":"NotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.

" + "documentation":"

Updates properties for a fleet alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.

" }, "UpdateBuild":{ "name":"UpdateBuild", @@ -659,6 +755,22 @@ ], "documentation":"

Updates game session properties. This includes the session name, maximum player count, protection policy, which controls whether or not an active game session can be terminated during a scale-down event, and the player session creation policy, which controls whether or not new players can join the session. To update a game session, specify the game session ID and the values you want to change. If successful, an updated GameSession object is returned.

" }, + "UpdateGameSessionQueue":{ + "name":"UpdateGameSessionQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGameSessionQueueInput"}, + "output":{"shape":"UpdateGameSessionQueueOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Updates settings for a game session queue, which determines how new game session requests in the queue are processed. To update settings, specify the queue name to be updated and provide the new settings. When updating destinations, provide a complete list of destinations.

" + }, "UpdateRuntimeConfiguration":{ "name":"UpdateRuntimeConfiguration", "http":{ @@ -674,7 +786,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InvalidFleetStatusException"} ], - "documentation":"

Updates the current runtime configuration for the specified fleet, which tells GameLift how to launch server processes on instances in the fleet. You can update a fleet's runtime configuration at any time after the fleet is created; it does not need to be in an ACTIVE status.

To update runtime configuration, specify the fleet ID and provide a RuntimeConfiguration object with the updated collection of server process configurations.

Each instance in a GameLift fleet checks regularly for an updated runtime configuration and changes how it launches server processes to comply with the latest version. Existing server processes are not affected by the update; they continue to run until they end, while GameLift simply adds new server processes to fit the current runtime configuration. As a result, the runtime configuration changes are applied gradually as existing processes shut down and new processes are launched in GameLift's normal process recycling activity.

" + "documentation":"

Updates the current runtime configuration for the specified fleet, which tells Amazon GameLift how to launch server processes on instances in the fleet. You can update a fleet's runtime configuration at any time after the fleet is created; it does not need to be in an ACTIVE status.

To update runtime configuration, specify the fleet ID and provide a RuntimeConfiguration object with the updated collection of server process configurations.

Each instance in a Amazon GameLift fleet checks regularly for an updated runtime configuration and changes how it launches server processes to comply with the latest version. Existing server processes are not affected by the update; they continue to run until they end, while Amazon GameLift simply adds new server processes to fit the current runtime configuration. As a result, the runtime configuration changes are applied gradually as existing processes shut down and new processes are launched in Amazon GameLift's normal process recycling activity.

" } }, "shapes":{ @@ -683,27 +795,34 @@ "members":{ "AliasId":{ "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias.

" + "documentation":"

Unique identifier for an alias; alias IDs are unique within a region.

" }, "Name":{ "shape":"NonBlankAndLengthConstraintString", - "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with an alias. Alias names do not need to be unique.

" + }, + "AliasArn":{ + "shape":"ArnStringModel", + "documentation":"

Unique identifier for an alias; alias ARNs are unique across all regions.

" }, "Description":{ "shape":"FreeText", "documentation":"

Human-readable description of an alias.

" }, - "RoutingStrategy":{"shape":"RoutingStrategy"}, + "RoutingStrategy":{ + "shape":"RoutingStrategy", + "documentation":"

Alias configuration for the alias, including routing type and settings.

" + }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, "LastUpdatedTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was last modified. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, - "documentation":"

Properties describing a fleet alias.

" + "documentation":"

Properties describing a fleet alias.

Alias-related operations include:

" }, "AliasId":{ "type":"string", @@ -735,7 +854,7 @@ "documentation":"

Token specific to a build ID.

" } }, - "documentation":"

AWS access credentials required to upload game build files to Amazon GameLift. These credentials are generated with CreateBuild, and are valid for a limited time. If they expire before you upload your game build, get a new set by calling RequestUploadCredentials.

", + "documentation":"

AWS access credentials sometimes used for uploading game build files to Amazon GameLift. They are valid for a limited time. If they expire before you upload your game build, get a new set by calling RequestUploadCredentials.

", "sensitive":true }, "Build":{ @@ -747,11 +866,11 @@ }, "Name":{ "shape":"FreeText", - "documentation":"

Descriptive label associated with a build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild.

" + "documentation":"

Descriptive label that is associated with a build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild.

" }, "Version":{ "shape":"FreeText", - "documentation":"

Version associated with this build. Version strings do not need to be unique to a build. This value can be set using CreateBuild or UpdateBuild.

" + "documentation":"

Version that is associated with this build. Version strings do not need to be unique. This value can be set using CreateBuild or UpdateBuild.

" }, "Status":{ "shape":"BuildStatus", @@ -767,10 +886,10 @@ }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, - "documentation":"

Properties describing a game build.

" + "documentation":"

Properties describing a game build.

Build-related operations include:

" }, "BuildId":{ "type":"string", @@ -814,7 +933,7 @@ "members":{ "Name":{ "shape":"NonBlankAndLengthConstraintString", - "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with an alias. Alias names do not need to be unique.

" }, "Description":{ "shape":"NonZeroAndMaxString", @@ -822,7 +941,7 @@ }, "RoutingStrategy":{ "shape":"RoutingStrategy", - "documentation":"

Object specifying the fleet and routing type to use for the alias.

" + "documentation":"

Object that specifies the fleet and routing type to use for the alias.

" } }, "documentation":"

Represents the input for a request action.

" @@ -832,7 +951,7 @@ "members":{ "Alias":{ "shape":"Alias", - "documentation":"

Object containing the newly created alias record.

" + "documentation":"

Object that describes the newly created alias record.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -842,16 +961,19 @@ "members":{ "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a build. Build names do not need to be unique. A build name can be changed later using UpdateBuild .

" + "documentation":"

Descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later.

" }, "Version":{ "shape":"NonZeroAndMaxString", - "documentation":"

Version associated with this build. Version strings do not need to be unique to a build. A build version can be changed later using UpdateBuild .

" + "documentation":"

Version that is associated with this build. Version strings do not need to be unique. You can use UpdateBuild to change this value later.

" + }, + "StorageLocation":{ + "shape":"S3Location", + "documentation":"

Amazon S3 location of the game build files to be uploaded. The S3 bucket must be owned by the same AWS account that you're using to manage Amazon GameLift. It also must in the same region that you want to create a new build in. Before calling CreateBuild with this location, you must allow Amazon GameLift to access your Amazon S3 bucket (see Create a Build with Files in Amazon S3).

" }, - "StorageLocation":{"shape":"S3Location"}, "OperatingSystem":{ "shape":"OperatingSystem", - "documentation":"

Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.

" + "documentation":"

Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system.

" } }, "documentation":"

Represents the input for a request action.

" @@ -861,15 +983,15 @@ "members":{ "Build":{ "shape":"Build", - "documentation":"

Set of properties for the newly created build.

" + "documentation":"

The newly created build record, including a unique build ID and status.

" }, "UploadCredentials":{ "shape":"AwsCredentials", - "documentation":"

AWS credentials required when uploading a game build to the storage location. These credentials have a limited lifespan and are valid only for the build they were issued for. If you need to get fresh credentials, call RequestUploadCredentials .

" + "documentation":"

This element is not currently in use.

" }, "StorageLocation":{ "shape":"S3Location", - "documentation":"

Amazon S3 path and key, identifying where the game build files are stored.

" + "documentation":"

Amazon S3 location specified in the request.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -884,7 +1006,7 @@ "members":{ "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a fleet. Fleet names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with a fleet. Fleet names do not need to be unique.

" }, "Description":{ "shape":"NonZeroAndMaxString", @@ -892,7 +1014,7 @@ }, "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier of the build to be deployed on the new fleet. The build must have been successfully uploaded to GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.

" + "documentation":"

Unique identifier for a build to be deployed on the new fleet. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.

" }, "ServerLaunchPath":{ "shape":"NonZeroAndMaxString", @@ -904,11 +1026,11 @@ }, "LogPaths":{ "shape":"StringList", - "documentation":"

Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, GameLift will automatically upload logs stored on each instance at C:\\game\\logs (for Windows) or /local/game/logs (for Linux). Use the GameLift console to access stored logs.

" + "documentation":"

This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API ProcessReady() and specify one or more directory paths in logParameters. See more information in the Server API Reference.

" }, "EC2InstanceType":{ "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" + "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" }, "EC2InboundPermissions":{ "shape":"IpPermissionsList", @@ -920,11 +1042,15 @@ }, "RuntimeConfiguration":{ "shape":"RuntimeConfiguration", - "documentation":"

Instructions for launching server processes on each instance in the fleet. The runtime configuration for a fleet has a collection of server process configurations, one for each type of server process to run on an instance. A server process configuration specifies the location of the server executable, launch parameters, and the number of concurrent processes with that configuration to maintain on each instance. A CreateFleet request must include a runtime configuration with at least one server process configuration; otherwise the request will fail with an invalid request exception. (This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters; requests that contain values for these parameters instead of a runtime configuration will continue to work.)

" + "documentation":"

Instructions for launching server processes on each instance in the fleet. The runtime configuration for a fleet has a collection of server process configurations, one for each type of server process to run on an instance. A server process configuration specifies the location of the server executable, launch parameters, and the number of concurrent processes with that configuration to maintain on each instance. A CreateFleet request must include a runtime configuration with at least one server process configuration; otherwise the request will fail with an invalid request exception. (This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters; requests that contain values for these parameters instead of a runtime configuration will continue to work.)

" }, "ResourceCreationLimitPolicy":{ "shape":"ResourceCreationLimitPolicy", "documentation":"

Policy that limits the number of game sessions an individual player can create over a span of time for this fleet.

" + }, + "MetricGroups":{ + "shape":"MetricGroupList", + "documentation":"

Names of metric groups to add this fleet to. Use an existing metric group name to add this fleet to the group, or use a new name to create a new metric group. Currently, a fleet can only be included in one metric group at a time.

" } }, "documentation":"

Represents the input for a request action.

" @@ -945,11 +1071,11 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Each request must reference either a fleet ID or alias ID, but not both.

" + "documentation":"

Unique identifier for a fleet to create a game session in. Each request must reference either a fleet ID or alias ID, but not both.

" }, "AliasId":{ "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Each request must reference either a fleet ID or alias ID, but not both.

" + "documentation":"

Unique identifier for an alias associated with the fleet to create a game session in. Each request must reference either a fleet ID or alias ID, but not both.

" }, "MaximumPlayerSessionCount":{ "shape":"WholeNumber", @@ -957,19 +1083,23 @@ }, "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a game session. Session names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with a game session. Session names do not need to be unique.

" }, "GameProperties":{ "shape":"GamePropertyList", - "documentation":"

Set of properties used to administer a game session. These properties are passed to the server process hosting it.

" + "documentation":"

Set of developer-defined properties for a game session. These properties are passed to the server process hosting the game session.

" }, "CreatorId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Player ID identifying the person or entity creating the game session. This ID is used to enforce a resource protection policy (if one exists) that limits the number of concurrent active game sessions one player can have.

" + "documentation":"

Unique identifier for a player or entity creating the game session. This ID is used to enforce a resource protection policy (if one exists) that limits the number of concurrent active game sessions one player can have.

" }, "GameSessionId":{ "shape":"IdStringModel", - "documentation":"

Custom string to include in the game session ID, with a maximum length of 48 characters. If this parameter is set, GameLift creates a game session ID in the following format: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<custom ID string>\". For example, this full game session ID: \"arn:aws:gamelift:us-west-2::gamesession/fleet-2ec2aae5-c2c7-43ca-b19d-8249fe5fddf2/my-game-session\" includes the custom ID string \"my-game-session\". If this parameter is not set, GameLift creates a game session ID in the same format with an autogenerated ID string.

" + "documentation":"

This parameter is no longer preferred. Please use IdempotencyToken instead. Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ID has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.)

" + }, + "IdempotencyToken":{ + "shape":"IdStringModel", + "documentation":"

Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ID has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.)

" } }, "documentation":"

Represents the input for a request action.

" @@ -979,7 +1109,40 @@ "members":{ "GameSession":{ "shape":"GameSession", - "documentation":"

Object containing the newly created game session record.

" + "documentation":"

Object that describes the newly created game session record.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreateGameSessionQueueInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"GameSessionQueueName", + "documentation":"

Descriptive label that is associated with queue. Queue names must be unique within each region.

" + }, + "TimeoutInSeconds":{ + "shape":"WholeNumber", + "documentation":"

Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

" + }, + "PlayerLatencyPolicies":{ + "shape":"PlayerLatencyPolicyList", + "documentation":"

Collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, it is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. A player latency policy must set a value for MaximumIndividualPlayerLatencyMilliseconds; if none is set, this API requests will fail.

" + }, + "Destinations":{ + "shape":"GameSessionQueueDestinationList", + "documentation":"

List of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreateGameSessionQueueOutput":{ + "type":"structure", + "members":{ + "GameSessionQueue":{ + "shape":"GameSessionQueue", + "documentation":"

Object that describes the newly created game session queue.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -993,11 +1156,15 @@ "members":{ "GameSessionId":{ "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to add a player to. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an autogenerated string.

" + "documentation":"

Unique identifier for the game session to add a player to.

" }, "PlayerId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the player to be added.

" + "documentation":"

Unique identifier for a player. Player IDs are developer-defined.

" + }, + "PlayerData":{ + "shape":"PlayerData", + "documentation":"

Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1007,7 +1174,7 @@ "members":{ "PlayerSession":{ "shape":"PlayerSession", - "documentation":"

Object containing the newly created player session record.

" + "documentation":"

Object that describes the newly created player session record.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1021,11 +1188,15 @@ "members":{ "GameSessionId":{ "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to add players to. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an autogenerated string.

" + "documentation":"

Unique identifier for the game session to add players to.

" }, "PlayerIds":{ "shape":"PlayerIdList", "documentation":"

List of unique identifiers for the players to be added.

" + }, + "PlayerDataMap":{ + "shape":"PlayerDataMap", + "documentation":"

Map of string pairs, each specifying a player ID and a set of developer-defined information related to the player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game. Player data strings for player IDs not included in the PlayerIds parameter are ignored.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1057,7 +1228,7 @@ "members":{ "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier for the build you want to delete.

" + "documentation":"

Unique identifier for a build to delete.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1068,11 +1239,27 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to delete.

" + "documentation":"

Unique identifier for a fleet to be deleted.

" } }, "documentation":"

Represents the input for a request action.

" }, + "DeleteGameSessionQueueInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"GameSessionQueueName", + "documentation":"

Descriptive label that is associated with queue. Queue names must be unique within each region.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteGameSessionQueueOutput":{ + "type":"structure", + "members":{ + } + }, "DeleteScalingPolicyInput":{ "type":"structure", "required":[ @@ -1082,11 +1269,11 @@ "members":{ "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a scaling policy. Policy names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

" }, "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" + "documentation":"

Unique identifier for a fleet to be deleted.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1107,7 +1294,7 @@ "members":{ "Alias":{ "shape":"Alias", - "documentation":"

Object containing the requested alias.

" + "documentation":"

Object that contains the requested alias.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1118,7 +1305,7 @@ "members":{ "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier of the build that you want to retrieve properties for.

" + "documentation":"

Unique identifier for a build to retrieve properties for.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1138,7 +1325,7 @@ "members":{ "EC2InstanceType":{ "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions. Leave this parameter blank to retrieve limits for all types.

" + "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions. Leave this parameter blank to retrieve limits for all types.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1148,7 +1335,7 @@ "members":{ "EC2InstanceLimits":{ "shape":"EC2InstanceLimitList", - "documentation":"

Object containing the maximum number of instances for the specified instance type.

" + "documentation":"

Object that contains the maximum number of instances for the specified instance type.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1158,7 +1345,7 @@ "members":{ "FleetIds":{ "shape":"FleetIdList", - "documentation":"

Unique identifiers for the fleet(s) that you want to retrieve attributes for. To request attributes for all fleets, leave this parameter empty.

" + "documentation":"

Unique identifier for a fleet(s) to retrieve attributes for. To request attributes for all fleets, leave this parameter empty.

" }, "Limit":{ "shape":"PositiveInteger", @@ -1166,7 +1353,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1180,7 +1367,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1190,7 +1377,7 @@ "members":{ "FleetIds":{ "shape":"FleetIdList", - "documentation":"

Unique identifier for the fleet(s) you want to retrieve capacity information for. To request capacity information for all fleets, leave this parameter empty.

" + "documentation":"

Unique identifier for a fleet(s) to retrieve capacity information for. To request capacity information for all fleets, leave this parameter empty.

" }, "Limit":{ "shape":"PositiveInteger", @@ -1198,7 +1385,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1212,7 +1399,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1223,7 +1410,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet to get event logs for.

" + "documentation":"

Unique identifier for a fleet to get event logs for.

" }, "StartTime":{ "shape":"Timestamp", @@ -1239,7 +1426,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1253,7 +1440,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1264,7 +1451,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to retrieve port settings for.

" + "documentation":"

Unique identifier for a fleet to retrieve port settings for.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1274,7 +1461,7 @@ "members":{ "InboundPermissions":{ "shape":"IpPermissionsList", - "documentation":"

Object containing port settings for the requested fleet ID.

" + "documentation":"

Object that contains port settings for the requested fleet ID.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1284,7 +1471,7 @@ "members":{ "FleetIds":{ "shape":"FleetIdList", - "documentation":"

Unique identifier for the fleet(s) you want to retrieve utilization data for. To request utilization data for all fleets, leave this parameter empty.

" + "documentation":"

Unique identifier for a fleet(s) to retrieve utilization data for. To request utilization data for all fleets, leave this parameter empty.

" }, "Limit":{ "shape":"PositiveInteger", @@ -1292,7 +1479,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1306,7 +1493,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1316,15 +1503,15 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Specify a fleet to retrieve information on all game sessions active on the fleet.

" + "documentation":"

Unique identifier for a fleet to retrieve all game sessions active on the fleet.

" }, "GameSessionId":{ "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to retrieve information on. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an autogenerated string.

" + "documentation":"

Unique identifier for the game session to retrieve.

" }, "AliasId":{ "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify an alias to retrieve information on all game sessions active on the fleet.

" + "documentation":"

Unique identifier for an alias associated with the fleet to retrieve all game sessions for.

" }, "StatusFilter":{ "shape":"NonZeroAndMaxString", @@ -1336,7 +1523,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1350,7 +1537,60 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DescribeGameSessionPlacementInput":{ + "type":"structure", + "required":["PlacementId"], + "members":{ + "PlacementId":{ + "shape":"IdStringModel", + "documentation":"

Unique identifier for a game session placement to retrieve.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeGameSessionPlacementOutput":{ + "type":"structure", + "members":{ + "GameSessionPlacement":{ + "shape":"GameSessionPlacement", + "documentation":"

Object that describes the requested game session placement.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DescribeGameSessionQueuesInput":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"GameSessionQueueNameList", + "documentation":"

List of queue names to retrieve information for. To request settings for all queues, leave this parameter empty.

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeGameSessionQueuesOutput":{ + "type":"structure", + "members":{ + "GameSessionQueues":{ + "shape":"GameSessionQueueList", + "documentation":"

Collection of objects that describes the requested game session queues.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1360,15 +1600,15 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Specify a fleet to retrieve information on all game sessions active on the fleet.

" + "documentation":"

Unique identifier for a fleet to retrieve all game sessions for.

" }, "GameSessionId":{ "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to retrieve information on. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an autogenerated string.

" + "documentation":"

Unique identifier for the game session to retrieve. You can use either a GameSessionId or GameSessionArn value.

" }, "AliasId":{ "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify an alias to retrieve information on all game sessions active on the fleet.

" + "documentation":"

Unique identifier for an alias associated with the fleet to retrieve all game sessions for.

" }, "StatusFilter":{ "shape":"NonZeroAndMaxString", @@ -1380,7 +1620,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1394,7 +1634,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1405,11 +1645,11 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Specify the fleet to retrieve instance information for.

" + "documentation":"

Unique identifier for a fleet to retrieve instance information for.

" }, "InstanceId":{ "shape":"InstanceId", - "documentation":"

Unique identifier for an instance. Specify an instance to retrieve information for or leave blank to get information on all instances in the fleet.

" + "documentation":"

Unique identifier for an instance to retrieve. Specify an instance ID or leave blank to retrieve all instances in the fleet.

" }, "Limit":{ "shape":"PositiveInteger", @@ -1417,7 +1657,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1431,7 +1671,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1441,15 +1681,15 @@ "members":{ "GameSessionId":{ "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to get player sessions for. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an autogenerated string.

" + "documentation":"

Unique identifier for the game session to retrieve player sessions for.

" }, "PlayerId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a player.

" + "documentation":"

Unique identifier for a player to retrieve player sessions for.

" }, "PlayerSessionId":{ "shape":"PlayerSessionId", - "documentation":"

Unique identifier for a player session.

" + "documentation":"

Unique identifier for a player session to retrieve.

" }, "PlayerSessionStatusFilter":{ "shape":"NonZeroAndMaxString", @@ -1461,7 +1701,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1475,7 +1715,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -1486,7 +1726,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier of the fleet to get the runtime configuration for.

" + "documentation":"

Unique identifier for a fleet to get the runtime configuration for.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1507,7 +1747,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Specify the fleet to retrieve scaling policies for.

" + "documentation":"

Unique identifier for a fleet to retrieve scaling policies for.

" }, "StatusFilter":{ "shape":"ScalingStatusType", @@ -1519,7 +1759,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1533,11 +1773,29 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" }, + "DesiredPlayerSession":{ + "type":"structure", + "members":{ + "PlayerId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Unique identifier for a player to associate with the player session.

" + }, + "PlayerData":{ + "shape":"PlayerData", + "documentation":"

Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

" + } + }, + "documentation":"

Player information for use when creating player sessions using a game session placement request with StartGameSessionPlacement.

" + }, + "DesiredPlayerSessionList":{ + "type":"list", + "member":{"shape":"DesiredPlayerSession"} + }, "Double":{"type":"double"}, "EC2InstanceCounts":{ "type":"structure", @@ -1578,7 +1836,7 @@ "members":{ "EC2InstanceType":{ "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" + "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" }, "CurrentInstances":{ "shape":"WholeNumber", @@ -1637,7 +1895,7 @@ }, "ResourceId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the resource, such as a fleet ID.

" + "documentation":"

Unique identifier for an event resource, such as a fleet ID.

" }, "EventCode":{ "shape":"EventCode", @@ -1649,7 +1907,7 @@ }, "EventTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, "documentation":"

Log entry describing an event involving Amazon GameLift resources (such as a fleet). In addition to tracking activity, event codes and messages can provide additional information for troubleshooting and debugging problems.

" @@ -1681,7 +1939,8 @@ "SERVER_PROCESS_CRASHED", "SERVER_PROCESS_TERMINATED_UNHEALTHY", "SERVER_PROCESS_FORCE_TERMINATED", - "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT" + "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT", + "GAME_SESSION_ACTIVATION_TIMEOUT" ] }, "EventList":{ @@ -1695,25 +1954,29 @@ "shape":"FleetId", "documentation":"

Unique identifier for a fleet.

" }, + "FleetArn":{ + "shape":"ArnStringModel", + "documentation":"

Identifier for a fleet that is unique across all regions.

" + }, "Description":{ "shape":"NonZeroAndMaxString", "documentation":"

Human-readable description of the fleet.

" }, "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a fleet. Fleet names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with a fleet. Fleet names do not need to be unique.

" }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, "TerminationTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, "Status":{ "shape":"FleetStatus", - "documentation":"

Current status of the fleet.

Possible fleet statuses include the following:

  • NEW – A new fleet has been defined and desired instances is set to 1.

  • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING – GameLift is setting up the new fleet, creating new instances with the game build and starting server processes.

  • ACTIVE – Hosts can now accept game sessions.

  • ERROR – An error occurred when downloading, validating, building, or activating the fleet.

  • DELETING – Hosts are responding to a delete fleet request.

  • TERMINATED – The fleet no longer exists.

" + "documentation":"

Current status of the fleet.

Possible fleet statuses include the following:

  • NEW – A new fleet has been defined and desired instances is set to 1.

  • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING – Amazon GameLift is setting up the new fleet, creating new instances with the game build and starting server processes.

  • ACTIVE – Hosts can now accept game sessions.

  • ERROR – An error occurred when downloading, validating, building, or activating the fleet.

  • DELETING – Hosts are responding to a delete fleet request.

  • TERMINATED – The fleet no longer exists.

" }, "BuildId":{ "shape":"BuildId", @@ -1721,15 +1984,15 @@ }, "ServerLaunchPath":{ "shape":"NonZeroAndMaxString", - "documentation":"

Path to a game server executable in the fleet's build, specified for fleets created prior to 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's RuntimeConfiguration .

" + "documentation":"

Path to a game server executable in the fleet's build, specified for fleets created prior to 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's RuntimeConfiguration.

" }, "ServerLaunchParameters":{ "shape":"NonZeroAndMaxString", - "documentation":"

Game server launch parameters specified for fleets created prior to 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's RuntimeConfiguration .

" + "documentation":"

Game server launch parameters specified for fleets created prior to 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's RuntimeConfiguration.

" }, "LogPaths":{ "shape":"StringList", - "documentation":"

Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, GameLift will automatically upload logs that are stored on each instance at C:\\game\\logs (for Windows) or /local/game/logs (for Linux). Use the GameLift console to access stored logs.

" + "documentation":"

Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, Amazon GameLift will automatically upload logs that are stored on each instance at C:\\game\\logs (for Windows) or /local/game/logs (for Linux). Use the Amazon GameLift console to access stored logs.

" }, "NewGameSessionProtectionPolicy":{ "shape":"ProtectionPolicy", @@ -1742,6 +2005,10 @@ "ResourceCreationLimitPolicy":{ "shape":"ResourceCreationLimitPolicy", "documentation":"

Fleet policy to limit the number of game sessions an individual player can create over a span of time.

" + }, + "MetricGroups":{ + "shape":"MetricGroupList", + "documentation":"

Names of metric groups that this fleet is included in. In Amazon CloudWatch, you can view metrics for an individual fleet or aggregated metrics for a fleets that are in a fleet metric group. Currently, a fleet can be included in only one metric group at a time.

" } }, "documentation":"

General properties describing a fleet.

" @@ -1759,7 +2026,7 @@ }, "InstanceType":{ "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" + "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" }, "InstanceCounts":{ "shape":"EC2InstanceCounts", @@ -1833,6 +2100,7 @@ "type":"list", "member":{"shape":"FleetUtilization"} }, + "Float":{"type":"float"}, "FreeText":{"type":"string"}, "GameProperty":{ "type":"structure", @@ -1870,23 +2138,23 @@ "members":{ "GameSessionId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a game session. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an autogenerated string.

" + "documentation":"

Unique identifier for the game session. A game session ID has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.

" }, "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a game session. Session names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with a game session. Session names do not need to be unique.

" }, "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" + "documentation":"

Unique identifier for a fleet the game session is running on.

" }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, "TerminationTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, "CurrentPlayerSessionCount":{ "shape":"WholeNumber", @@ -1894,23 +2162,23 @@ }, "MaximumPlayerSessionCount":{ "shape":"WholeNumber", - "documentation":"

Maximum number of players allowed in the game session.

" + "documentation":"

Maximum number of players that can be connected simultaneously to the game session.

" }, "Status":{ "shape":"GameSessionStatus", - "documentation":"

Current status of the game session. A game session must be in an ACTIVE status to have player sessions.

" + "documentation":"

Current status of the game session. A game session must have an ACTIVE status to have player sessions.

" }, "GameProperties":{ "shape":"GamePropertyList", - "documentation":"

Set of custom properties for the game session.

" + "documentation":"

Set of developer-defined properties for a game session. These properties are passed to the server process hosting the game session.

" }, "IpAddress":{ "shape":"IpAddress", - "documentation":"

IP address of the game session. To connect to a GameLift server process, an app needs both the IP address and port number.

" + "documentation":"

IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

" }, "Port":{ "shape":"PortNumber", - "documentation":"

Port number for the game session. To connect to a GameLift server process, an app needs both the IP address and port number.

" + "documentation":"

Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

" }, "PlayerSessionCreationPolicy":{ "shape":"PlayerSessionCreationPolicy", @@ -1918,21 +2186,29 @@ }, "CreatorId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Player ID of the person or entity that created the game session. This ID is used to enforce a resource protection policy (if one exists) that limits the number of concurrent active game sessions for a single player.

" + "documentation":"

Unique identifier for a player. This ID is used to enforce a resource protection policy (if one exists), that limits the number of game sessions a player can create.

" } }, "documentation":"

Properties describing a game session.

" }, + "GameSessionActivationTimeoutSeconds":{ + "type":"integer", + "max":600, + "min":1 + }, "GameSessionDetail":{ "type":"structure", "members":{ - "GameSession":{"shape":"GameSession"}, + "GameSession":{ + "shape":"GameSession", + "documentation":"

Object that describes a game session.

" + }, "ProtectionPolicy":{ "shape":"ProtectionPolicy", "documentation":"

Current status of protection for the game session.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" } }, - "documentation":"

A game session's properties and the protection policy currently in force.

" + "documentation":"

A game session's properties plus the protection policy currently in force.

" }, "GameSessionDetailList":{ "type":"list", @@ -1950,6 +2226,135 @@ "type":"list", "member":{"shape":"GameSession"} }, + "GameSessionPlacement":{ + "type":"structure", + "members":{ + "PlacementId":{ + "shape":"IdStringModel", + "documentation":"

Unique identifier for a game session placement.

" + }, + "GameSessionQueueName":{ + "shape":"GameSessionQueueName", + "documentation":"

Descriptive label that is associated with queue. Queue names must be unique within each region.

" + }, + "Status":{ + "shape":"GameSessionPlacementState", + "documentation":"

Current status of the game session placement request.

  • PENDING – The placement request is currently in the queue waiting to be processed.

  • FULFILLED – A new game session and player sessions (if requested) have been successfully created. Values for GameSessionArn and GameSessionRegion are available.

  • CANCELLED – The placement request was canceled with a call to StopGameSessionPlacement.

  • TIMED_OUT – A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed.

" + }, + "GameProperties":{ + "shape":"GamePropertyList", + "documentation":"

Set of developer-defined properties for a game session. These properties are passed to the server process hosting the game session.

" + }, + "MaximumPlayerSessionCount":{ + "shape":"WholeNumber", + "documentation":"

Maximum number of players that can be connected simultaneously to the game session.

" + }, + "GameSessionName":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Descriptive label that is associated with a game session. Session names do not need to be unique.

" + }, + "GameSessionId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Unique identifier for the game session. This value is set once the new game session is placed (placement status is Fulfilled).

" + }, + "GameSessionArn":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Identifier for the game session created by this placement request. This value is set once the new game session is placed (placement status is Fulfilled). This identifier is unique across all regions. You can use this value as a GameSessionId value as needed.

" + }, + "GameSessionRegion":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Name of the region where the game session created by this placement request is running. This value is set once the new game session is placed (placement status is Fulfilled).

" + }, + "PlayerLatencies":{ + "shape":"PlayerLatencyList", + "documentation":"

Set of values, expressed in milliseconds, indicating the amount of latency that players are experiencing when connected to AWS regions.

" + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this request was completed, canceled, or timed out.

" + }, + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is Fulfilled).

" + }, + "Port":{ + "shape":"PortNumber", + "documentation":"

Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is Fulfilled).

" + }, + "PlacedPlayerSessions":{ + "shape":"PlacedPlayerSessionList", + "documentation":"

Collection of information on player sessions created in response to the game session placement request. These player sessions are created only once a new game session is successfully placed (placement status is Fulfilled). This information includes the player ID (as provided in the placement request) and the corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the player session ID.

" + } + }, + "documentation":"

Object that describes a StartGameSessionPlacement request. This object includes the full details of the original request plus the current status and start/end time stamps.

Game session placement-related operations include:

" + }, + "GameSessionPlacementState":{ + "type":"string", + "enum":[ + "PENDING", + "FULFILLED", + "CANCELLED", + "TIMED_OUT" + ] + }, + "GameSessionQueue":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"GameSessionQueueName", + "documentation":"

Descriptive label that is associated with queue. Queue names must be unique within each region.

" + }, + "GameSessionQueueArn":{ + "shape":"ArnStringModel", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

" + }, + "TimeoutInSeconds":{ + "shape":"WholeNumber", + "documentation":"

Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

" + }, + "PlayerLatencyPolicies":{ + "shape":"PlayerLatencyPolicyList", + "documentation":"

Collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, it is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement.

" + }, + "Destinations":{ + "shape":"GameSessionQueueDestinationList", + "documentation":"

List of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

" + } + }, + "documentation":"

Configuration of a queue that is used to process game session placement requests. The queue configuration identifies several game features:

  • The destinations where a new game session can potentially be hosted. Amazon GameLift tries these destinations in an order based on either the queue's default order or player latency information, if provided in a placement request. With latency information, Amazon GameLift can place game sessions where the majority of players are reporting the lowest possible latency.

  • The length of time that placement requests can wait in the queue before timing out.

  • A set of optional latency policies that protect individual players from high latencies, preventing game sessions from being placed where any individual player is reporting latency higher than a policy's maximum.

Queue-related operations include the following:

" + }, + "GameSessionQueueDestination":{ + "type":"structure", + "members":{ + "DestinationArn":{ + "shape":"ArnStringModel", + "documentation":"

Amazon Resource Name (ARN) assigned to fleet or fleet alias. ARNs, which include a fleet ID or alias ID and a region name, provide a unique identifier across all regions.

" + } + }, + "documentation":"

Fleet designated in a game session queue. Requests for new game sessions in the queue are fulfilled by starting a new game session on any destination configured for a queue.

" + }, + "GameSessionQueueDestinationList":{ + "type":"list", + "member":{"shape":"GameSessionQueueDestination"} + }, + "GameSessionQueueList":{ + "type":"list", + "member":{"shape":"GameSessionQueue"} + }, + "GameSessionQueueName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9-]+" + }, + "GameSessionQueueNameList":{ + "type":"list", + "member":{"shape":"GameSessionQueueName"} + }, "GameSessionStatus":{ "type":"string", "enum":[ @@ -1966,7 +2371,7 @@ "members":{ "GameSessionId":{ "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to get logs for. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an autogenerated string.

" + "documentation":"

Unique identifier for the game session to get logs for.

" } }, "documentation":"

Represents the input for a request action.

" @@ -1990,22 +2395,24 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Specify the fleet that contain the instance you want access to. The fleet can be in any of the following statuses: ACTIVATING, ACTIVE, or ERROR. Fleets with an ERROR status can be accessed for a few hours before being deleted.

" + "documentation":"

Unique identifier for a fleet that contains the instance you want access to. The fleet can be in any of the following statuses: ACTIVATING, ACTIVE, or ERROR. Fleets with an ERROR status may be accessible for a short time before they are deleted.

" }, "InstanceId":{ "shape":"InstanceId", - "documentation":"

Unique identifier for an instance. Specify the instance you want to get access to. You can access an instance in any status.

" + "documentation":"

Unique identifier for an instance you want to get access to. You can access an instance in any status.

" } - } + }, + "documentation":"

Represents the input for a request action.

" }, "GetInstanceAccessOutput":{ "type":"structure", "members":{ "InstanceAccess":{ "shape":"InstanceAccess", - "documentation":"

Object containing connection information for a fleet instance, including IP address and access credentials.

" + "documentation":"

Object that contains connection information for a fleet instance, including IP address and access credentials.

" } - } + }, + "documentation":"

Represents the returned data in response to a request action.

" }, "IdStringModel":{ "type":"string", @@ -2026,11 +2433,11 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet that the instance belongs to.

" + "documentation":"

Unique identifier for a fleet that the instance is in.

" }, "InstanceId":{ "shape":"InstanceId", - "documentation":"

Unique identifier for the instance.

" + "documentation":"

Unique identifier for an instance.

" }, "IpAddress":{ "shape":"IpAddress", @@ -2046,11 +2453,11 @@ }, "Status":{ "shape":"InstanceStatus", - "documentation":"

Current status of the instance. Possible statuses include the following:

  • PENDING – The instance is in the process of being created and launching server processes as defined in the fleet's runtime configuration.

  • ACTIVE – The instance has been successfully created and at least one server process has successfully launched and reported back to GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions.

  • TERMINATING – The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.

" + "documentation":"

Current status of the instance. Possible statuses include the following:

  • PENDING – The instance is in the process of being created and launching server processes as defined in the fleet's runtime configuration.

  • ACTIVE – The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions.

  • TERMINATING – The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.

" }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, "documentation":"

Properties that describe an instance of a virtual computing resource that hosts one or more game servers. A fleet contains zero or more instances.

" @@ -2060,11 +2467,11 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet containing the instance being accessed.

" + "documentation":"

Unique identifier for a fleet containing the instance being accessed.

" }, "InstanceId":{ "shape":"InstanceId", - "documentation":"

Unique identifier for the instance being accessed.

" + "documentation":"

Unique identifier for an instance being accessed.

" }, "IpAddress":{ "shape":"IpAddress", @@ -2090,7 +2497,7 @@ }, "Secret":{ "shape":"NonEmptyString", - "documentation":"

Secret string. For Windows instances, the secret is a password. For Linux instances, it is a private key.

" + "documentation":"

Secret string. For Windows instances, the secret is a password for use with Windows Remote Desktop. For Linux instances, it is a private key (which must be saved as a .pem file) for use with SSH.

" } }, "documentation":"

Set of credentials required to remotely access a fleet instance. Access credentials are requested by calling GetInstanceAccess and returned in an InstanceAccess object.

", @@ -2166,14 +2573,14 @@ }, "IpRange":{ "shape":"NonBlankString", - "documentation":"

Range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".

" + "documentation":"

Range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".

" }, "Protocol":{ "shape":"IpProtocol", "documentation":"

Network communication protocol used by the fleet.

" } }, - "documentation":"

A range of IP addresses and port settings that allow inbound traffic to connect to server processes on GameLift. Each game session hosted on a fleet is assigned a unique combination of IP address and port number, which must fall into the fleet's allowed ranges. This combination is included in the GameSession object.

" + "documentation":"

A range of IP addresses and port settings that allow inbound traffic to connect to server processes on Amazon GameLift. Each game session hosted on a fleet is assigned a unique combination of IP address and port number, which must fall into the fleet's allowed ranges. This combination is included in the GameSession object.

" }, "IpPermissionsList":{ "type":"list", @@ -2204,7 +2611,7 @@ }, "Name":{ "shape":"NonEmptyString", - "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with an alias. Alias names do not need to be unique.

" }, "Limit":{ "shape":"PositiveInteger", @@ -2212,7 +2619,7 @@ }, "NextToken":{ "shape":"NonEmptyString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2226,7 +2633,7 @@ }, "NextToken":{ "shape":"NonEmptyString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2244,7 +2651,7 @@ }, "NextToken":{ "shape":"NonEmptyString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2258,7 +2665,7 @@ }, "NextToken":{ "shape":"NonEmptyString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2268,7 +2675,7 @@ "members":{ "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier of the build to return fleets for. Use this parameter to return only fleets using the specified build. To retrieve all fleets, leave this parameter empty.

" + "documentation":"

Unique identifier for a build to return fleets for. Use this parameter to return only fleets using the specified build. To retrieve all fleets, leave this parameter empty.

" }, "Limit":{ "shape":"PositiveInteger", @@ -2276,7 +2683,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2286,24 +2693,44 @@ "members":{ "FleetIds":{ "shape":"FleetIdList", - "documentation":"

Set of fleet IDs matching the list request. You can retrieve additional information about all returned fleets by passing this result set to a call to DescribeFleetAttributes, DescribeFleetCapacity, and DescribeFleetUtilization.

" + "documentation":"

Set of fleet IDs matching the list request. You can retrieve additional information about all returned fleets by passing this result set to a call to DescribeFleetAttributes, DescribeFleetCapacity, or DescribeFleetUtilization.

" }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" }, + "MaxConcurrentGameSessionActivations":{ + "type":"integer", + "max":2147483647, + "min":1 + }, + "MetricGroup":{ + "type":"string", + "max":255, + "min":1 + }, + "MetricGroupList":{ + "type":"list", + "member":{"shape":"MetricGroup"}, + "max":1 + }, "MetricName":{ "type":"string", "enum":[ "ActivatingGameSessions", "ActiveGameSessions", "ActiveInstances", + "AvailableGameSessions", "AvailablePlayerSessions", "CurrentPlayerSessions", - "IdleInstances" + "IdleInstances", + "PercentAvailableGameSessions", + "PercentIdleInstances", + "QueueDepth", + "WaitTime" ] }, "NonBlankAndLengthConstraintString":{ @@ -2340,12 +2767,80 @@ "AMAZON_LINUX" ] }, + "PlacedPlayerSession":{ + "type":"structure", + "members":{ + "PlayerId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Unique identifier for a player that is associated with this player session.

" + }, + "PlayerSessionId":{ + "shape":"PlayerSessionId", + "documentation":"

Unique identifier for a player session.

" + } + }, + "documentation":"

Information about a player session that was created as part of a StartGameSessionPlacement request. This object contains only the player ID and player session ID. To retrieve full details on a player session, call DescribePlayerSessions with the player session ID.

" + }, + "PlacedPlayerSessionList":{ + "type":"list", + "member":{"shape":"PlacedPlayerSession"} + }, + "PlayerData":{ + "type":"string", + "max":2048, + "min":1 + }, + "PlayerDataMap":{ + "type":"map", + "key":{"shape":"NonZeroAndMaxString"}, + "value":{"shape":"PlayerData"} + }, "PlayerIdList":{ "type":"list", "member":{"shape":"NonZeroAndMaxString"}, "max":25, "min":1 }, + "PlayerLatency":{ + "type":"structure", + "members":{ + "PlayerId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Unique identifier for a player associated with the latency data.

" + }, + "RegionIdentifier":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Name of the region that is associated with the latency value.

" + }, + "LatencyInMilliseconds":{ + "shape":"Float", + "documentation":"

Amount of time that represents the time lag experienced by the player when connected to the specified region.

" + } + }, + "documentation":"

Regional latency information for a player, used when requesting a new game session with StartGameSessionPlacement. This value indicates the amount of time lag that exists when the player is connected to a fleet in the specified region. The relative difference between a player's latency values for multiple regions are used to determine which fleets are best suited to place a new game session for the player.

" + }, + "PlayerLatencyList":{ + "type":"list", + "member":{"shape":"PlayerLatency"} + }, + "PlayerLatencyPolicy":{ + "type":"structure", + "members":{ + "MaximumIndividualPlayerLatencyMilliseconds":{ + "shape":"WholeNumber", + "documentation":"

The maximum latency value that is allowed for any player, in milliseconds. All policies must have a value set for this property.

" + }, + "PolicyDurationSeconds":{ + "shape":"WholeNumber", + "documentation":"

The length of time, in seconds, that the policy is enforced while placing a new game session. A null value for this property means that the policy is enforced until the queue times out.

" + } + }, + "documentation":"

Queue setting that determines the highest latency allowed for individual players when placing a game session. When a latency policy is in force, a game session cannot be placed at any destination in a region where a player is reporting latency higher than the cap. Latency policies are only enforced when the placement request contains player latency information.

Latency policy-related operations include:

" + }, + "PlayerLatencyPolicyList":{ + "type":"list", + "member":{"shape":"PlayerLatencyPolicy"} + }, "PlayerSession":{ "type":"structure", "members":{ @@ -2355,7 +2850,7 @@ }, "PlayerId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a player.

" + "documentation":"

Unique identifier for a player that is associated with this player session.

" }, "GameSessionId":{ "shape":"NonZeroAndMaxString", @@ -2363,15 +2858,15 @@ }, "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" + "documentation":"

Unique identifier for a fleet that the player's game session is running on.

" }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, "TerminationTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, "Status":{ "shape":"PlayerSessionStatus", @@ -2379,14 +2874,18 @@ }, "IpAddress":{ "shape":"IpAddress", - "documentation":"

Game session IP address. All player sessions reference the game session location.

" + "documentation":"

IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

" }, "Port":{ "shape":"PortNumber", - "documentation":"

Port number for the game session. To connect to a GameLift server process, an app needs both the IP address and port number.

" + "documentation":"

Port number for the game session. To connect to a Amazon GameLift server process, an app needs both the IP address and port number.

" + }, + "PlayerData":{ + "shape":"PlayerData", + "documentation":"

Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

" } }, - "documentation":"

Properties describing a player session.

" + "documentation":"

Properties describing a player session. A player session represents either a player reservation for a game session or actual player activity in a game session. A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.

Player session-related operations include:

" }, "PlayerSessionCreationPolicy":{ "type":"string", @@ -2447,11 +2946,11 @@ "members":{ "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.

" + "documentation":"

Descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.

" }, "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identity for the fleet to scale with this policy.

" + "documentation":"

Unique identifier for a fleet to apply this policy to.

" }, "ScalingAdjustment":{ "shape":"Integer", @@ -2485,7 +2984,7 @@ "members":{ "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a scaling policy. Policy names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2496,7 +2995,7 @@ "members":{ "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier for the build you want to get credentials for.

" + "documentation":"

Unique identifier for a build to get credentials for.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2531,7 +3030,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Fleet ID associated with the requested alias.

" + "documentation":"

Fleet identifier that is associated with the requested alias.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2548,7 +3047,7 @@ "documentation":"

Time span used in evaluating the resource creation limit policy.

" } }, - "documentation":"

Policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: \"An individual player can create a maximum number of new game sessions within a specified time period\".

The policy is evaluated when a player tries to create a new game session. For example, with a policy of 10 new game sessions and a time period of 60 minutes, on receiving a CreateGameSession request, GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.

" + "documentation":"

Policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: \"An individual player can create a maximum number of new game sessions within a specified time period\".

The policy is evaluated when a player tries to create a new game session. For example, with a policy of 10 new game sessions and a time period of 60 minutes, on receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.

" }, "RoutingStrategy":{ "type":"structure", @@ -2559,7 +3058,7 @@ }, "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" + "documentation":"

Unique identifier for a fleet that the alias points to.

" }, "Message":{ "shape":"FreeText", @@ -2580,28 +3079,36 @@ "members":{ "ServerProcesses":{ "shape":"ServerProcessList", - "documentation":"

Collection of server process configurations describing what server processes to run on each instance in a fleet

" + "documentation":"

Collection of server process configurations that describe which server processes to run on each instance in a fleet.

" + }, + "MaxConcurrentGameSessionActivations":{ + "shape":"MaxConcurrentGameSessionActivations", + "documentation":"

Maximum number of game sessions with status ACTIVATING to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.

" + }, + "GameSessionActivationTimeoutSeconds":{ + "shape":"GameSessionActivationTimeoutSeconds", + "documentation":"

Maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.

" } }, - "documentation":"

Collection of server process configurations that describe what processes should be run on each instance in a fleet. An instance can launch and maintain multiple server processes based on the runtime configuration; it regularly checks for an updated runtime configuration and starts new server processes to match the latest version.

The key purpose of a runtime configuration with multiple server process configurations is to be able to run more than one kind of game server in a single fleet. You can include configurations for more than one server executable in order to run two or more different programs to run on the same instance. This option might be useful, for example, to run more than one version of your game server on the same fleet. Another option is to specify configurations for the same server executable but with different launch parameters.

A GameLift instance is limited to 50 processes running simultaneously. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.

" + "documentation":"

Collection of server process configurations that describe what processes should be run on each instance in a fleet. An instance can launch and maintain multiple server processes based on the runtime configuration; it regularly checks for an updated runtime configuration and starts new server processes to match the latest version.

The key purpose of a runtime configuration with multiple server process configurations is to be able to run more than one kind of game server in a single fleet. You can include configurations for more than one server executable in order to run two or more different programs to run on the same instance. This option might be useful, for example, to run more than one version of your game server on the same fleet. Another option is to specify configurations for the same server executable but with different launch parameters.

A Amazon GameLift instance is limited to 50 processes running simultaneously. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.

" }, "S3Location":{ "type":"structure", "members":{ "Bucket":{ "shape":"NonEmptyString", - "documentation":"

Amazon S3 bucket identifier.

" + "documentation":"

Amazon S3 bucket identifier. This is the name of your S3 bucket.

" }, "Key":{ "shape":"NonEmptyString", - "documentation":"

Amazon S3 bucket key.

" + "documentation":"

Name of the zip file containing your build files.

" }, "RoleArn":{ "shape":"NonEmptyString", - "documentation":"

Amazon resource number for the cross-account access role that allows GameLift access to the S3 bucket.

" + "documentation":"

Amazon Resource Name (ARN) for the access role that allows Amazon GameLift to access your S3 bucket.

" } }, - "documentation":"

Location in Amazon Simple Storage Service (Amazon S3) where a build's files are stored. This location is assigned in response to a CreateBuild call, and is always in the same region as the service used to create the build. For more details see the Amazon S3 documentation.

" + "documentation":"

Location in Amazon Simple Storage Service (Amazon S3) where build files can be stored for access by Amazon GameLift. This location is specified in a CreateBuild request. For more details, see the Create a Build with Files in Amazon S3.

" }, "ScalingAdjustmentType":{ "type":"string", @@ -2616,11 +3123,11 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identity for the fleet associated with this scaling policy.

" + "documentation":"

Unique identifier for a fleet that is associated with this scaling policy.

" }, "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a scaling policy. Policy names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

" }, "Status":{ "shape":"ScalingStatusType", @@ -2648,7 +3155,7 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

Name of the GameLift-defined metric that is used to trigger an adjustment.

  • ActivatingGameSessions – number of game sessions in the process of being created (game session status = ACTIVATING).

  • ActiveGameSessions – number of game sessions currently running (game session status = ACTIVE).

  • CurrentPlayerSessions – number of active or reserved player sessions (player session status = ACTIVE or RESERVED).

  • AvailablePlayerSessions – number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).

  • ActiveInstances – number of instances currently running a game session.

  • IdleInstances – number of instances not currently running a game session.

" + "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.

  • ActivatingGameSessions – number of game sessions in the process of being created (game session status = ACTIVATING).

  • ActiveGameSessions – number of game sessions currently running (game session status = ACTIVE).

  • CurrentPlayerSessions – number of active or reserved player sessions (player session status = ACTIVE or RESERVED).

  • AvailablePlayerSessions – number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).

  • ActiveInstances – number of instances currently running a game session.

  • IdleInstances – number of instances not currently running a game session.

" } }, "documentation":"

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

" @@ -2674,15 +3181,15 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Each request must reference either a fleet ID or alias ID, but not both.

" + "documentation":"

Unique identifier for a fleet to search for active game sessions. Each request must reference either a fleet ID or alias ID, but not both.

" }, "AliasId":{ "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Each request must reference either a fleet ID or alias ID, but not both.

" + "documentation":"

Unique identifier for an alias associated with the fleet to search for active game sessions. Each request must reference either a fleet ID or alias ID, but not both.

" }, "FilterExpression":{ "shape":"NonZeroAndMaxString", - "documentation":"

String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in ACTIVE status.

A filter expression can contain one or multiple conditions. Each condition consists of the following:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, hasAvailablePlayerSessions.

  • Comparator -- Valid comparators are: =, <>, <, >, <=, >=.

  • Value -- Value to be searched for. Values can be numbers, boolean values (true/false) or strings. String values are case sensitive, enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators = and <>. For example, the following filter expression searches on gameSessionName: \"FilterExpression\": \"gameSessionName = 'Matt\\\\'s Awesome Game 1'\".

To chain multiple conditions in a single expression, use the logical keywords AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT z, NOT (x OR y).

Session search evaluates conditions from left to right using the following precedence rules:

  1. =, <>, <, >, <=, >=

  2. Parentheses

  3. NOT

  4. AND

  5. OR

For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: \"maximumSessions>=10 AND hasAvailablePlayerSessions=true\".

" + "documentation":"

String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in ACTIVE status.

A filter expression can contain one or multiple conditions. Each condition consists of the following:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, hasAvailablePlayerSessions.

  • Comparator -- Valid comparators are: =, <>, <, >, <=, >=.

  • Value -- Value to be searched for. Values can be numbers, boolean values (true/false) or strings. String values are case sensitive, enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators = and <>. For example, the following filter expression searches on gameSessionName: \"FilterExpression\": \"gameSessionName = 'Matt\\\\'s Awesome Game 1'\".

To chain multiple conditions in a single expression, use the logical keywords AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT z, NOT (x OR y).

Session search evaluates conditions from left to right using the following precedence rules:

  1. =, <>, <, >, <=, >=

  2. Parentheses

  3. NOT

  4. AND

  5. OR

For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: \"maximumSessions>=10 AND hasAvailablePlayerSessions=true\".

" }, "SortExpression":{ "shape":"NonZeroAndMaxString", @@ -2694,7 +3201,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2708,7 +3215,7 @@ }, "NextToken":{ "shape":"NonZeroAndMaxString", - "documentation":"

Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" + "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2741,6 +3248,76 @@ "max":50, "min":1 }, + "StartGameSessionPlacementInput":{ + "type":"structure", + "required":[ + "PlacementId", + "GameSessionQueueName", + "MaximumPlayerSessionCount" + ], + "members":{ + "PlacementId":{ + "shape":"IdStringModel", + "documentation":"

Unique identifier to assign to the new game session placement. This value is developer-defined. The value must be unique across all regions and cannot be reused unless you are resubmitting a canceled or timed-out placement request.

" + }, + "GameSessionQueueName":{ + "shape":"GameSessionQueueName", + "documentation":"

Name of the queue to use to place the new game session.

" + }, + "GameProperties":{ + "shape":"GamePropertyList", + "documentation":"

Set of developer-defined properties for a game session. These properties are passed to the server process hosting the game session.

" + }, + "MaximumPlayerSessionCount":{ + "shape":"WholeNumber", + "documentation":"

Maximum number of players that can be connected simultaneously to the game session.

" + }, + "GameSessionName":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Descriptive label that is associated with a game session. Session names do not need to be unique.

" + }, + "PlayerLatencies":{ + "shape":"PlayerLatencyList", + "documentation":"

Set of values, expressed in milliseconds, indicating the amount of latency that players are experiencing when connected to AWS regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players.

" + }, + "DesiredPlayerSessions":{ + "shape":"DesiredPlayerSessionList", + "documentation":"

Set of information on each player to create a player session for.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "StartGameSessionPlacementOutput":{ + "type":"structure", + "members":{ + "GameSessionPlacement":{ + "shape":"GameSessionPlacement", + "documentation":"

Object that describes the newly created game session placement. This object includes all the information provided in the request, as well as start/end time stamps and placement status.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "StopGameSessionPlacementInput":{ + "type":"structure", + "required":["PlacementId"], + "members":{ + "PlacementId":{ + "shape":"IdStringModel", + "documentation":"

Unique identifier for a game session placement to cancel.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "StopGameSessionPlacementOutput":{ + "type":"structure", + "members":{ + "GameSessionPlacement":{ + "shape":"GameSessionPlacement", + "documentation":"

Object that describes the canceled game session placement, with Cancelled status and an end time stamp.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, "StringList":{ "type":"list", "member":{"shape":"NonZeroAndMaxString"} @@ -2772,7 +3349,7 @@ }, "Name":{ "shape":"NonBlankAndLengthConstraintString", - "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with an alias. Alias names do not need to be unique.

" }, "Description":{ "shape":"NonZeroAndMaxString", @@ -2780,7 +3357,7 @@ }, "RoutingStrategy":{ "shape":"RoutingStrategy", - "documentation":"

Object specifying the fleet and routing type to use for the alias.

" + "documentation":"

Object that specifies the fleet and routing type to use for the alias.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2790,7 +3367,7 @@ "members":{ "Alias":{ "shape":"Alias", - "documentation":"

Object containing the updated alias configuration.

" + "documentation":"

Object that contains the updated alias configuration.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2801,15 +3378,15 @@ "members":{ "BuildId":{ "shape":"BuildId", - "documentation":"

Unique identifier of the build you want to update.

" + "documentation":"

Unique identifier for a build to update.

" }, "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a build. Build names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with a build. Build names do not need to be unique.

" }, "Version":{ "shape":"NonZeroAndMaxString", - "documentation":"

Version associated with this build. Version strings do not need to be unique to a build.

" + "documentation":"

Version that is associated with this build. Version strings do not need to be unique.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2819,7 +3396,7 @@ "members":{ "Build":{ "shape":"Build", - "documentation":"

Object containing the updated build record.

" + "documentation":"

Object that contains the updated build record.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2830,11 +3407,11 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to update attribute metadata for.

" + "documentation":"

Unique identifier for a fleet to update attribute metadata for.

" }, "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a fleet. Fleet names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with a fleet. Fleet names do not need to be unique.

" }, "Description":{ "shape":"NonZeroAndMaxString", @@ -2847,6 +3424,10 @@ "ResourceCreationLimitPolicy":{ "shape":"ResourceCreationLimitPolicy", "documentation":"

Policy that limits the number of game sessions an individual player can create over a span of time.

" + }, + "MetricGroups":{ + "shape":"MetricGroupList", + "documentation":"

Names of metric groups to include this fleet with. A fleet metric group is used in Amazon CloudWatch to aggregate metrics from multiple fleets. Use an existing metric group name to add this fleet to the group, or use a new name to create a new metric group. Currently, a fleet can only be included in one metric group at a time.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2856,7 +3437,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the updated fleet.

" + "documentation":"

Unique identifier for a fleet that was updated.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2867,7 +3448,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to update capacity for.

" + "documentation":"

Unique identifier for a fleet to update capacity for.

" }, "DesiredInstances":{ "shape":"WholeNumber", @@ -2889,7 +3470,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the updated fleet.

" + "documentation":"

Unique identifier for a fleet that was updated.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2900,7 +3481,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to update port settings for.

" + "documentation":"

Unique identifier for a fleet to update port settings for.

" }, "InboundPermissionAuthorizations":{ "shape":"IpPermissionsList", @@ -2918,7 +3499,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the updated fleet.

" + "documentation":"

Unique identifier for a fleet that was updated.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2929,15 +3510,15 @@ "members":{ "GameSessionId":{ "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to update. Game session ID format is as follows: \"arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>\". The value of <ID string> is either a custom ID string (if one was specified when the game session was created) an autogenerated string.

" + "documentation":"

Unique identifier for the game session to update.

" }, "MaximumPlayerSessionCount":{ "shape":"WholeNumber", - "documentation":"

Maximum number of players that can be simultaneously connected to the game session.

" + "documentation":"

Maximum number of players that can be connected simultaneously to the game session.

" }, "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a game session. Session names do not need to be unique.

" + "documentation":"

Descriptive label that is associated with a game session. Session names do not need to be unique.

" }, "PlayerSessionCreationPolicy":{ "shape":"PlayerSessionCreationPolicy", @@ -2955,7 +3536,40 @@ "members":{ "GameSession":{ "shape":"GameSession", - "documentation":"

Object containing the updated game session metadata.

" + "documentation":"

Object that contains the updated game session metadata.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "UpdateGameSessionQueueInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"GameSessionQueueName", + "documentation":"

Descriptive label that is associated with queue. Queue names must be unique within each region.

" + }, + "TimeoutInSeconds":{ + "shape":"WholeNumber", + "documentation":"

Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

" + }, + "PlayerLatencyPolicies":{ + "shape":"PlayerLatencyPolicyList", + "documentation":"

Collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, it is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. When updating policies, provide a complete collection of policies.

" + }, + "Destinations":{ + "shape":"GameSessionQueueDestinationList", + "documentation":"

List of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order. When updating this list, provide a complete list of destinations.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "UpdateGameSessionQueueOutput":{ + "type":"structure", + "members":{ + "GameSessionQueue":{ + "shape":"GameSessionQueue", + "documentation":"

Object that describes the newly updated game session queue.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2969,7 +3583,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier of the fleet to update runtime configuration for.

" + "documentation":"

Unique identifier for a fleet to update runtime configuration for.

" }, "RuntimeConfiguration":{ "shape":"RuntimeConfiguration", @@ -2993,5 +3607,5 @@ "min":0 } }, - "documentation":"Amazon GameLift Service

Welcome to the Amazon GameLift API Reference. Amazon GameLift is a managed Amazon Web Services (AWS) service for developers who need a scalable, server-based solution for multiplayer games. Amazon GameLift provides setup and deployment of game servers, and handles infrastructure scaling and session management.

This reference describes the low-level service API for GameLift. You can call this API directly or use the AWS SDK for your preferred language. The AWS SDK includes a set of high-level GameLift actions multiplayer game sessions. Alternatively, you can use the AWS command-line interface (CLI) tool, which includes commands for GameLift. For administrative actions, you can also use the Amazon GameLift console.

More Resources

Manage Games and Players Through GameLift

Call these actions from your game clients and/or services to create and manage multiplayer game sessions and player sessions.

Set Up and Manage Game Servers

Use these administrative actions to configure GameLift to host your game servers. When setting up GameLift, you will need to (1) configure a build for your game and upload build files, and (2) set up one or more fleets to host game sessions. Once you've created and activated a fleet, you can assign aliases to it, scale capacity, track performance and utilization, etc.

To view changes to the API, see the GameLift Document History page.

" + "documentation":"Amazon GameLift Service

Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Amazon GameLift provides tools to acquire computing resources and deploy game servers, scale game server capacity to meet player demand, and track in-depth metrics on player usage and server performance.

The Amazon GameLift service API includes important features:

  • Find game sessions and match players to games – Retrieve information on available game sessions; create new game sessions; send player requests to join a game session.

  • Configure and manage game server resources – Manage builds, fleets, queues, and aliases; set autoscaling policies; retrieve logs and metrics.

This reference guide describes the low-level service API for Amazon GameLift. We recommend using either the Amazon Web Services software development kit (AWS SDK), available in multiple languages, or the AWS command-line interface (CLI) tool. Both of these align with the low-level service API. In addition, you can use the AWS Management Console for Amazon GameLift for many administrative actions.

You can use some API actions with Amazon GameLift Local, a testing tool that lets you test your game integration locally before deploying on Amazon GameLift. You can call these APIs from the AWS CLI or programmatically; API calls to Amazon GameLift Local servers perform exactly as they do when calling Amazon GameLift web servers. For more information on using Amazon GameLift Local, see Testing an Integration.

MORE RESOURCES

API SUMMARY

This list offers a functional overview of the Amazon GameLift service API.

Finding Games and Joining Players

You can enable players to connect to game servers on Amazon GameLift from a game client or through a game service (such as a matchmaking service). You can use these operations to discover actively running game or start new games. You can also match players to games, either singly or as a group.

  • Discover existing game sessions

    • SearchGameSessions – Get all available game sessions or search for game sessions that match a set of criteria. Available in Amazon GameLift Local.

  • Start a new game session

    • Game session placement – Use a queue to process new game session requests and create game sessions on fleets designated for the queue.

    • CreateGameSession – Start a new game session on a specific fleet. Available in Amazon GameLift Local.

  • Manage game session objects

    • DescribeGameSessions – Retrieve metadata for one or more game sessions, including length of time active and current player count. Available in Amazon GameLift Local.

    • DescribeGameSessionDetails – Retrieve metadata and the game session protection setting for one or more game sessions.

    • UpdateGameSession – Change game session settings, such as maximum player count and join policy.

    • GetGameSessionLogUrl – Get the location of saved logs for a game session.

  • Manage player sessions objects

    • CreatePlayerSession – Send a request for a player to join a game session. Available in Amazon GameLift Local.

    • CreatePlayerSessions – Send a request for multiple players to join a game session. Available in Amazon GameLift Local.

    • DescribePlayerSessions – Get details on player activity, including status, playing time, and player data. Available in Amazon GameLift Local.

Setting Up and Managing Game Servers

When setting up Amazon GameLift, first create a game build and upload the files to Amazon GameLift. Then use these operations to set up a fleet of resources to run your game servers. Manage games to scale capacity, adjust configuration settings, access raw utilization data, and more.

  • Manage game builds

    • CreateBuild – Create a new build by uploading files stored in an Amazon S3 bucket. (To create a build stored at a local file location, use the AWS CLI command upload-build.)

    • ListBuilds – Get a list of all builds uploaded to a Amazon GameLift region.

    • DescribeBuild – Retrieve information associated with a build.

    • UpdateBuild – Change build metadata, including build name and version.

    • DeleteBuild – Remove a build from Amazon GameLift.

  • Manage fleets

  • Control fleet capacity

    • DescribeEC2InstanceLimits – Retrieve maximum number of instances allowed for the current AWS account and the current usage level.

    • DescribeFleetCapacity / UpdateFleetCapacity – Retrieve the capacity settings and the current number of instances in a fleet; adjust fleet capacity settings to scale up or down.

    • Autoscale – Manage autoscaling rules and apply them to a fleet.

  • Access fleet activity statistics

    • DescribeFleetUtilization – Get current data on the number of server processes, game sessions, and players currently active on a fleet.

    • DescribeFleetEvents – Get a fleet's logged events for a specified time span.

    • DescribeGameSessions – Retrieve metadata associated with one or more game sessions, including length of time active and current player count.

  • Remotely access an instance

    • GetInstanceAccess – Request access credentials needed to remotely connect to a specified instance in a fleet.

  • Manage fleet aliases

    • CreateAlias – Define a new alias and optionally assign it to a fleet.

    • ListAliases – Get all fleet aliases defined in a Amazon GameLift region.

    • DescribeAlias – Retrieve information on an existing alias.

    • UpdateAlias – Change settings for a alias, such as redirecting it from one fleet to another.

    • DeleteAlias – Remove an alias from the region.

    • ResolveAlias – Get the fleet ID that a specified alias points to.

  • Manage game session queues

" } diff --git a/botocore/data/glacier/2012-06-01/examples-1.json b/botocore/data/glacier/2012-06-01/examples-1.json new file mode 100644 index 00000000..7ecea259 --- /dev/null +++ b/botocore/data/glacier/2012-06-01/examples-1.json @@ -0,0 +1,806 @@ +{ + "version": "1.0", + "examples": { + "AbortMultipartUpload": [ + { + "input": { + "accountId": "-", + "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ", + "vaultName": "my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example deletes an in-progress multipart upload to a vault named my-vault:", + "id": "f3d907f6-e71c-420c-8f71-502346a2c48a", + "title": "To abort a multipart upload identified by the upload ID" + } + ], + "AbortVaultLock": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example aborts the vault locking process if the vault lock is not in the Locked state for the vault named examplevault.", + "id": "to-abort-a-vault-lock-1481839357947", + "title": "To abort a vault lock" + } + ], + "AddTagsToVault": [ + { + "input": { + "Tags": { + "examplekey1": "examplevalue1", + "examplekey2": "examplevalue2" + }, + "accountId": "-", + "vaultName": "my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example adds two tags to a my-vault.", + "id": "add-tags-to-vault-post-tags-add-1481663457694", + "title": "To add tags to a vault" + } + ], + "CompleteMultipartUpload": [ + { + "input": { + "accountId": "-", + "archiveSize": "3145728", + "checksum": "9628195fcdbcbbe76cdde456d4646fa7de5f219fb39823836d81f0cc0e18aa67", + "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ", + "vaultName": "my-vault" + }, + "output": { + "archiveId": "NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId", + "checksum": "9628195fcdbcbbe76cdde456d4646fa7de5f219fb39823836d81f0cc0e18aa67", + "location": "/111122223333/vaults/my-vault/archives/NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example completes a multipart upload for a 3 MiB archive.", + "id": "272aa0b8-e44c-4a64-add2-ad905a37984d", + "title": "To complete a multipart upload" + } + ], + "CompleteVaultLock": [ + { + "input": { + "accountId": "-", + "lockId": "AE863rKkWZU53SLW5be4DUcW", + "vaultName": "example-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example completes the vault locking process by transitioning the vault lock from the InProgress state to the Locked state.", + "id": "to-complete-a-vault-lock-1481839721312", + "title": "To complete a vault lock" + } + ], + "CreateVault": [ + { + "input": { + "accountId": "-", + "vaultName": "my-vault" + }, + "output": { + "location": "/111122223333/vaults/my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a new vault named my-vault.", + "id": "1dc0313d-ace1-4e6c-9d13-1ec7813b14b7", + "title": "To create a new vault" + } + ], + "DeleteArchive": [ + { + "input": { + "accountId": "-", + "archiveId": "NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId", + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example deletes the archive specified by the archive ID.", + "id": "delete-archive-1481667809463", + "title": "To delete an archive" + } + ], + "DeleteVault": [ + { + "input": { + "accountId": "-", + "vaultName": "my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example deletes a vault named my-vault:", + "id": "7f7f000b-4bdb-40d2-91e6-7c902f60f60f", + "title": "To delete a vault" + } + ], + "DeleteVaultAccessPolicy": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example deletes the access policy associated with the vault named examplevault.", + "id": "to-delete-the-vault-access-policy-1481840424677", + "title": "To delete the vault access policy" + } + ], + "DeleteVaultNotifications": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example deletes the notification configuration set for the vault named examplevault.", + "id": "to-delete-the-notification-configuration-set-for-a-vault-1481840646090", + "title": "To delete the notification configuration set for a vault" + } + ], + "DescribeJob": [ + { + "input": { + "accountId": "-", + "jobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4Cn", + "vaultName": "my-vault" + }, + "output": { + "Action": "InventoryRetrieval", + "Completed": false, + "CreationDate": "2015-07-17T20:23:41.616Z", + "InventoryRetrievalParameters": { + "Format": "JSON" + }, + "JobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW", + "StatusCode": "InProgress", + "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example returns information about the previously initiated job specified by the job ID.", + "id": "to-get-information-about-a-job-you-previously-initiated-1481840928592", + "title": "To get information about a previously initiated job" + } + ], + "DescribeVault": [ + { + "input": { + "accountId": "-", + "vaultName": "my-vault" + }, + "output": { + "CreationDate": "2016-09-23T19:27:18.665Z", + "NumberOfArchives": 0, + "SizeInBytes": 0, + "VaultARN": "arn:aws:glacier:us-west-2:111122223333:vaults/my-vault", + "VaultName": "my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example retrieves data about a vault named my-vault.", + "id": "3c1c6e9d-f5a2-427a-aa6a-f439eacfc05f", + "title": "To retrieve information about a vault" + } + ], + "GetDataRetrievalPolicy": [ + { + "input": { + "accountId": "-" + }, + "output": { + "Policy": { + "Rules": [ + { + "BytesPerHour": 10737418240, + "Strategy": "BytesPerHour" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example returns the current data retrieval policy for the account.", + "id": "to-get-the-current-data-retrieval-policy-for-the-account-1481851580439", + "title": "To get the current data retrieval policy for an account" + } + ], + "GetJobOutput": [ + { + "input": { + "accountId": "-", + "jobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW", + "range": "", + "vaultName": "my-vaul" + }, + "output": { + "acceptRanges": "bytes", + "body": "inventory-data", + "contentType": "application/json", + "status": 200 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example downloads the output of a previously initiated inventory retrieval job that is identified by the job ID.", + "id": "to-get-the-output-of-a-previously-initiated-job-1481848550859", + "title": "To get the output of a previously initiated job" + } + ], + "GetVaultAccessPolicy": [ + { + "input": { + "accountId": "-", + "vaultName": "example-vault" + }, + "output": { + "policy": { + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-owner-access-rights\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault\"}]}" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example retrieves the access-policy set on the vault named example-vault.", + "id": "to--get-the-access-policy-set-on-the-vault-1481936004590", + "title": "To get the access-policy set on the vault" + } + ], + "GetVaultLock": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "output": { + "CreationDate": "exampledate", + "ExpirationDate": "exampledate", + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-vault-lock\",\"Effect\":\"Deny\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault\",\"Condition\":{\"NumericLessThanEquals\":{\"glacier:ArchiveAgeinDays\":\"365\"}}}]}", + "State": "InProgress" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example retrieves the attributes from the lock-policy subresource set on the vault named examplevault.", + "id": "to-retrieve-vault-lock-policy-related-attributes-that-are-set-on-a-vault-1481851363097", + "title": "To retrieve vault lock-policy related attributes that are set on a vault" + } + ], + "GetVaultNotifications": [ + { + "input": { + "accountId": "-", + "vaultName": "my-vault" + }, + "output": { + "vaultNotificationConfig": { + "Events": [ + "InventoryRetrievalCompleted", + "ArchiveRetrievalCompleted" + ], + "SNSTopic": "arn:aws:sns:us-west-2:0123456789012:my-vault" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example retrieves the notification-configuration for the vault named my-vault.", + "id": "to-get-the-notification-configuration-for-the-specified-vault-1481918746677", + "title": "To get the notification-configuration for the specified vault" + } + ], + "InitiateJob": [ + { + "input": { + "accountId": "-", + "jobParameters": { + "Description": "My inventory job", + "Format": "CSV", + "SNSTopic": "arn:aws:sns:us-west-2:111111111111:Glacier-InventoryRetrieval-topic-Example", + "Type": "inventory-retrieval" + }, + "vaultName": "examplevault" + }, + "output": { + "jobId": " HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID", + "location": "/111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example initiates an inventory-retrieval job for the vault named examplevault.", + "id": "to-initiate-an-inventory-retrieval-job-1482186883826", + "title": "To initiate an inventory-retrieval job" + } + ], + "InitiateMultipartUpload": [ + { + "input": { + "accountId": "-", + "partSize": "1048576", + "vaultName": "my-vault" + }, + "output": { + "location": "/111122223333/vaults/my-vault/multipart-uploads/19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ", + "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example initiates a multipart upload to a vault named my-vault with a part size of 1 MiB (1024 x 1024 bytes) per file.", + "id": "72f2db19-3d93-4c74-b2ed-38703baacf49", + "title": "To initiate a multipart upload" + } + ], + "InitiateVaultLock": [ + { + "input": { + "accountId": "-", + "policy": { + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-vault-lock\",\"Effect\":\"Deny\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault\",\"Condition\":{\"NumericLessThanEquals\":{\"glacier:ArchiveAgeinDays\":\"365\"}}}]}" + }, + "vaultName": "my-vault" + }, + "output": { + "lockId": "AE863rKkWZU53SLW5be4DUcW" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example initiates the vault locking process for the vault named my-vault.", + "id": "to-initiate-the-vault-locking-process-1481919693394", + "title": "To initiate the vault locking process" + } + ], + "ListJobs": [ + { + "input": { + "accountId": "-", + "vaultName": "my-vault" + }, + "output": { + "JobList": [ + { + "Action": "ArchiveRetrieval", + "ArchiveId": "kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw", + "ArchiveSHA256TreeHash": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67", + "ArchiveSizeInBytes": 3145728, + "Completed": false, + "CreationDate": "2015-07-17T21:16:13.840Z", + "JobDescription": "Retrieve archive on 2015-07-17", + "JobId": "l7IL5-EkXyEY9Ws95fClzIbk2O5uLYaFdAYOi-azsX_Z8V6NH4yERHzars8wTKYQMX6nBDI9cMNHzyZJO59-8N9aHWav", + "RetrievalByteRange": "0-3145727", + "SHA256TreeHash": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67", + "SNSTopic": "arn:aws:sns:us-west-2:0123456789012:my-vault", + "StatusCode": "InProgress", + "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault" + }, + { + "Action": "InventoryRetrieval", + "Completed": false, + "CreationDate": "2015-07-17T20:23:41.616Z", + "InventoryRetrievalParameters": { + "Format": "JSON" + }, + "JobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW", + "StatusCode": "InProgress", + "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists jobs for the vault named my-vault.", + "id": "to-list-jobs-for-a-vault-1481920530537", + "title": "To list jobs for a vault" + } + ], + "ListMultipartUploads": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "output": { + "Marker": "null", + "UploadsList": [ + { + "ArchiveDescription": "archive 1", + "CreationDate": "2012-03-19T23:20:59.130Z", + "MultipartUploadId": "xsQdFIRsfJr20CW2AbZBKpRZAFTZSJIMtL2hYf8mvp8dM0m4RUzlaqoEye6g3h3ecqB_zqwB7zLDMeSWhwo65re4C4Ev", + "PartSizeInBytes": 4194304, + "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault" + }, + { + "ArchiveDescription": "archive 2", + "CreationDate": "2012-04-01T15:00:00.000Z", + "MultipartUploadId": "nPyGOnyFcx67qqX7E-0tSGiRi88hHMOwOxR-_jNyM6RjVMFfV29lFqZ3rNsSaWBugg6OP92pRtufeHdQH7ClIpSF6uJc", + "PartSizeInBytes": 4194304, + "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault" + }, + { + "ArchiveDescription": "archive 3", + "CreationDate": "2012-03-20T17:03:43.221Z", + "MultipartUploadId": "qt-RBst_7yO8gVIonIBsAxr2t-db0pE4s8MNeGjKjGdNpuU-cdSAcqG62guwV9r5jh5mLyFPzFEitTpNE7iQfHiu1XoV", + "PartSizeInBytes": 4194304, + "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists all the in-progress multipart uploads for the vault named examplevault.", + "id": "to-list-all-the-in-progress-multipart-uploads-for-a-vault-1481935250590", + "title": "To list all the in-progress multipart uploads for a vault" + } + ], + "ListParts": [ + { + "input": { + "accountId": "-", + "uploadId": "OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE", + "vaultName": "examplevault" + }, + "output": { + "ArchiveDescription": "archive description", + "CreationDate": "2012-03-20T17:03:43.221Z", + "Marker": "null", + "MultipartUploadId": "OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE", + "PartSizeInBytes": 4194304, + "Parts": [ + { + "RangeInBytes": "0-4194303", + "SHA256TreeHash": "01d34dabf7be316472c93b1ef80721f5d4" + }, + { + "RangeInBytes": "4194304-8388607", + "SHA256TreeHash": "0195875365afda349fc21c84c099987164" + } + ], + "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/demo1-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists all the parts of a multipart upload.", + "id": "to-list-the-parts-of-an-archive-that-have-been-uploaded-in-a-multipart-upload-1481921767590", + "title": "To list the parts of an archive that have been uploaded in a multipart upload" + } + ], + "ListProvisionedCapacity": [ + { + "input": { + "accountId": "-" + }, + "output": { + "ProvisionedCapacityList": [ + { + "CapacityId": "zSaq7NzHFQDANTfQkDen4V7z", + "ExpirationDate": "2016-12-12T00:00:00.000Z", + "StartDate": "2016-11-11T20:11:51.095Z" + }, + { + "CapacityId": "yXaq7NzHFQNADTfQkDen4V7z", + "ExpirationDate": "2017-01-15T00:00:00.000Z", + "StartDate": "2016-12-13T20:11:51.095Z" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists the provisioned capacity units for an account.", + "id": "to-list-the-provisioned-capacity-units-for-an-account-1481923656130", + "title": "To list the provisioned capacity units for an account" + } + ], + "ListTagsForVault": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "output": { + "Tags": { + "date": "july2015", + "id": "1234" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists all the tags attached to the vault examplevault.", + "id": "list-tags-for-vault-1481755839720", + "title": "To list the tags for a vault" + } + ], + "ListVaults": [ + { + "input": { + "accountId": "-", + "limit": "", + "marker": "" + }, + "output": { + "VaultList": [ + { + "CreationDate": "2015-04-06T21:23:45.708Z", + "LastInventoryDate": "2015-04-07T00:26:19.028Z", + "NumberOfArchives": 1, + "SizeInBytes": 3178496, + "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault", + "VaultName": "my-vault" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists all vaults owned by the specified AWS account.", + "id": "list-vaults-1481753006990", + "title": "To list all vaults owned by the calling user's account" + } + ], + "PurchaseProvisionedCapacity": [ + { + "input": { + "accountId": "-" + }, + "output": { + "capacityId": "zSaq7NzHFQDANTfQkDen4V7z" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example purchases provisioned capacity unit for an AWS account.", + "id": "to-purchases-a-provisioned-capacity-unit-for-an-aws-account-1481927446662", + "title": "To purchases a provisioned capacity unit for an AWS account" + } + ], + "RemoveTagsFromVault": [ + { + "input": { + "TagKeys": [ + "examplekey1", + "examplekey2" + ], + "accountId": "-", + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example removes two tags from the vault named examplevault.", + "id": "remove-tags-from-vault-1481754998801", + "title": "To remove tags from a vault" + } + ], + "SetDataRetrievalPolicy": [ + { + "input": { + "Policy": { + "Rules": [ + { + "BytesPerHour": 10737418240, + "Strategy": "BytesPerHour" + } + ] + }, + "accountId": "-" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example sets and then enacts a data retrieval policy.", + "id": "to-set-and-then-enact-a-data-retrieval-policy--1481928352408", + "title": "To set and then enact a data retrieval policy " + } + ], + "SetVaultAccessPolicy": [ + { + "input": { + "accountId": "-", + "policy": { + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-owner-access-rights\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault\"}]}" + }, + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example configures an access policy for the vault named examplevault.", + "id": "to--set-the-access-policy-on-a-vault-1482185872517", + "title": "To set the access-policy on a vault" + } + ], + "SetVaultNotifications": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault", + "vaultNotificationConfig": { + "Events": [ + "ArchiveRetrievalCompleted", + "InventoryRetrievalCompleted" + ], + "SNSTopic": "arn:aws:sns:us-west-2:012345678901:mytopic" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example sets the examplevault notification configuration.", + "id": "to-configure-a-vault-to-post-a-message-to-an-amazon-simple-notification-service-amazon-sns-topic-when-jobs-complete-1482186397475", + "title": "To configure a vault to post a message to an Amazon SNS topic when jobs complete" + } + ], + "UploadArchive": [ + { + "input": { + "accountId": "-", + "archiveDescription": "", + "body": "example-data-to-upload", + "checksum": "", + "vaultName": "my-vault" + }, + "output": { + "archiveId": "kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw", + "checksum": "969fb39823836d81f0cc028195fcdbcbbe76cdde932d4646fa7de5f21e18aa67", + "location": "/0123456789012/vaults/my-vault/archives/kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example adds an archive to a vault.", + "id": "upload-archive-1481668510494", + "title": "To upload an archive" + } + ], + "UploadMultipartPart": [ + { + "input": { + "accountId": "-", + "body": "part1", + "checksum": "c06f7cd4baacb087002a99a5f48bf953", + "range": "bytes 0-1048575/*", + "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ", + "vaultName": "examplevault" + }, + "output": { + "checksum": "c06f7cd4baacb087002a99a5f48bf953" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example uploads the first 1 MiB (1024 x 1024 bytes) part of an archive.", + "id": "to-upload-the-first-part-of-an-archive-1481835899519", + "title": "To upload the first part of an archive" + } + ] + } +} diff --git a/botocore/data/glacier/2012-06-01/waiters-2.json b/botocore/data/glacier/2012-06-01/waiters-2.json new file mode 100644 index 00000000..07a64a05 --- /dev/null +++ b/botocore/data/glacier/2012-06-01/waiters-2.json @@ -0,0 +1,39 @@ +{ + "version": 2, + "waiters": { + "VaultExists": { + "operation": "DescribeVault", + "delay": 3, + "maxAttempts": 15, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "ResourceNotFoundException" + } + ] + }, + "VaultNotExists": { + "operation": "DescribeVault", + "delay": 3, + "maxAttempts": 15, + "acceptors": [ + { + "state": "retry", + "matcher": "status", + "expected": 200 + }, + { + "state": "success", + "matcher": "error", + "expected": "ResourceNotFoundException" + } + ] + } + } +} diff --git a/botocore/data/greengrass/2017-06-07/service-2.json b/botocore/data/greengrass/2017-06-07/service-2.json new file mode 100644 index 00000000..2a2ed8cc --- /dev/null +++ b/botocore/data/greengrass/2017-06-07/service-2.json @@ -0,0 +1,4058 @@ +{ + "metadata" : { + "apiVersion" : "2017-06-07", + "endpointPrefix" : "greengrass", + "signingName" : "greengrass", + "serviceFullName" : "AWS Greengrass", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "greengrass-2017-06-07", + "signatureVersion" : "v4" + }, + "operations" : { + "AssociateRoleToGroup" : { + "name" : "AssociateRoleToGroup", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/groups/{GroupId}/role", + "responseCode" : 200 + }, + "input" : { + "shape" : "AssociateRoleToGroupRequest" + }, + "output" : { + "shape" : "AssociateRoleToGroupResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "User Error" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "Server Error" + } ], + "documentation" : "Associates a role with a group. The role will be used by the AWS Greengrass core in order to access AWS cloud services. The role's permissions will allow Greengrass core Lambda functions to perform actions against the cloud." + }, + "AssociateServiceRoleToAccount" : { + "name" : "AssociateServiceRoleToAccount", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/servicerole", + "responseCode" : 200 + }, + "input" : { + "shape" : "AssociateServiceRoleToAccountRequest" + }, + "output" : { + "shape" : "AssociateServiceRoleToAccountResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "User Error" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "Server Error" + } ], + "documentation" : "Associates a role which is used by AWS Greengrass. AWS Greengrass uses the role to access your Lambda functions and AWS IoT resources. This is necessary for deployments to succeed. It needs to have minimum permissions in policy ``AWSGreengrassResourceAccessRolePolicy``" + }, + "CreateCoreDefinition" : { + "name" : "CreateCoreDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/cores", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateCoreDefinitionRequest" + }, + "output" : { + "shape" : "CreateCoreDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a core definition. You may optionally provide the initial version of the core definition or use ''CreateCoreDefinitionVersion'' at a later time. AWS Greengrass Groups must each contain exactly 1 AWS Greengrass Core." + }, + "CreateCoreDefinitionVersion" : { + "name" : "CreateCoreDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateCoreDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateCoreDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a version of a core definition that has already been defined. AWS Greengrass Groups must each contain exactly 1 AWS Greengrass Core." + }, + "CreateDeployment" : { + "name" : "CreateDeployment", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/groups/{GroupId}/deployments", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateDeploymentRequest" + }, + "output" : { + "shape" : "CreateDeploymentResponse", + "documentation" : "Successfully deployed the given group" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "This request was invalid." + } ], + "documentation" : "Creates a deployment." + }, + "CreateDeviceDefinition" : { + "name" : "CreateDeviceDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/devices", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateDeviceDefinitionRequest" + }, + "output" : { + "shape" : "CreateDeviceDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a device definition. You may optinally provide the initial version of the device definition or use ``CreateDeviceDefinitionVersion`` at a later time." + }, + "CreateDeviceDefinitionVersion" : { + "name" : "CreateDeviceDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateDeviceDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateDeviceDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a version of a device definition that has already been defined." + }, + "CreateFunctionDefinition" : { + "name" : "CreateFunctionDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/functions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateFunctionDefinitionRequest" + }, + "output" : { + "shape" : "CreateFunctionDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a Lambda function definition which contains a list of Lambda functions and their configurations to be used in a group. You can create an initial version of the definition by providing a list of Lambda functions and their configurations now, or use ``CreateFunctionDefinitionVersion`` later." + }, + "CreateFunctionDefinitionVersion" : { + "name" : "CreateFunctionDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateFunctionDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateFunctionDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Create a version of a Lambda function definition that has already been defined." + }, + "CreateGroup" : { + "name" : "CreateGroup", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/groups", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateGroupRequest" + }, + "output" : { + "shape" : "CreateGroupResponse", + "documentation" : "Group created successfully" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a group. You may optionally provide the initial version of the group or use ''CreateGroupVersion'' at a later time." + }, + "CreateGroupCertificateAuthority" : { + "name" : "CreateGroupCertificateAuthority", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateGroupCertificateAuthorityRequest" + }, + "output" : { + "shape" : "CreateGroupCertificateAuthorityResponse", + "documentation" : "The response body contains the new active CA ARN" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "This request was invalid." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "The server encountered an unexpected error." + } ], + "documentation" : "Creates a CA for the group. If a CA already exists, it will rotate the existing CA." + }, + "CreateGroupVersion" : { + "name" : "CreateGroupVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/groups/{GroupId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateGroupVersionRequest" + }, + "output" : { + "shape" : "CreateGroupVersionResponse", + "documentation" : "the requested version of the Group" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a version of a group which has already been defined." + }, + "CreateLoggerDefinition" : { + "name" : "CreateLoggerDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/loggers", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateLoggerDefinitionRequest" + }, + "output" : { + "shape" : "CreateLoggerDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a logger definition. You may optionally provide the initial version of the logger definition or use ``CreateLoggerDefinitionVersion`` at a later time." + }, + "CreateLoggerDefinitionVersion" : { + "name" : "CreateLoggerDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateLoggerDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateLoggerDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a version of a logger definition that has already been defined." + }, + "CreateSubscriptionDefinition" : { + "name" : "CreateSubscriptionDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/subscriptions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateSubscriptionDefinitionRequest" + }, + "output" : { + "shape" : "CreateSubscriptionDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a subscription definition. You may optionally provide the initial version of the subscription definition or use ``CreateSubscriptionDefinitionVersion`` at a later time." + }, + "CreateSubscriptionDefinitionVersion" : { + "name" : "CreateSubscriptionDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateSubscriptionDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateSubscriptionDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Creates a version of a subscription definition which has already been defined." + }, + "DeleteCoreDefinition" : { + "name" : "DeleteCoreDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteCoreDefinitionRequest" + }, + "output" : { + "shape" : "DeleteCoreDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Deletes a core definition. The core definition must not have been used in a deployment." + }, + "DeleteDeviceDefinition" : { + "name" : "DeleteDeviceDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteDeviceDefinitionRequest" + }, + "output" : { + "shape" : "DeleteDeviceDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Deletes a device definition. The device definition must not have been used in a deployment." + }, + "DeleteFunctionDefinition" : { + "name" : "DeleteFunctionDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteFunctionDefinitionRequest" + }, + "output" : { + "shape" : "DeleteFunctionDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Deletes a Lambda function definition. The Lambda function definition must not have been used in a deployment." + }, + "DeleteGroup" : { + "name" : "DeleteGroup", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/groups/{GroupId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteGroupRequest" + }, + "output" : { + "shape" : "DeleteGroupResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Deletes a group. The group must not have been used in deployment." + }, + "DeleteLoggerDefinition" : { + "name" : "DeleteLoggerDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteLoggerDefinitionRequest" + }, + "output" : { + "shape" : "DeleteLoggerDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Deletes a logger definition. The logger definition must not have been used in a deployment." + }, + "DeleteSubscriptionDefinition" : { + "name" : "DeleteSubscriptionDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteSubscriptionDefinitionRequest" + }, + "output" : { + "shape" : "DeleteSubscriptionDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Deletes a subscription definition. The subscription definition must not have been used in a deployment." + }, + "DisassociateRoleFromGroup" : { + "name" : "DisassociateRoleFromGroup", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/groups/{GroupId}/role", + "responseCode" : 200 + }, + "input" : { + "shape" : "DisassociateRoleFromGroupRequest" + }, + "output" : { + "shape" : "DisassociateRoleFromGroupResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "User Error" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "Server Error" + } ], + "documentation" : "Disassociates the role from a group." + }, + "DisassociateServiceRoleFromAccount" : { + "name" : "DisassociateServiceRoleFromAccount", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/servicerole", + "responseCode" : 200 + }, + "input" : { + "shape" : "DisassociateServiceRoleFromAccountRequest" + }, + "output" : { + "shape" : "DisassociateServiceRoleFromAccountResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "InternalServerErrorException", + "documentation" : "Server Error" + } ], + "documentation" : "Disassociates the service role from the account. Without a service role, deployments will not work." + }, + "GetAssociatedRole" : { + "name" : "GetAssociatedRole", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/role", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetAssociatedRoleRequest" + }, + "output" : { + "shape" : "GetAssociatedRoleResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "User Error" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "Server Error" + } ], + "documentation" : "Retrieves the role associated with a particular group." + }, + "GetConnectivityInfo" : { + "name" : "GetConnectivityInfo", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/things/{ThingName}/connectivityInfo", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetConnectivityInfoRequest" + }, + "output" : { + "shape" : "GetConnectivityInfoResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "400 response" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "500 response" + } ], + "documentation" : "Retrieves the connectivity information for a core." + }, + "GetCoreDefinition" : { + "name" : "GetCoreDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetCoreDefinitionRequest" + }, + "output" : { + "shape" : "GetCoreDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a core definition version." + }, + "GetCoreDefinitionVersion" : { + "name" : "GetCoreDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}/versions/{CoreDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetCoreDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetCoreDefinitionVersionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a core definition version." + }, + "GetDeploymentStatus" : { + "name" : "GetDeploymentStatus", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/deployments/{DeploymentId}/status", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeploymentStatusRequest" + }, + "output" : { + "shape" : "GetDeploymentStatusResponse", + "documentation" : "The response body contains the status of a deployment for a group." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "This request was invalid." + } ], + "documentation" : "Returns the status of a deployment." + }, + "GetDeviceDefinition" : { + "name" : "GetDeviceDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeviceDefinitionRequest" + }, + "output" : { + "shape" : "GetDeviceDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a device definition." + }, + "GetDeviceDefinitionVersion" : { + "name" : "GetDeviceDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}/versions/{DeviceDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeviceDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetDeviceDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a device definition version." + }, + "GetFunctionDefinition" : { + "name" : "GetFunctionDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetFunctionDefinitionRequest" + }, + "output" : { + "shape" : "GetFunctionDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a Lambda function definition, such as its creation time and latest version." + }, + "GetFunctionDefinitionVersion" : { + "name" : "GetFunctionDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}/versions/{FunctionDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetFunctionDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetFunctionDefinitionVersionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a Lambda function definition version, such as which Lambda functions are included in the version and their configurations." + }, + "GetGroup" : { + "name" : "GetGroup", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetGroupRequest" + }, + "output" : { + "shape" : "GetGroupResponse", + "documentation" : "the requested Group" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a group." + }, + "GetGroupCertificateAuthority" : { + "name" : "GetGroupCertificateAuthority", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities/{CertificateAuthorityId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetGroupCertificateAuthorityRequest" + }, + "output" : { + "shape" : "GetGroupCertificateAuthorityResponse", + "documentation" : "The response body contains the PKI Configuration" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "This request was invalid." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "This request was invalid." + } ], + "documentation" : "Retreives the CA associated with a group. Returns the public key of the CA." + }, + "GetGroupCertificateConfiguration" : { + "name" : "GetGroupCertificateConfiguration", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetGroupCertificateConfigurationRequest" + }, + "output" : { + "shape" : "GetGroupCertificateConfigurationResponse", + "documentation" : "The response body contains the PKI Configuration" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "This request was invalid." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "This request was invalid." + } ], + "documentation" : "Retrieves the current configuration for the CA used by the group." + }, + "GetGroupVersion" : { + "name" : "GetGroupVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/versions/{GroupVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetGroupVersionRequest" + }, + "output" : { + "shape" : "GetGroupVersionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a group version." + }, + "GetLoggerDefinition" : { + "name" : "GetLoggerDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetLoggerDefinitionRequest" + }, + "output" : { + "shape" : "GetLoggerDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a logger definition." + }, + "GetLoggerDefinitionVersion" : { + "name" : "GetLoggerDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetLoggerDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetLoggerDefinitionVersionResponse", + "documentation" : "test" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a logger definition version." + }, + "GetServiceRoleForAccount" : { + "name" : "GetServiceRoleForAccount", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/servicerole", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetServiceRoleForAccountRequest" + }, + "output" : { + "shape" : "GetServiceRoleForAccountResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "InternalServerErrorException", + "documentation" : "Server Error" + } ], + "documentation" : "Retrieves the service role that is attached to the account." + }, + "GetSubscriptionDefinition" : { + "name" : "GetSubscriptionDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetSubscriptionDefinitionRequest" + }, + "output" : { + "shape" : "GetSubscriptionDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a subscription definition." + }, + "GetSubscriptionDefinitionVersion" : { + "name" : "GetSubscriptionDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions/{SubscriptionDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetSubscriptionDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetSubscriptionDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Retrieves information about a subscription definition version." + }, + "ListCoreDefinitionVersions" : { + "name" : "ListCoreDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListCoreDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListCoreDefinitionVersionsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Lists versions of a core definition." + }, + "ListCoreDefinitions" : { + "name" : "ListCoreDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/cores", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListCoreDefinitionsRequest" + }, + "output" : { + "shape" : "ListCoreDefinitionsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of core definitions." + }, + "ListDeployments" : { + "name" : "ListDeployments", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/deployments", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListDeploymentsRequest" + }, + "output" : { + "shape" : "ListDeploymentsResponse", + "documentation" : "The response body contains the list of deployments for the given group Id" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "This request was invalid." + } ], + "documentation" : "Returns a history of deployments for the group." + }, + "ListDeviceDefinitionVersions" : { + "name" : "ListDeviceDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListDeviceDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListDeviceDefinitionVersionsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Lists the versions of a device definition." + }, + "ListDeviceDefinitions" : { + "name" : "ListDeviceDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/devices", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListDeviceDefinitionsRequest" + }, + "output" : { + "shape" : "ListDeviceDefinitionsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of device definitions." + }, + "ListFunctionDefinitionVersions" : { + "name" : "ListFunctionDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListFunctionDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListFunctionDefinitionVersionsResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Lists the versions of a Lambda function definition." + }, + "ListFunctionDefinitions" : { + "name" : "ListFunctionDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/functions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListFunctionDefinitionsRequest" + }, + "output" : { + "shape" : "ListFunctionDefinitionsResponse", + "documentation" : "The Ids of all the Greengrass Function Definitions in this account." + }, + "errors" : [ ], + "documentation" : "Retrieves a list of Lambda function definitions." + }, + "ListGroupCertificateAuthorities" : { + "name" : "ListGroupCertificateAuthorities", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListGroupCertificateAuthoritiesRequest" + }, + "output" : { + "shape" : "ListGroupCertificateAuthoritiesResponse", + "documentation" : "The response body contains the PKI Configuration" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "This request was invalid." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "This request was invalid." + } ], + "documentation" : "Retrieves the current CAs for a group." + }, + "ListGroupVersions" : { + "name" : "ListGroupVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListGroupVersionsRequest" + }, + "output" : { + "shape" : "ListGroupVersionsResponse", + "documentation" : "the list of versions and metadata for the given group Id" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "List the versions of a group." + }, + "ListGroups" : { + "name" : "ListGroups", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListGroupsRequest" + }, + "output" : { + "shape" : "ListGroupsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of groups." + }, + "ListLoggerDefinitionVersions" : { + "name" : "ListLoggerDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListLoggerDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListLoggerDefinitionVersionsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Lists the versions of a logger definition." + }, + "ListLoggerDefinitions" : { + "name" : "ListLoggerDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/loggers", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListLoggerDefinitionsRequest" + }, + "output" : { + "shape" : "ListLoggerDefinitionsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of logger definitions." + }, + "ListSubscriptionDefinitionVersions" : { + "name" : "ListSubscriptionDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListSubscriptionDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListSubscriptionDefinitionVersionsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Lists the versions of a subscription definition." + }, + "ListSubscriptionDefinitions" : { + "name" : "ListSubscriptionDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/subscriptions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListSubscriptionDefinitionsRequest" + }, + "output" : { + "shape" : "ListSubscriptionDefinitionsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of subscription definitions." + }, + "UpdateConnectivityInfo" : { + "name" : "UpdateConnectivityInfo", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/things/{ThingName}/connectivityInfo", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateConnectivityInfoRequest" + }, + "output" : { + "shape" : "UpdateConnectivityInfoResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "400 response" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "500 response" + } ], + "documentation" : "Updates the connectivity information for the core. Any devices that belong to the group which has this core will receive this information in order to find the location of the core and connect to it." + }, + "UpdateCoreDefinition" : { + "name" : "UpdateCoreDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateCoreDefinitionRequest" + }, + "output" : { + "shape" : "UpdateCoreDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Updates a core definition." + }, + "UpdateDeviceDefinition" : { + "name" : "UpdateDeviceDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateDeviceDefinitionRequest" + }, + "output" : { + "shape" : "UpdateDeviceDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Updates a device definition." + }, + "UpdateFunctionDefinition" : { + "name" : "UpdateFunctionDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateFunctionDefinitionRequest" + }, + "output" : { + "shape" : "UpdateFunctionDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Updates a Lambda function definition." + }, + "UpdateGroup" : { + "name" : "UpdateGroup", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/groups/{GroupId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateGroupRequest" + }, + "output" : { + "shape" : "UpdateGroupResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Updates a group." + }, + "UpdateGroupCertificateConfiguration" : { + "name" : "UpdateGroupCertificateConfiguration", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateGroupCertificateConfigurationRequest" + }, + "output" : { + "shape" : "UpdateGroupCertificateConfigurationResponse", + "documentation" : "The response body contains the PKI Configuration" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "This request was invalid." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "This request was invalid." + } ], + "documentation" : "Updates the Cert expiry time for a group." + }, + "UpdateLoggerDefinition" : { + "name" : "UpdateLoggerDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateLoggerDefinitionRequest" + }, + "output" : { + "shape" : "UpdateLoggerDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Updates a logger definition." + }, + "UpdateSubscriptionDefinition" : { + "name" : "UpdateSubscriptionDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateSubscriptionDefinitionRequest" + }, + "output" : { + "shape" : "UpdateSubscriptionDefinitionResponse", + "documentation" : "200 response" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "user error" + } ], + "documentation" : "Updates a subscription definition." + } + }, + "shapes" : { + "AssociateRoleToGroupRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + }, + "RoleArn" : { + "shape" : "__string", + "documentation" : "Role arn you wish to associate with this group." + } + }, + "required" : [ "GroupId" ] + }, + "AssociateRoleToGroupResponse" : { + "type" : "structure", + "members" : { + "AssociatedAt" : { + "shape" : "__string", + "documentation" : "Time the role arn was associated to your group." + } + } + }, + "AssociateServiceRoleToAccountRequest" : { + "type" : "structure", + "members" : { + "RoleArn" : { + "shape" : "__string", + "documentation" : "Role arn you wish to associate with this account." + } + } + }, + "AssociateServiceRoleToAccountResponse" : { + "type" : "structure", + "members" : { + "AssociatedAt" : { + "shape" : "__string", + "documentation" : "Time when the service role was associated to the account." + } + } + }, + "BadRequestException" : { + "type" : "structure", + "members" : { + "ErrorDetails" : { + "shape" : "ErrorDetails", + "documentation" : "Error Details" + }, + "Message" : { + "shape" : "__string", + "documentation" : "Message" + } + }, + "documentation" : "General Error", + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "ConnectivityInfo" : { + "type" : "structure", + "members" : { + "HostAddress" : { + "shape" : "__string", + "documentation" : "Endpoint for the GGC. Can be an IP address or DNS." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Element Id for this entry in the list." + }, + "Metadata" : { + "shape" : "__string", + "documentation" : "Metadata for this endpoint." + }, + "PortNumber" : { + "shape" : "__integer", + "documentation" : "Port of the GGC. Usually 8883." + } + }, + "documentation" : "Connectivity Info" + }, + "Core" : { + "type" : "structure", + "members" : { + "CertificateArn" : { + "shape" : "__string", + "documentation" : "Certificate arn of the core." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Element Id for this entry in the list." + }, + "SyncShadow" : { + "shape" : "__boolean", + "documentation" : "If true, the local shadow value automatically syncs with the cloud's shadow state." + }, + "ThingArn" : { + "shape" : "__string", + "documentation" : "Thing arn of the core." + } + }, + "documentation" : "Information on the core" + }, + "CoreDefinitionVersion" : { + "type" : "structure", + "members" : { + "Cores" : { + "shape" : "ListOfCore", + "documentation" : "Cores in the definition version." + } + }, + "documentation" : "Information on core definition version" + }, + "CreateCoreDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "InitialVersion" : { + "shape" : "CoreDefinitionVersion", + "documentation" : "Information on the initial version" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the core definition" + } + }, + "documentation" : "Information on the core definition request" + }, + "CreateCoreDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "CreateCoreDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "core definition Id" + }, + "Cores" : { + "shape" : "ListOfCore", + "documentation" : "Cores in the definition version." + } + }, + "required" : [ "CoreDefinitionId" ] + }, + "CreateCoreDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the resource container." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Unique Id of a version." + } + } + }, + "CreateDeploymentRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "DeploymentId" : { + "shape" : "__string", + "documentation" : "Id of the deployment if you wish to redeploy a previous deployment." + }, + "DeploymentType" : { + "shape" : "DeploymentType", + "documentation" : "Type of deployment" + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + }, + "GroupVersionId" : { + "shape" : "__string", + "documentation" : "Group Version you wish to deploy." + } + }, + "required" : [ "GroupId" ] + }, + "CreateDeploymentResponse" : { + "type" : "structure", + "members" : { + "DeploymentArn" : { + "shape" : "__string", + "documentation" : "Arn of the deployment." + }, + "DeploymentId" : { + "shape" : "__string", + "documentation" : "Id of the deployment." + } + } + }, + "CreateDeviceDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "InitialVersion" : { + "shape" : "DeviceDefinitionVersion", + "documentation" : "Information on the initial version" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the device definition" + } + } + }, + "CreateDeviceDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "CreateDeviceDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "device definition Id" + }, + "Devices" : { + "shape" : "ListOfDevice", + "documentation" : "Devices in the definition version." + } + }, + "required" : [ "DeviceDefinitionId" ] + }, + "CreateDeviceDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the resource container." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Unique Id of a version." + } + } + }, + "CreateFunctionDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "InitialVersion" : { + "shape" : "FunctionDefinitionVersion", + "documentation" : "Information on the initial version" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the function definition" + } + } + }, + "CreateFunctionDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "CreateFunctionDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "the unique Id of the lambda definition" + }, + "Functions" : { + "shape" : "ListOfFunction", + "documentation" : "Lambda functions in this function definition version." + } + }, + "documentation" : "Function definition version", + "required" : [ "FunctionDefinitionId" ] + }, + "CreateFunctionDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the resource container." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Unique Id of a version." + } + } + }, + "CreateGroupCertificateAuthorityRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + } + }, + "required" : [ "GroupId" ] + }, + "CreateGroupCertificateAuthorityResponse" : { + "type" : "structure", + "members" : { + "GroupCertificateAuthorityArn" : { + "shape" : "__string", + "documentation" : "Arn of the group certificate authority." + } + } + }, + "CreateGroupRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "InitialVersion" : { + "shape" : "GroupVersion", + "documentation" : "Information on the initial version" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the group" + } + } + }, + "CreateGroupResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "CreateGroupVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "CoreDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "Core definition version arn for this group." + }, + "DeviceDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "Device definition version arn for this group." + }, + "FunctionDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "Function definition version arn for this group." + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + }, + "LoggerDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "Logger definitionv ersion arn for this group." + }, + "SubscriptionDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "Subscription definition version arn for this group." + } + }, + "required" : [ "GroupId" ] + }, + "CreateGroupVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the resource container." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Unique Id of a version." + } + } + }, + "CreateLoggerDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "InitialVersion" : { + "shape" : "LoggerDefinitionVersion", + "documentation" : "Information on the initial version" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the logger definition" + } + } + }, + "CreateLoggerDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "CreateLoggerDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "logger definition Id" + }, + "Loggers" : { + "shape" : "ListOfLogger", + "documentation" : "List of loggers." + } + }, + "required" : [ "LoggerDefinitionId" ] + }, + "CreateLoggerDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the resource container." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Unique Id of a version." + } + } + }, + "CreateSubscriptionDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "InitialVersion" : { + "shape" : "SubscriptionDefinitionVersion", + "documentation" : "Information on the initial version" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the subscription definition" + } + } + }, + "CreateSubscriptionDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "CreateSubscriptionDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "The client token used to request idempotent operations." + }, + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "subscription definition Id" + }, + "Subscriptions" : { + "shape" : "ListOfSubscription", + "documentation" : "Subscriptions in the version." + } + }, + "required" : [ "SubscriptionDefinitionId" ] + }, + "CreateSubscriptionDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the resource container." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Unique Id of a version." + } + } + }, + "DefinitionInformation" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + }, + "documentation" : "Information on the Definition" + }, + "DeleteCoreDefinitionRequest" : { + "type" : "structure", + "members" : { + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "core definition Id" + } + }, + "required" : [ "CoreDefinitionId" ] + }, + "DeleteCoreDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteDeviceDefinitionRequest" : { + "type" : "structure", + "members" : { + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "device definition Id" + } + }, + "required" : [ "DeviceDefinitionId" ] + }, + "DeleteDeviceDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteFunctionDefinitionRequest" : { + "type" : "structure", + "members" : { + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "the unique Id of the lambda definition" + } + }, + "required" : [ "FunctionDefinitionId" ] + }, + "DeleteFunctionDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteGroupRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + } + }, + "required" : [ "GroupId" ] + }, + "DeleteGroupResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteLoggerDefinitionRequest" : { + "type" : "structure", + "members" : { + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "logger definition Id" + } + }, + "required" : [ "LoggerDefinitionId" ] + }, + "DeleteLoggerDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteSubscriptionDefinitionRequest" : { + "type" : "structure", + "members" : { + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "subscription definition Id" + } + }, + "required" : [ "SubscriptionDefinitionId" ] + }, + "DeleteSubscriptionDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "Deployment" : { + "type" : "structure", + "members" : { + "CreatedAt" : { + "shape" : "__string", + "documentation" : "Timestamp when the deployment was created." + }, + "DeploymentArn" : { + "shape" : "__string", + "documentation" : "Arn of the deployment." + }, + "DeploymentId" : { + "shape" : "__string", + "documentation" : "Id of the deployment." + }, + "GroupArn" : { + "shape" : "__string", + "documentation" : "Arn of the group for this deployment." + } + }, + "documentation" : "Information on the deployment" + }, + "DeploymentType" : { + "type" : "string", + "enum" : [ "NewDeployment", "Redeployment" ] + }, + "Deployments" : { + "type" : "list", + "member" : { + "shape" : "Deployment" + } + }, + "Device" : { + "type" : "structure", + "members" : { + "CertificateArn" : { + "shape" : "__string", + "documentation" : "Certificate arn of the device." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Element Id for this entry in the list." + }, + "SyncShadow" : { + "shape" : "__boolean", + "documentation" : "If true, the local shadow value automatically syncs with the cloud's shadow state." + }, + "ThingArn" : { + "shape" : "__string", + "documentation" : "Thing arn of the device." + } + }, + "documentation" : "Information on a Device" + }, + "DeviceDefinitionVersion" : { + "type" : "structure", + "members" : { + "Devices" : { + "shape" : "ListOfDevice", + "documentation" : "Devices in the definition version." + } + }, + "documentation" : "Information on device definition version" + }, + "DisassociateRoleFromGroupRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + } + }, + "required" : [ "GroupId" ] + }, + "DisassociateRoleFromGroupResponse" : { + "type" : "structure", + "members" : { + "DisassociatedAt" : { + "shape" : "__string", + "documentation" : "Time when the role was disassociated from the group." + } + } + }, + "DisassociateServiceRoleFromAccountRequest" : { + "type" : "structure", + "members" : { } + }, + "DisassociateServiceRoleFromAccountResponse" : { + "type" : "structure", + "members" : { + "DisassociatedAt" : { + "shape" : "__string", + "documentation" : "Time when the service role was disassociated from the account." + } + } + }, + "Empty" : { + "type" : "structure", + "members" : { }, + "documentation" : "Empty" + }, + "ErrorDetail" : { + "type" : "structure", + "members" : { + "DetailedErrorCode" : { + "shape" : "__string", + "documentation" : "Detailed Error Code" + }, + "DetailedErrorMessage" : { + "shape" : "__string", + "documentation" : "Detailed Error Message" + } + }, + "documentation" : "ErrorDetail" + }, + "ErrorDetails" : { + "type" : "list", + "documentation" : "Error Details", + "member" : { + "shape" : "ErrorDetail" + } + }, + "Function" : { + "type" : "structure", + "members" : { + "FunctionArn" : { + "shape" : "__string", + "documentation" : "Arn of the Lambda function." + }, + "FunctionConfiguration" : { + "shape" : "FunctionConfiguration", + "documentation" : "Configuration of the function" + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the function in this version." + } + }, + "documentation" : "Information on function" + }, + "FunctionConfiguration" : { + "type" : "structure", + "members" : { + "Environment" : { + "shape" : "FunctionConfigurationEnvironment", + "documentation" : "Environment of the function configuration" + }, + "ExecArgs" : { + "shape" : "__string", + "documentation" : "Execution Arguments" + }, + "Executable" : { + "shape" : "__string", + "documentation" : "Executable" + }, + "MemorySize" : { + "shape" : "__integer", + "documentation" : "The memory size, in KB, you configured for the function." + }, + "Pinned" : { + "shape" : "__boolean", + "documentation" : "Whether the function is pinned or not. Pinned means the function is long-lived and starts when the core starts." + }, + "Timeout" : { + "shape" : "__integer", + "documentation" : "The function execution time at which Lambda should terminate the function. This timeout still applies to pinned lambdas for each request." + } + }, + "documentation" : "Configuration of the function" + }, + "FunctionConfigurationEnvironment" : { + "type" : "structure", + "members" : { + "Variables" : { + "shape" : "MapOf__string", + "documentation" : "Environment variables for the lambda function." + } + }, + "documentation" : "Environment of the function configuration" + }, + "FunctionDefinitionVersion" : { + "type" : "structure", + "members" : { + "Functions" : { + "shape" : "ListOfFunction", + "documentation" : "Lambda functions in this function definition version." + } + }, + "documentation" : "Information on the function definition version" + }, + "GeneralError" : { + "type" : "structure", + "members" : { + "ErrorDetails" : { + "shape" : "ErrorDetails", + "documentation" : "Error Details" + }, + "Message" : { + "shape" : "__string", + "documentation" : "Message" + } + }, + "documentation" : "General Error" + }, + "GetAssociatedRoleRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + } + }, + "required" : [ "GroupId" ] + }, + "GetAssociatedRoleResponse" : { + "type" : "structure", + "members" : { + "AssociatedAt" : { + "shape" : "__string", + "documentation" : "Time when the role was associated for the group." + }, + "RoleArn" : { + "shape" : "__string", + "documentation" : "Arn of the role that is associated with the group." + } + } + }, + "GetConnectivityInfoRequest" : { + "type" : "structure", + "members" : { + "ThingName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ThingName", + "documentation" : "Thing Name" + } + }, + "required" : [ "ThingName" ] + }, + "GetConnectivityInfoResponse" : { + "type" : "structure", + "members" : { + "ConnectivityInfo" : { + "shape" : "ListOfConnectivityInfo", + "documentation" : "Connectivity info array" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "Response Text" + } + } + }, + "GetCoreDefinitionRequest" : { + "type" : "structure", + "members" : { + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "core definition Id" + } + }, + "required" : [ "CoreDefinitionId" ] + }, + "GetCoreDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "GetCoreDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "core definition Id" + }, + "CoreDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionVersionId", + "documentation" : "core definition version Id" + } + }, + "required" : [ "CoreDefinitionId", "CoreDefinitionVersionId" ] + }, + "GetCoreDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the core definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the core definition version was created." + }, + "Definition" : { + "shape" : "CoreDefinitionVersion", + "documentation" : "Information on definition" + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the core definition the version belongs to." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Version of the core definition version." + } + } + }, + "GetDeploymentStatusRequest" : { + "type" : "structure", + "members" : { + "DeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeploymentId", + "documentation" : "the deployment Id" + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + } + }, + "required" : [ "GroupId", "DeploymentId" ] + }, + "GetDeploymentStatusResponse" : { + "type" : "structure", + "members" : { + "DeploymentStatus" : { + "shape" : "__string", + "documentation" : "Status of the deployment." + }, + "ErrorMessage" : { + "shape" : "__string", + "documentation" : "Error Message" + }, + "UpdatedAt" : { + "shape" : "__string", + "documentation" : "Last time the deployment status was updated." + } + } + }, + "GetDeviceDefinitionRequest" : { + "type" : "structure", + "members" : { + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "device definition Id" + } + }, + "required" : [ "DeviceDefinitionId" ] + }, + "GetDeviceDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "GetDeviceDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "device definition Id" + }, + "DeviceDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionVersionId", + "documentation" : "device definition version Id" + } + }, + "required" : [ "DeviceDefinitionVersionId", "DeviceDefinitionId" ] + }, + "GetDeviceDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the device definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the device definition version was created." + }, + "Definition" : { + "shape" : "DeviceDefinitionVersion", + "documentation" : "Device definition version" + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the device definition the version belongs to." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Version of the device definition version." + } + } + }, + "GetFunctionDefinitionRequest" : { + "type" : "structure", + "members" : { + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "the unique Id of the lambda definition" + } + }, + "required" : [ "FunctionDefinitionId" ] + }, + "GetFunctionDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "GetFunctionDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "the unique Id of the lambda definition" + }, + "FunctionDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionVersionId", + "documentation" : "Function definition version Id" + } + }, + "required" : [ "FunctionDefinitionId", "FunctionDefinitionVersionId" ] + }, + "GetFunctionDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the function definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp when the funtion definition version was created." + }, + "Definition" : { + "shape" : "FunctionDefinitionVersion" + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the function definition the version belongs to." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Version of the function definition version." + } + } + }, + "GetGroupCertificateAuthorityRequest" : { + "type" : "structure", + "members" : { + "CertificateAuthorityId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CertificateAuthorityId", + "documentation" : "certificate authority Id" + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + } + }, + "required" : [ "CertificateAuthorityId", "GroupId" ] + }, + "GetGroupCertificateAuthorityResponse" : { + "type" : "structure", + "members" : { + "GroupCertificateAuthorityArn" : { + "shape" : "__string", + "documentation" : "Arn of the certificate authority for the group." + }, + "GroupCertificateAuthorityId" : { + "shape" : "__string", + "documentation" : "Id of the certificate authority for the group." + }, + "PemEncodedCertificate" : { + "shape" : "__string", + "documentation" : "PEM encoded certificate for the group." + } + } + }, + "GetGroupCertificateConfigurationRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + } + }, + "required" : [ "GroupId" ] + }, + "GetGroupCertificateConfigurationResponse" : { + "type" : "structure", + "members" : { + "CertificateAuthorityExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "Amount of time when the certificate authority expires in milliseconds." + }, + "CertificateExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "Amount of time when the certificate expires in milliseconds." + }, + "GroupId" : { + "shape" : "__string", + "documentation" : "Id of the group the certificate configuration belongs to." + } + } + }, + "GetGroupRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + } + }, + "required" : [ "GroupId" ] + }, + "GetGroupResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "GetGroupVersionRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + }, + "GroupVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupVersionId", + "documentation" : "Group version Id" + } + }, + "required" : [ "GroupVersionId", "GroupId" ] + }, + "GetGroupVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the group version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp when the group version was created." + }, + "Definition" : { + "shape" : "GroupVersion", + "documentation" : "Information on the definition" + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the group version." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Unique Id for a version of the Group." + } + } + }, + "GetLoggerDefinitionRequest" : { + "type" : "structure", + "members" : { + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "logger definition Id" + } + }, + "required" : [ "LoggerDefinitionId" ] + }, + "GetLoggerDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "GetLoggerDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "logger definition Id" + }, + "LoggerDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionVersionId", + "documentation" : "logger definition version Id" + } + }, + "required" : [ "LoggerDefinitionVersionId", "LoggerDefinitionId" ] + }, + "GetLoggerDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the logger definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the logger definition version was created." + }, + "Definition" : { + "shape" : "LoggerDefinitionVersion", + "documentation" : "Information on definition" + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the logger definition the version belongs to." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Version of the logger definition version." + } + } + }, + "GetServiceRoleForAccountRequest" : { + "type" : "structure", + "members" : { } + }, + "GetServiceRoleForAccountResponse" : { + "type" : "structure", + "members" : { + "AssociatedAt" : { + "shape" : "__string", + "documentation" : "Time when the service role was associated to the account." + }, + "RoleArn" : { + "shape" : "__string", + "documentation" : "Role arn which is associated to the account." + } + } + }, + "GetSubscriptionDefinitionRequest" : { + "type" : "structure", + "members" : { + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "subscription definition Id" + } + }, + "required" : [ "SubscriptionDefinitionId" ] + }, + "GetSubscriptionDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the definition." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of the definition." + } + } + }, + "GetSubscriptionDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "subscription definition Id" + }, + "SubscriptionDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionVersionId", + "documentation" : "subscription definition version Id" + } + }, + "required" : [ "SubscriptionDefinitionId", "SubscriptionDefinitionVersionId" ] + }, + "GetSubscriptionDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the subscription definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the subscription definition version was created." + }, + "Definition" : { + "shape" : "SubscriptionDefinitionVersion", + "documentation" : "Information on the definition" + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the subscription definition the version belongs to." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Version of the subscription definition version." + } + } + }, + "GroupCertificateAuthorityProperties" : { + "type" : "structure", + "members" : { + "GroupCertificateAuthorityArn" : { + "shape" : "__string", + "documentation" : "Arn of the certificate authority for the group." + }, + "GroupCertificateAuthorityId" : { + "shape" : "__string", + "documentation" : "Id of the certificate authority for the group." + } + }, + "documentation" : "Information on group certificate authority properties" + }, + "GroupCertificateConfiguration" : { + "type" : "structure", + "members" : { + "CertificateAuthorityExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "Amount of time when the certificate authority expires in milliseconds." + }, + "CertificateExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "Amount of time when the certificate expires in milliseconds." + }, + "GroupId" : { + "shape" : "__string", + "documentation" : "Id of the group the certificate configuration belongs to." + } + }, + "documentation" : "Information on the group certificate configuration" + }, + "GroupInformation" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of a group." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the group was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of a group." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "Last updated timestamp of the group." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "Last version of the group." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "Latest version arn of the group." + }, + "Name" : { + "shape" : "__string", + "documentation" : "Name of a group." + } + }, + "documentation" : "Information of a group" + }, + "GroupVersion" : { + "type" : "structure", + "members" : { + "CoreDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "Core definition version arn for this group." + }, + "DeviceDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "Device definition version arn for this group." + }, + "FunctionDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "Function definition version arn for this group." + }, + "LoggerDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "Logger definitionv ersion arn for this group." + }, + "SubscriptionDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "Subscription definition version arn for this group." + } + }, + "documentation" : "Information on group version" + }, + "InternalServerErrorException" : { + "type" : "structure", + "members" : { + "ErrorDetails" : { + "shape" : "ErrorDetails", + "documentation" : "Error Details" + }, + "Message" : { + "shape" : "__string", + "documentation" : "Message" + } + }, + "documentation" : "General Error", + "exception" : true, + "error" : { + "httpStatusCode" : 500 + } + }, + "ListCoreDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "core definition Id" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + }, + "required" : [ "CoreDefinitionId" ] + }, + "ListCoreDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "ListOfVersionInformation", + "documentation" : "Versions" + } + } + }, + "ListCoreDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + } + }, + "ListCoreDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "ListOfDefinitionInformation", + "documentation" : "Definitions" + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "ListOfDefinitionInformation", + "documentation" : "Definitions" + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "documentation" : "List of definition response" + }, + "ListDeploymentsRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + }, + "required" : [ "GroupId" ] + }, + "ListDeploymentsResponse" : { + "type" : "structure", + "members" : { + "Deployments" : { + "shape" : "Deployments", + "documentation" : "Information on deployments" + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListDeviceDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "device definition Id" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + }, + "required" : [ "DeviceDefinitionId" ] + }, + "ListDeviceDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "ListOfVersionInformation", + "documentation" : "Versions" + } + } + }, + "ListDeviceDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + } + }, + "ListDeviceDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "ListOfDefinitionInformation", + "documentation" : "Definitions" + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListFunctionDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "the unique Id of the lambda definition" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + }, + "required" : [ "FunctionDefinitionId" ] + }, + "ListFunctionDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "ListOfVersionInformation", + "documentation" : "Versions" + } + } + }, + "ListFunctionDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + } + }, + "ListFunctionDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "ListOfDefinitionInformation", + "documentation" : "Definitions" + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListGroupCertificateAuthoritiesRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + } + }, + "required" : [ "GroupId" ] + }, + "ListGroupCertificateAuthoritiesResponse" : { + "type" : "structure", + "members" : { + "GroupCertificateAuthorities" : { + "shape" : "ListOfGroupCertificateAuthorityProperties", + "documentation" : "List of certificate authorities associated with the group." + } + } + }, + "ListGroupVersionsRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + }, + "required" : [ "GroupId" ] + }, + "ListGroupVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "ListOfVersionInformation", + "documentation" : "Versions" + } + } + }, + "ListGroupsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + } + }, + "ListGroupsResponse" : { + "type" : "structure", + "members" : { + "Groups" : { + "shape" : "ListOfGroupInformation", + "documentation" : "Groups" + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListLoggerDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "logger definition Id" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + }, + "required" : [ "LoggerDefinitionId" ] + }, + "ListLoggerDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "ListOfVersionInformation", + "documentation" : "Versions" + } + } + }, + "ListLoggerDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + } + }, + "ListLoggerDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "ListOfDefinitionInformation", + "documentation" : "Definitions" + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListOfConnectivityInfo" : { + "type" : "list", + "member" : { + "shape" : "ConnectivityInfo" + } + }, + "ListOfCore" : { + "type" : "list", + "member" : { + "shape" : "Core" + } + }, + "ListOfDefinitionInformation" : { + "type" : "list", + "member" : { + "shape" : "DefinitionInformation" + } + }, + "ListOfDevice" : { + "type" : "list", + "member" : { + "shape" : "Device" + } + }, + "ListOfFunction" : { + "type" : "list", + "member" : { + "shape" : "Function" + } + }, + "ListOfGroupCertificateAuthorityProperties" : { + "type" : "list", + "member" : { + "shape" : "GroupCertificateAuthorityProperties" + } + }, + "ListOfGroupInformation" : { + "type" : "list", + "member" : { + "shape" : "GroupInformation" + } + }, + "ListOfLogger" : { + "type" : "list", + "member" : { + "shape" : "Logger" + } + }, + "ListOfSubscription" : { + "type" : "list", + "member" : { + "shape" : "Subscription" + } + }, + "ListOfVersionInformation" : { + "type" : "list", + "member" : { + "shape" : "VersionInformation" + } + }, + "ListSubscriptionDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + }, + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "subscription definition Id" + } + }, + "required" : [ "SubscriptionDefinitionId" ] + }, + "ListSubscriptionDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "ListOfVersionInformation", + "documentation" : "Versions" + } + } + }, + "ListSubscriptionDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "Specifies the maximum number of list results to be returned in this page" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "Specifies the pagination token used when iterating through a paginated request" + } + } + }, + "ListSubscriptionDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "ListOfDefinitionInformation", + "documentation" : "Definitions" + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "ListOfVersionInformation", + "documentation" : "Versions" + } + }, + "documentation" : "List of versions response" + }, + "Logger" : { + "type" : "structure", + "members" : { + "Component" : { + "shape" : "LoggerComponent", + "documentation" : "The component that will be subject to logs" + }, + "Id" : { + "shape" : "__string", + "documentation" : "Element Id for this entry in the list." + }, + "Level" : { + "shape" : "LoggerLevel", + "documentation" : "The level of the logs" + }, + "Space" : { + "shape" : "__integer", + "documentation" : "Amount of hardware space, in KB, to use if file system is used for logging purposes." + }, + "Type" : { + "shape" : "LoggerType", + "documentation" : "The type which will be use for log output" + } + }, + "documentation" : "Information on the Logger" + }, + "LoggerComponent" : { + "type" : "string", + "enum" : [ "GreengrassSystem", "Lambda" ] + }, + "LoggerDefinitionVersion" : { + "type" : "structure", + "members" : { + "Loggers" : { + "shape" : "ListOfLogger", + "documentation" : "List of loggers." + } + }, + "documentation" : "Information on logger definition version" + }, + "LoggerLevel" : { + "type" : "string", + "enum" : [ "DEBUG", "INFO", "WARN", "ERROR", "FATAL" ] + }, + "LoggerType" : { + "type" : "string", + "enum" : [ "FileSystem", "AWSCloudWatch" ] + }, + "MapOf__string" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, + "Subscription" : { + "type" : "structure", + "members" : { + "Id" : { + "shape" : "__string", + "documentation" : "Element Id for this entry in the list." + }, + "Source" : { + "shape" : "__string", + "documentation" : "Source of the subscription. Can be a thing arn, lambda arn or word 'cloud'" + }, + "Subject" : { + "shape" : "__string", + "documentation" : "Subject of the message." + }, + "Target" : { + "shape" : "__string", + "documentation" : "Where the message is sent to. Can be a thing arn, lambda arn or word 'cloud'." + } + }, + "documentation" : "Information on subscription" + }, + "SubscriptionDefinitionVersion" : { + "type" : "structure", + "members" : { + "Subscriptions" : { + "shape" : "ListOfSubscription", + "documentation" : "Subscriptions in the version." + } + }, + "documentation" : "Information on subscription definition version" + }, + "UpdateConnectivityInfoRequest" : { + "type" : "structure", + "members" : { + "ConnectivityInfo" : { + "shape" : "ListOfConnectivityInfo", + "documentation" : "Connectivity info array" + }, + "ThingName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ThingName", + "documentation" : "Thing Name" + } + }, + "documentation" : "connectivity info request", + "required" : [ "ThingName" ] + }, + "UpdateConnectivityInfoResponse" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "Response Text" + }, + "Version" : { + "shape" : "__string", + "documentation" : "New Version" + } + } + }, + "UpdateCoreDefinitionRequest" : { + "type" : "structure", + "members" : { + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "core definition Id" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the definition" + } + }, + "required" : [ "CoreDefinitionId" ] + }, + "UpdateCoreDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateDeviceDefinitionRequest" : { + "type" : "structure", + "members" : { + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "device definition Id" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the definition" + } + }, + "required" : [ "DeviceDefinitionId" ] + }, + "UpdateDeviceDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateFunctionDefinitionRequest" : { + "type" : "structure", + "members" : { + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "the unique Id of the lambda definition" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the definition" + } + }, + "required" : [ "FunctionDefinitionId" ] + }, + "UpdateFunctionDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateGroupCertificateConfigurationRequest" : { + "type" : "structure", + "members" : { + "CertificateExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "Amount of time when the certificate expires in milliseconds." + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + } + }, + "required" : [ "GroupId" ] + }, + "UpdateGroupCertificateConfigurationResponse" : { + "type" : "structure", + "members" : { + "CertificateAuthorityExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "Amount of time when the certificate authority expires in milliseconds." + }, + "CertificateExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "Amount of time when the certificate expires in milliseconds." + }, + "GroupId" : { + "shape" : "__string", + "documentation" : "Id of the group the certificate configuration belongs to." + } + } + }, + "UpdateGroupRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The unique Id of the AWS Greengrass Group" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the definition" + } + }, + "required" : [ "GroupId" ] + }, + "UpdateGroupResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateLoggerDefinitionRequest" : { + "type" : "structure", + "members" : { + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "logger definition Id" + }, + "Name" : { + "shape" : "__string", + "documentation" : "name of the definition" + } + }, + "required" : [ "LoggerDefinitionId" ] + }, + "UpdateLoggerDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateSubscriptionDefinitionRequest" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string", + "documentation" : "name of the definition" + }, + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "subscription definition Id" + } + }, + "required" : [ "SubscriptionDefinitionId" ] + }, + "UpdateSubscriptionDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "VersionInformation" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "Timestamp of when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Id of the resource container." + }, + "Version" : { + "shape" : "__string", + "documentation" : "Unique Id of a version." + } + }, + "documentation" : "Information on the version" + }, + "__boolean" : { + "type" : "boolean" + }, + "__double" : { + "type" : "double" + }, + "__integer" : { + "type" : "integer" + }, + "__string" : { + "type" : "string" + }, + "__timestamp" : { + "type" : "timestamp" + } + }, + "documentation" : "AWS Greengrass seamlessly extends AWS onto physical devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. AWS Greengrass ensures your devices can respond quickly to local events and operate with intermittent connectivity. AWS Greengrass minimizes the cost of transmitting data to the cloud by allowing you to author AWS Lambda functions that execute locally." +} \ No newline at end of file diff --git a/botocore/data/health/2016-08-04/examples-1.json b/botocore/data/health/2016-08-04/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/health/2016-08-04/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/iam/2010-05-08/examples-1.json b/botocore/data/iam/2010-05-08/examples-1.json new file mode 100644 index 00000000..f23d8ebf --- /dev/null +++ b/botocore/data/iam/2010-05-08/examples-1.json @@ -0,0 +1,1191 @@ +{ + "version": "1.0", + "examples": { + "AddClientIDToOpenIDConnectProvider": [ + { + "input": { + "ClientID": "my-application-ID", + "OpenIDConnectProviderArn": "arn:aws:iam::123456789012:oidc-provider/server.example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following add-client-id-to-open-id-connect-provider command adds the client ID my-application-ID to the OIDC provider named server.example.com:", + "id": "028e91f4-e2a6-4d59-9e3b-4965a3fb19be", + "title": "To add a client ID (audience) to an Open-ID Connect (OIDC) provider" + } + ], + "AddRoleToInstanceProfile": [ + { + "input": { + "InstanceProfileName": "Webserver", + "RoleName": "S3Access" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command adds the role named S3Access to the instance profile named Webserver:", + "id": "c107fac3-edb6-4827-8a71-8863ec91c81f", + "title": "To add a role to an instance profile" + } + ], + "AddUserToGroup": [ + { + "input": { + "GroupName": "Admins", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command adds an IAM user named Bob to the IAM group named Admins:", + "id": "619c7e6b-09f8-4036-857b-51a6ea5027ca", + "title": "To add a user to an IAM group" + } + ], + "AttachGroupPolicy": [ + { + "input": { + "GroupName": "Finance", + "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command attaches the AWS managed policy named ReadOnlyAccess to the IAM group named Finance.", + "id": "87551489-86f0-45db-9889-759936778f2b", + "title": "To attach a managed policy to an IAM group" + } + ], + "AttachRolePolicy": [ + { + "input": { + "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess", + "RoleName": "ReadOnlyRole" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command attaches the AWS managed policy named ReadOnlyAccess to the IAM role named ReadOnlyRole.", + "id": "3e1b8c7c-99c8-4fc4-a20c-131fe3f22c7e", + "title": "To attach a managed policy to an IAM role" + } + ], + "AttachUserPolicy": [ + { + "input": { + "PolicyArn": "arn:aws:iam::aws:policy/AdministratorAccess", + "UserName": "Alice" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command attaches the AWS managed policy named AdministratorAccess to the IAM user named Alice.", + "id": "1372ebd8-9475-4b1a-a479-23b6fd4b8b3e", + "title": "To attach a managed policy to an IAM user" + } + ], + "ChangePassword": [ + { + "input": { + "NewPassword": "]35d/{pB9Fo9wJ", + "OldPassword": "3s0K_;xh4~8XXI" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command changes the password for the current IAM user.", + "id": "3a80c66f-bffb-46df-947c-1e8fa583b470", + "title": "To change the password for your IAM user" + } + ], + "CreateAccessKey": [ + { + "input": { + "UserName": "Bob" + }, + "output": { + "AccessKey": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "CreateDate": "2015-03-09T18:39:23.411Z", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", + "Status": "Active", + "UserName": "Bob" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command creates an access key (access key ID and secret access key) for the IAM user named Bob.", + "id": "1fbb3211-4cf2-41db-8c20-ba58d9f5802d", + "title": "To create an access key for an IAM user" + } + ], + "CreateAccountAlias": [ + { + "input": { + "AccountAlias": "examplecorp" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command associates the alias examplecorp to your AWS account.", + "id": "5adaf6fb-94fc-4ca2-b825-2fbc2062add1", + "title": "To create an account alias" + } + ], + "CreateGroup": [ + { + "input": { + "GroupName": "Admins" + }, + "output": { + "Group": { + "Arn": "arn:aws:iam::123456789012:group/Admins", + "CreateDate": "2015-03-09T20:30:24.940Z", + "GroupId": "AIDGPMS9RO4H3FEXAMPLE", + "GroupName": "Admins", + "Path": "/" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command creates an IAM group named Admins.", + "id": "d5da2a90-5e69-4ef7-8ae8-4c33dc21fd21", + "title": "To create an IAM group" + } + ], + "CreateInstanceProfile": [ + { + "input": { + "InstanceProfileName": "Webserver" + }, + "output": { + "InstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/Webserver", + "CreateDate": "2015-03-09T20:33:19.626Z", + "InstanceProfileId": "AIPAJMBYC7DLSPEXAMPLE", + "InstanceProfileName": "Webserver", + "Path": "/", + "Roles": [ + + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command creates an instance profile named Webserver that is ready to have a role attached and then be associated with an EC2 instance.", + "id": "5d84e6ae-5921-4e39-8454-10232cd9ff9a", + "title": "To create an instance profile" + } + ], + "CreateLoginProfile": [ + { + "input": { + "Password": "h]6EszR}vJ*m", + "PasswordResetRequired": true, + "UserName": "Bob" + }, + "output": { + "LoginProfile": { + "CreateDate": "2015-03-10T20:55:40.274Z", + "PasswordResetRequired": true, + "UserName": "Bob" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command changes IAM user Bob's password and sets the flag that required Bob to change the password the next time he signs in.", + "id": "c63795bc-3444-40b3-89df-83c474ef88be", + "title": "To create an instance profile" + } + ], + "CreateOpenIDConnectProvider": [ + { + "input": { + "ClientIDList": [ + "my-application-id" + ], + "ThumbprintList": [ + "3768084dfb3d2b68b7897bf5f565da8efEXAMPLE" + ], + "Url": "https://server.example.com" + }, + "output": { + "OpenIDConnectProviderArn": "arn:aws:iam::123456789012:oidc-provider/server.example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example defines a new OIDC provider in IAM with a client ID of my-application-id and pointing at the server with a URL of https://server.example.com.", + "id": "4e4a6bff-cc97-4406-922e-0ab4a82cdb63", + "title": "To create an instance profile" + } + ], + "CreateRole": [ + { + "input": { + "AssumeRolePolicyDocument": "", + "Path": "/", + "RoleName": "Test-Role" + }, + "output": { + "Role": { + "Arn": "arn:aws:iam::123456789012:role/Test-Role", + "AssumeRolePolicyDocument": "", + "CreateDate": "2013-06-07T20:43:32.821Z", + "Path": "/", + "RoleId": "AKIAIOSFODNN7EXAMPLE", + "RoleName": "Test-Role" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command creates a role named Test-Role and attaches a trust policy to it that is provided as a URL-encoded JSON string.", + "id": "eaaa4b5f-51f1-4f73-b0d3-30127040eff8", + "title": "To create an IAM role" + } + ], + "CreateUser": [ + { + "input": { + "UserName": "Bob" + }, + "output": { + "User": { + "Arn": "arn:aws:iam::123456789012:user/Bob", + "CreateDate": "2013-06-08T03:20:41.270Z", + "Path": "/", + "UserId": "AKIAIOSFODNN7EXAMPLE", + "UserName": "Bob" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following create-user command creates an IAM user named Bob in the current account.", + "id": "eb15f90b-e5f5-4af8-a594-e4e82b181a62", + "title": "To create an IAM user" + } + ], + "DeleteAccessKey": [ + { + "input": { + "AccessKeyId": "AKIDPMS9RO4H3FEXAMPLE", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deletes one access key (access key ID and secret access key) assigned to the IAM user named Bob.", + "id": "61a785a7-d30a-415a-ae18-ab9236e56871", + "title": "To delete an access key for an IAM user" + } + ], + "DeleteAccountAlias": [ + { + "input": { + "AccountAlias": "mycompany" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the alias mycompany from the current AWS account:", + "id": "7abeca65-04a8-4500-a890-47f1092bf766", + "title": "To delete an account alias" + } + ], + "DeleteAccountPasswordPolicy": [ + { + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the password policy from the current AWS account:", + "id": "9ddf755e-495c-49bc-ae3b-ea6cc9b8ebcf", + "title": "To delete the current account password policy" + } + ], + "DeleteGroupPolicy": [ + { + "input": { + "GroupName": "Admins", + "PolicyName": "ExamplePolicy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deletes the policy named ExamplePolicy from the group named Admins:", + "id": "e683f2bd-98a4-4fe0-bb66-33169c692d4a", + "title": "To delete a policy from an IAM group" + } + ], + "DeleteInstanceProfile": [ + { + "input": { + "InstanceProfileName": "ExampleInstanceProfile" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deletes the instance profile named ExampleInstanceProfile", + "id": "12d74fb8-3433-49db-8171-a1fc764e354d", + "title": "To delete an instance profile" + } + ], + "DeleteLoginProfile": [ + { + "input": { + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deletes the password for the IAM user named Bob.", + "id": "1fe57059-fc73-42e2-b992-517b7d573b5c", + "title": "To delete a password for an IAM user" + } + ], + "DeleteRole": [ + { + "input": { + "RoleName": "Test-Role" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the role named Test-Role.", + "id": "053cdf74-9bda-44b8-bdbb-140fd5a32603", + "title": "To delete an IAM role" + } + ], + "DeleteRolePolicy": [ + { + "input": { + "PolicyName": "ExamplePolicy", + "RoleName": "Test-Role" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the policy named ExamplePolicy from the role named Test-Role.", + "id": "9c667336-fde3-462c-b8f3-950800821e27", + "title": "To remove a policy from an IAM role" + } + ], + "DeleteSigningCertificate": [ + { + "input": { + "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", + "UserName": "Anika" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deletes the specified signing certificate for the IAM user named Anika.", + "id": "e3357586-ba9c-4070-b35b-d1a899b71987", + "title": "To delete a signing certificate for an IAM user" + } + ], + "DeleteUser": [ + { + "input": { + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the IAM user named Bob from the current account.", + "id": "a13dc3f9-59fe-42d9-abbb-fb98b204fdf0", + "title": "To delete an IAM user" + } + ], + "DeleteUserPolicy": [ + { + "input": { + "PolicyName": "ExamplePolicy", + "UserName": "Juan" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following delete-user-policy command removes the specified policy from the IAM user named Juan:", + "id": "34f07ddc-9bc1-4f52-bc59-cd0a3ccd06c8", + "title": "To remove a policy from an IAM user" + } + ], + "DeleteVirtualMFADevice": [ + { + "input": { + "SerialNumber": "arn:aws:iam::123456789012:mfa/ExampleName" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following delete-virtual-mfa-device command removes the specified MFA device from the current AWS account.", + "id": "2933b08b-dbe7-4b89-b8c1-fdf75feea1ee", + "title": "To remove a virtual MFA device" + } + ], + "GetAccountPasswordPolicy": [ + { + "output": { + "PasswordPolicy": { + "AllowUsersToChangePassword": false, + "ExpirePasswords": false, + "HardExpiry": false, + "MaxPasswordAge": 90, + "MinimumPasswordLength": 8, + "PasswordReusePrevention": 12, + "RequireLowercaseCharacters": false, + "RequireNumbers": true, + "RequireSymbols": true, + "RequireUppercaseCharacters": false + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command displays details about the password policy for the current AWS account.", + "id": "5e4598c7-c425-431f-8af1-19073b3c4a5f", + "title": "To see the current account password policy" + } + ], + "GetAccountSummary": [ + { + "output": { + "SummaryMap": { + "AccessKeysPerUserQuota": 2, + "AccountAccessKeysPresent": 1, + "AccountMFAEnabled": 0, + "AccountSigningCertificatesPresent": 0, + "AttachedPoliciesPerGroupQuota": 10, + "AttachedPoliciesPerRoleQuota": 10, + "AttachedPoliciesPerUserQuota": 10, + "GroupPolicySizeQuota": 5120, + "Groups": 15, + "GroupsPerUserQuota": 10, + "GroupsQuota": 100, + "MFADevices": 6, + "MFADevicesInUse": 3, + "Policies": 8, + "PoliciesQuota": 1000, + "PolicySizeQuota": 5120, + "PolicyVersionsInUse": 22, + "PolicyVersionsInUseQuota": 10000, + "ServerCertificates": 1, + "ServerCertificatesQuota": 20, + "SigningCertificatesPerUserQuota": 2, + "UserPolicySizeQuota": 2048, + "Users": 27, + "UsersQuota": 5000, + "VersionsPerPolicyQuota": 5 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command returns information about the IAM entity quotas and usage in the current AWS account.", + "id": "9d8447af-f344-45de-8219-2cebc3cce7f2", + "title": "To get information about IAM entity quotas and usage in the current account" + } + ], + "GetInstanceProfile": [ + { + "input": { + "InstanceProfileName": "ExampleInstanceProfile" + }, + "output": { + "InstanceProfile": { + "Arn": "arn:aws:iam::336924118301:instance-profile/ExampleInstanceProfile", + "CreateDate": "2013-06-12T23:52:02Z", + "InstanceProfileId": "AID2MAB8DPLSRHEXAMPLE", + "InstanceProfileName": "ExampleInstanceProfile", + "Path": "/", + "Roles": [ + { + "Arn": "arn:aws:iam::336924118301:role/Test-Role", + "AssumeRolePolicyDocument": "", + "CreateDate": "2013-01-09T06:33:26Z", + "Path": "/", + "RoleId": "AIDGPMS9RO4H3FEXAMPLE", + "RoleName": "Test-Role" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command gets information about the instance profile named ExampleInstanceProfile.", + "id": "463b9ba5-18cc-4608-9ccb-5a7c6b6e5fe7", + "title": "To get information about an instance profile" + } + ], + "GetLoginProfile": [ + { + "input": { + "UserName": "Anika" + }, + "output": { + "LoginProfile": { + "CreateDate": "2012-09-21T23:03:39Z", + "UserName": "Anika" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command gets information about the password for the IAM user named Anika.", + "id": "d6b580cc-909f-4925-9caa-d425cbc1ad47", + "title": "To get password information for an IAM user" + } + ], + "GetRole": [ + { + "input": { + "RoleName": "Test-Role" + }, + "output": { + "Role": { + "Arn": "arn:aws:iam::123456789012:role/Test-Role", + "AssumeRolePolicyDocument": "", + "CreateDate": "2013-04-18T05:01:58Z", + "Path": "/", + "RoleId": "AIDIODR4TAW7CSEXAMPLE", + "RoleName": "Test-Role" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command gets information about the role named Test-Role.", + "id": "5b7d03a6-340c-472d-aa77-56425950d8b0", + "title": "To get information about an IAM role" + } + ], + "GetUser": [ + { + "input": { + "UserName": "Bob" + }, + "output": { + "User": { + "Arn": "arn:aws:iam::123456789012:user/Bob", + "CreateDate": "2012-09-21T23:03:13Z", + "Path": "/", + "UserId": "AKIAIOSFODNN7EXAMPLE", + "UserName": "Bob" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command gets information about the IAM user named Bob.", + "id": "ede000a1-9e4c-40db-bd0a-d4f95e41a6ab", + "title": "To get information about an IAM user" + } + ], + "ListAccessKeys": [ + { + "input": { + "UserName": "Alice" + }, + "output": { + "AccessKeyMetadata": [ + { + "AccessKeyId": "AKIA111111111EXAMPLE", + "CreateDate": "2016-12-01T22:19:58Z", + "Status": "Active", + "UserName": "Alice" + }, + { + "AccessKeyId": "AKIA222222222EXAMPLE", + "CreateDate": "2016-12-01T22:20:01Z", + "Status": "Active", + "UserName": "Alice" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the access keys IDs for the IAM user named Alice.", + "id": "15571463-ebea-411a-a021-1c76bd2a3625", + "title": "To list the access key IDs for an IAM user" + } + ], + "ListAccountAliases": [ + { + "input": { + }, + "output": { + "AccountAliases": [ + "exmaple-corporation" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the aliases for the current account.", + "id": "e27b457a-16f9-4e05-a006-3df7b3472741", + "title": "To list account aliases" + } + ], + "ListGroupPolicies": [ + { + "input": { + "GroupName": "Admins" + }, + "output": { + "PolicyNames": [ + "AdminRoot", + "KeyPolicy" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the names of in-line policies that are embedded in the IAM group named Admins.", + "id": "02de5095-2410-4d3a-ac1b-cc40234af68f", + "title": "To list the in-line policies for an IAM group" + } + ], + "ListGroups": [ + { + "input": { + }, + "output": { + "Groups": [ + { + "Arn": "arn:aws:iam::123456789012:group/Admins", + "CreateDate": "2016-12-15T21:40:08.121Z", + "GroupId": "AGPA1111111111EXAMPLE", + "GroupName": "Admins", + "Path": "/division_abc/subdivision_xyz/" + }, + { + "Arn": "arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_1234/engineering/Test", + "CreateDate": "2016-11-30T14:10:01.156Z", + "GroupId": "AGP22222222222EXAMPLE", + "GroupName": "Test", + "Path": "/division_abc/subdivision_xyz/product_1234/engineering/" + }, + { + "Arn": "arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_1234/Managers", + "CreateDate": "2016-06-12T20:14:52.032Z", + "GroupId": "AGPI3333333333EXAMPLE", + "GroupName": "Managers", + "Path": "/division_abc/subdivision_xyz/product_1234/" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the IAM groups in the current account:", + "id": "b3ab1380-2a21-42fb-8e85-503f65512c66", + "title": "To list the IAM groups for the current account" + } + ], + "ListGroupsForUser": [ + { + "input": { + "UserName": "Bob" + }, + "output": { + "Groups": [ + { + "Arn": "arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_1234/engineering/Test", + "CreateDate": "2016-11-30T14:10:01.156Z", + "GroupId": "AGP2111111111EXAMPLE", + "GroupName": "Test", + "Path": "/division_abc/subdivision_xyz/product_1234/engineering/" + }, + { + "Arn": "arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_1234/Managers", + "CreateDate": "2016-06-12T20:14:52.032Z", + "GroupId": "AGPI222222222SEXAMPLE", + "GroupName": "Managers", + "Path": "/division_abc/subdivision_xyz/product_1234/" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command displays the groups that the IAM user named Bob belongs to.", + "id": "278ec2ee-fc28-4136-83fb-433af0ae46a2", + "title": "To list the groups that an IAM user belongs to" + } + ], + "ListSigningCertificates": [ + { + "input": { + "UserName": "Bob" + }, + "output": { + "Certificates": [ + { + "CertificateBody": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----", + "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", + "Status": "Active", + "UploadDate": "2013-06-06T21:40:08Z", + "UserName": "Bob" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the signing certificates for the IAM user named Bob.", + "id": "b4c10256-4fc9-457e-b3fd-4a110d4d73dc", + "title": "To list the signing certificates for an IAM user" + } + ], + "ListUsers": [ + { + "input": { + }, + "output": { + "Users": [ + { + "Arn": "arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/engineering/Juan", + "CreateDate": "2012-09-05T19:38:48Z", + "PasswordLastUsed": "2016-09-08T21:47:36Z", + "Path": "/division_abc/subdivision_xyz/engineering/", + "UserId": "AID2MAB8DPLSRHEXAMPLE", + "UserName": "Juan" + }, + { + "Arn": "arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/engineering/Anika", + "CreateDate": "2014-04-09T15:43:45Z", + "PasswordLastUsed": "2016-09-24T16:18:07Z", + "Path": "/division_abc/subdivision_xyz/engineering/", + "UserId": "AIDIODR4TAW7CSEXAMPLE", + "UserName": "Anika" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the IAM users in the current account.", + "id": "9edfbd73-03d8-4d8a-9a79-76c85e8c8298", + "title": "To list IAM users" + } + ], + "ListVirtualMFADevices": [ + { + "input": { + }, + "output": { + "VirtualMFADevices": [ + { + "SerialNumber": "arn:aws:iam::123456789012:mfa/ExampleMFADevice" + }, + { + "SerialNumber": "arn:aws:iam::123456789012:mfa/Juan" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the virtual MFA devices that have been configured for the current account.", + "id": "54f9ac18-5100-4070-bec4-fe5f612710d5", + "title": "To list virtual MFA devices" + } + ], + "PutGroupPolicy": [ + { + "input": { + "GroupName": "Admins", + "PolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"*\",\"Resource\":\"*\"}}", + "PolicyName": "AllPerms" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command adds a policy named AllPerms to the IAM group named Admins.", + "id": "4bc17418-758f-4d0f-ab0c-4d00265fec2e", + "title": "To add a policy to a group" + } + ], + "PutRolePolicy": [ + { + "input": { + "PolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}", + "PolicyName": "S3AccessPolicy", + "RoleName": "S3Access" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command adds a permissions policy to the role named Test-Role.", + "id": "de62fd00-46c7-4601-9e0d-71d5fbb11ecb", + "title": "To attach a permissions policy to an IAM role" + } + ], + "PutUserPolicy": [ + { + "input": { + "PolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"*\",\"Resource\":\"*\"}}", + "PolicyName": "AllAccessPolicy", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command attaches a policy to the IAM user named Bob.", + "id": "2551ffc6-3576-4d39-823f-30b60bffc2c7", + "title": "To attach a policy to an IAM user" + } + ], + "RemoveRoleFromInstanceProfile": [ + { + "input": { + "InstanceProfileName": "ExampleInstanceProfile", + "RoleName": "Test-Role" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the role named Test-Role from the instance profile named ExampleInstanceProfile.", + "id": "6d9f46f1-9f4a-4873-b403-51a85c5c627c", + "title": "To remove a role from an instance profile" + } + ], + "RemoveUserFromGroup": [ + { + "input": { + "GroupName": "Admins", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the user named Bob from the IAM group named Admins.", + "id": "fb54d5b4-0caf-41d8-af0e-10a84413f174", + "title": "To remove a user from an IAM group" + } + ], + "UpdateAccessKey": [ + { + "input": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "Status": "Inactive", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deactivates the specified access key (access key ID and secret access key) for the IAM user named Bob.", + "id": "02b556fd-e673-49b7-ab6b-f2f9035967d0", + "title": "To activate or deactivate an access key for an IAM user" + } + ], + "UpdateAccountPasswordPolicy": [ + { + "input": { + "MinimumPasswordLength": 8, + "RequireNumbers": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command sets the password policy to require a minimum length of eight characters and to require one or more numbers in the password:", + "id": "c263a1af-37dc-4423-8dba-9790284ef5e0", + "title": "To set or change the current account password policy" + } + ], + "UpdateAssumeRolePolicy": [ + { + "input": { + "PolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"ec2.amazonaws.com\"]},\"Action\":[\"sts:AssumeRole\"]}]}", + "RoleName": "S3AccessForEC2Instances" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command updates the role trust policy for the role named Test-Role:", + "id": "c9150063-d953-4e99-9576-9685872006c6", + "title": "To update the trust policy for an IAM role" + } + ], + "UpdateGroup": [ + { + "input": { + "GroupName": "Test", + "NewGroupName": "Test-1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command changes the name of the IAM group Test to Test-1.", + "id": "f0cf1662-91ae-4278-a80e-7db54256ccba", + "title": "To rename an IAM group" + } + ], + "UpdateLoginProfile": [ + { + "input": { + "Password": "SomeKindOfPassword123!@#", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command creates or changes the password for the IAM user named Bob.", + "id": "036d9498-ecdb-4ed6-a8d8-366c383d1487", + "title": "To change the password for an IAM user" + } + ], + "UpdateSigningCertificate": [ + { + "input": { + "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", + "Status": "Inactive", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command changes the status of a signing certificate for a user named Bob to Inactive.", + "id": "829aee7b-efc5-4b3b-84a5-7f899b38018d", + "title": "To change the active status of a signing certificate for an IAM user" + } + ], + "UpdateUser": [ + { + "input": { + "NewUserName": "Robert", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command changes the name of the IAM user Bob to Robert. It does not change the user's path.", + "id": "275d53ed-347a-44e6-b7d0-a96276154352", + "title": "To change an IAM user's name" + } + ], + "UploadServerCertificate": [ + { + "input": { + "CertificateBody": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----", + "Path": "/company/servercerts/", + "PrivateKey": "-----BEGIN DSA PRIVATE KEY----------END DSA PRIVATE KEY-----", + "ServerCertificateName": "ProdServerCert" + }, + "output": { + "ServerCertificateMetadata": { + "Arn": "arn:aws:iam::123456789012:server-certificate/company/servercerts/ProdServerCert", + "Expiration": "2012-05-08T01:02:03.004Z", + "Path": "/company/servercerts/", + "ServerCertificateId": "ASCA1111111111EXAMPLE", + "ServerCertificateName": "ProdServerCert", + "UploadDate": "2010-05-08T01:02:03.004Z" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following upload-server-certificate command uploads a server certificate to your AWS account:", + "id": "06eab6d1-ebf2-4bd9-839d-f7508b9a38b6", + "title": "To upload a server certificate to your AWS account" + } + ], + "UploadSigningCertificate": [ + { + "input": { + "CertificateBody": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----", + "UserName": "Bob" + }, + "output": { + "Certificate": { + "CertificateBody": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----", + "CertificateId": "ID123456789012345EXAMPLE", + "Status": "Active", + "UploadDate": "2015-06-06T21:40:08.121Z", + "UserName": "Bob" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command uploads a signing certificate for the IAM user named Bob.", + "id": "e67489b6-7b73-4e30-9ed3-9a9e0231e458", + "title": "To upload a signing certificate for an IAM user" + } + ] + } +} diff --git a/botocore/data/iam/2010-05-08/paginators-1.json b/botocore/data/iam/2010-05-08/paginators-1.json index 752d7245..83e78d89 100644 --- a/botocore/data/iam/2010-05-08/paginators-1.json +++ b/botocore/data/iam/2010-05-08/paginators-1.json @@ -195,4 +195,4 @@ "result_key": "EvaluationResults" } } -} \ No newline at end of file +} diff --git a/botocore/data/iam/2010-05-08/service-2.json b/botocore/data/iam/2010-05-08/service-2.json index c8e508d9..f2e1347e 100644 --- a/botocore/data/iam/2010-05-08/service-2.json +++ b/botocore/data/iam/2010-05-08/service-2.json @@ -38,9 +38,10 @@ {"shape":"NoSuchEntityException"}, {"shape":"EntityAlreadyExistsException"}, {"shape":"LimitExceededException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds the specified IAM role to the specified instance profile.

The caller of this API must be granted the PassRole permission on the IAM role by a permission policy.

For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" + "documentation":"

Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this limit cannot be increased.

The caller of this API must be granted the PassRole permission on the IAM role by a permission policy.

For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" }, "AddUserToGroup":{ "name":"AddUserToGroup", @@ -82,9 +83,10 @@ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidInputException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Attaches the specified managed policy to the specified IAM role.

When you attach a managed policy to a role, the managed policy becomes part of the role's permission (access) policy. You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy.

Use this API to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Attaches the specified managed policy to the specified IAM role. When you attach a managed policy to a role, the managed policy becomes part of the role's permission (access) policy.

You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy.

Use this API to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "AttachUserPolicy":{ "name":"AttachUserPolicy", @@ -279,6 +281,7 @@ }, "errors":[ {"shape":"LimitExceededException"}, + {"shape":"InvalidInputException"}, {"shape":"EntityAlreadyExistsException"}, {"shape":"MalformedPolicyDocumentException"}, {"shape":"ServiceFailureException"} @@ -304,6 +307,25 @@ ], "documentation":"

Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0.

The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust policy to enable federated users who sign-in using the SAML IdP to assume the role. You can create an IAM role that supports Web-based single sign-on (SSO) to the AWS Management Console or one that supports API access to AWS.

When you create the SAML provider resource, you upload an a SAML metadata document that you get from your IdP and that includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that the IdP sends. You must generate the metadata document using the identity management software that is used as your organization's IdP.

This operation requires Signature Version 4.

For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console and About SAML 2.0-based Federation in the IAM User Guide.

" }, + "CreateServiceLinkedRole":{ + "name":"CreateServiceLinkedRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServiceLinkedRoleRequest"}, + "output":{ + "shape":"CreateServiceLinkedRoleResponse", + "resultWrapper":"CreateServiceLinkedRoleResult" + }, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates an IAM role that is linked to a specific AWS service. The service controls the attached policies and when the role can be deleted. This helps ensure that the service is not broken by an unexpectedly changed or deleted role, which could put your AWS resources into an unknown state. Allowing the service to control the role helps improve service stability and proper cleanup when a service and its role are no longer needed.

The name of the role is autogenerated by combining the string that you specify for the AWSServiceName parameter with the string that you specify for the CustomSuffix parameter. The resulting name must be unique in your account or the request fails.

To attach a policy to this service-linked role, you must make the request using the AWS service that depends on this role.

" + }, "CreateServiceSpecificCredential":{ "name":"CreateServiceSpecificCredential", "http":{ @@ -531,6 +553,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"DeleteConflictException"}, {"shape":"LimitExceededException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], "documentation":"

Deletes the specified role. The role must not have any policies attached. For more information about roles, go to Working with Roles.

Make sure you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

" @@ -545,6 +568,7 @@ "errors":[ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM role.

A role can also have managed policies attached to it. To detach a managed policy from a role, use DetachRolePolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" @@ -687,6 +711,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidInputException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], "documentation":"

Removes the specified managed policy from the specified role.

A role can also have inline policies embedded with it. To delete an inline policy, use the DeleteRolePolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" @@ -1537,6 +1562,7 @@ {"shape":"LimitExceededException"}, {"shape":"MalformedPolicyDocumentException"}, {"shape":"NoSuchEntityException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM role.

When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy. For more information about IAM roles, go to Using Roles to Delegate Permissions and Federate Identities.

A role can also have a managed policy attached to it. To attach a managed policy to a role, use AttachRolePolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed with a role, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutRolePolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" @@ -1580,9 +1606,10 @@ "errors":[ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified IAM role from the specified EC2 instance profile.

Make sure you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance break any applications running on the instance.

For more information about IAM roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" + "documentation":"

Removes the specified IAM role from the specified EC2 instance profile.

Make sure you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance might break any applications running on the instance.

For more information about IAM roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" }, "RemoveUserFromGroup":{ "name":"RemoveUserFromGroup", @@ -1719,6 +1746,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"MalformedPolicyDocumentException"}, {"shape":"LimitExceededException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], "documentation":"

Updates the policy that grants an IAM entity permission to assume a role. This is typically referred to as the \"role trust policy\". For more information about roles, go to Using Roles to Delegate Permissions and Federate Identities.

" @@ -1768,6 +1796,24 @@ ], "documentation":"

Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.

The list that you pass with this action completely replaces the existing list of thumbprints. (The lists are not merged.)

Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated.

Because trust for the OIDC provider is ultimately derived from the provider's certificate and is validated by the thumbprint, it is a best practice to limit access to the UpdateOpenIDConnectProviderThumbprint action to highly-privileged users.

" }, + "UpdateRoleDescription":{ + "name":"UpdateRoleDescription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRoleDescriptionRequest"}, + "output":{ + "shape":"UpdateRoleDescriptionResponse", + "resultWrapper":"UpdateRoleDescriptionResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"UnmodifiableEntityException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Modifies the description of a role.

" + }, "UpdateSAMLProvider":{ "name":"UpdateSAMLProvider", "http":{ @@ -1894,7 +1940,7 @@ {"shape":"KeyPairMismatchException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

For information about the number of server certificates you can upload, see Limitations on IAM Entities and Objects in the IAM User Guide.

Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Calling the API by Making HTTP Query Requests in the IAM User Guide.

" + "documentation":"

Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.

We recommend that you use AWS Certificate Manager to provision, manage, and deploy your server certificates. With ACM you can request a certificate, deploy it to AWS resources, and let ACM handle certificate renewals for you. Certificates provided by ACM are free. For more information about using ACM, see the AWS Certificate Manager User Guide.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

For information about the number of server certificates you can upload, see Limitations on IAM Entities and Objects in the IAM User Guide.

Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Calling the API by Making HTTP Query Requests in the IAM User Guide.

" }, "UploadSigningCertificate":{ "name":"UploadSigningCertificate", @@ -1966,11 +2012,11 @@ }, "ServiceName":{ "shape":"stringType", - "documentation":"

The name of the AWS service with which this access key was most recently used. This field is null when:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

" + "documentation":"

The name of the AWS service with which this access key was most recently used. This field displays \"N/A\" when:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

" }, "Region":{ "shape":"stringType", - "documentation":"

The AWS region where this access key was most recently used. This field is null when:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

For more information about AWS regions, see Regions and Endpoints in the Amazon Web Services General Reference.

" + "documentation":"

The AWS region where this access key was most recently used. This field is displays \"N/A\" when:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

For more information about AWS regions, see Regions and Endpoints in the Amazon Web Services General Reference.

" } }, "documentation":"

Contains information about the last time an AWS access key was used.

This data type is used as a response element in the GetAccessKeyLastUsed action.

" @@ -2036,7 +2082,7 @@ }, "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to add.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to add.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2083,7 +2129,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the role to attach the policy to.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the role to attach the policy to.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", @@ -2416,11 +2462,15 @@ }, "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to create.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. Role names are not distinguished by case. For example, you cannot create roles named both \"PRODROLE\" and \"prodrole\".

" + "documentation":"

The name of the role to create.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

Role names are not distinguished by case. For example, you cannot create roles named both \"PRODROLE\" and \"prodrole\".

" }, "AssumeRolePolicyDocument":{ "shape":"policyDocumentType", "documentation":"

The trust relationship policy document that grants an entity permission to assume the role.

The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + }, + "Description":{ + "shape":"roleDescriptionType", + "documentation":"

A customer-provided description of the role.

" } } }, @@ -2462,6 +2512,33 @@ }, "documentation":"

Contains the response to a successful CreateSAMLProvider request.

" }, + "CreateServiceLinkedRoleRequest":{ + "type":"structure", + "required":["AWSServiceName"], + "members":{ + "AWSServiceName":{ + "shape":"groupNameType", + "documentation":"

The AWS service to which this role is attached. You use a string similar to a URL but without the http:// in front. For example: elasticbeanstalk.amazonaws.com

" + }, + "Description":{ + "shape":"roleDescriptionType", + "documentation":"

The description of the role.

" + }, + "CustomSuffix":{ + "shape":"customSuffixType", + "documentation":"

A string that you provide, which is combined with the service name to form the complete role name. If you make multiple requests for the same service, then you must supply a different CustomSuffix for each request. Otherwise the request fails with a duplicate role name error. For example, you could add -1 or -debug to the suffix.

" + } + } + }, + "CreateServiceLinkedRoleResponse":{ + "type":"structure", + "members":{ + "Role":{ + "shape":"Role", + "documentation":"

A Role object that contains details about the newly created role.

" + } + } + }, "CreateServiceSpecificCredentialRequest":{ "type":"structure", "required":[ @@ -2589,7 +2666,7 @@ }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =/:,.@-

" + "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" } } }, @@ -2723,7 +2800,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) identifying the role that the policy is embedded in.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) identifying the role that the policy is embedded in.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", @@ -2737,7 +2814,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2839,7 +2916,7 @@ "members":{ "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =/:,.@-

" + "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" } } }, @@ -2869,7 +2946,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM role to detach the policy from.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the IAM role to detach the policy from.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", @@ -2935,15 +3012,15 @@ }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =/:,.@-

" + "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" }, "AuthenticationCode1":{ "shape":"authenticationCodeType", - "documentation":"

An authentication code emitted by the device.

The format for this parameter is a string of 6 digits.

" + "documentation":"

An authentication code emitted by the device.

The format for this parameter is a string of 6 digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

" }, "AuthenticationCode2":{ "shape":"authenticationCodeType", - "documentation":"

A subsequent authentication code emitted by the device.

The format for this parameter is a string of 6 digits.

" + "documentation":"

A subsequent authentication code emitted by the device.

The format for this parameter is a string of 6 digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

" } } }, @@ -3020,6 +3097,10 @@ "shape":"ContextKeyNamesResultListType", "documentation":"

A list of context keys that are required by the included input policies but that were not provided by one of the input parameters. This list is used when the resource in a simulation is \"*\", either explicitly, or when the ResourceArns parameter blank. If you include a list of resources, then any missing context values are instead included under the ResourceSpecificResults section. To discover the context keys used by a set of policies, you can call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy.

" }, + "OrganizationsDecisionDetail":{ + "shape":"OrganizationsDecisionDetail", + "documentation":"

A structure that details how AWS Organizations and its service control policies affect the results of the simulation. Only applies if the simulated user's account is part of an organization.

" + }, "EvalDecisionDetails":{ "shape":"EvalDecisionDetailsType", "documentation":"

Additional details about the results of the evaluation decision. When there are both IAM policies and resource policies, this parameter explains how each set of policies contributes to the final evaluation decision. When simulating cross-account access to a resource, both the resource-based policy and the caller's IAM policy must grant access. See How IAM Roles Differ from Resource-based Policies

" @@ -3126,7 +3207,7 @@ "members":{ "PasswordPolicy":{ "shape":"PasswordPolicy", - "documentation":"

Contains information about the account password policy.

" + "documentation":"

A structure that contains details about the account's password policy.

" } }, "documentation":"

Contains the response to a successful GetAccountPasswordPolicy request.

" @@ -3407,7 +3488,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role associated with the policy.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role associated with the policy.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", @@ -3444,7 +3525,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the IAM role to get information about.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM role to get information about.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3908,7 +3989,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the role to list attached policies for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the role to list attached policies for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PathPrefix":{ "shape":"policyPathType", @@ -4150,7 +4231,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to list instance profiles for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to list instance profiles for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4353,7 +4434,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to list policies for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to list policies for.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4826,6 +4907,16 @@ "max":255, "min":1 }, + "OrganizationsDecisionDetail":{ + "type":"structure", + "members":{ + "AllowedByOrganizations":{ + "shape":"booleanType", + "documentation":"

Specifies whether the simulated action is allowed by the AWS Organizations service control policies that impact the simulated user's account.

" + } + }, + "documentation":"

Contains information about AWS Organizations's affect on a policy simulation.

" + }, "PasswordPolicy":{ "type":"structure", "members":{ @@ -5097,7 +5188,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to associate the policy with.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to associate the policy with.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", @@ -5161,7 +5252,7 @@ }, "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to remove.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to remove.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -5318,7 +5409,7 @@ }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the IAM User Guide guide.

" }, "CreateDate":{ "shape":"dateType", @@ -5327,9 +5418,13 @@ "AssumeRolePolicyDocument":{ "shape":"policyDocumentType", "documentation":"

The policy that grants an entity permission to assume the role.

" + }, + "Description":{ + "shape":"roleDescriptionType", + "documentation":"

A description of the role that you provide.

" } }, - "documentation":"

Contains information about an IAM role.

This data type is used as a response element in the following actions:

" + "documentation":"

Contains information about an IAM role. This structure is returned as a response element in several APIs that interact with roles.

" }, "RoleDetail":{ "type":"structure", @@ -5839,6 +5934,19 @@ "type":"list", "member":{"shape":"Statement"} }, + "UnmodifiableEntityException":{ + "type":"structure", + "members":{ + "message":{"shape":"unmodifiableEntityMessage"} + }, + "documentation":"

The request was rejected because only the service that depends on the service-linked role can modify or delete the role on your behalf. The error message includes the name of the service that depends on this service-linked role. You must request the change through that service.

", + "error":{ + "code":"UnmodifiableEntity", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "UnrecognizedPublicKeyEncodingException":{ "type":"structure", "members":{ @@ -5923,7 +6031,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to update with the new policy.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to update with the new policy.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyDocument":{ "shape":"policyDocumentType", @@ -5984,6 +6092,32 @@ } } }, + "UpdateRoleDescriptionRequest":{ + "type":"structure", + "required":[ + "RoleName", + "Description" + ], + "members":{ + "RoleName":{ + "shape":"roleNameType", + "documentation":"

The name of the role that you want to modify.

" + }, + "Description":{ + "shape":"roleDescriptionType", + "documentation":"

The new description that you want to apply to the specified role.

" + } + } + }, + "UpdateRoleDescriptionResponse":{ + "type":"structure", + "members":{ + "Role":{ + "shape":"Role", + "documentation":"

A structure that contains details about the modified role.

" + } + } + }, "UpdateSAMLProviderRequest":{ "type":"structure", "required":[ @@ -6293,7 +6427,7 @@ }, "User":{ "shape":"User", - "documentation":"

The user to whom the MFA device is assigned.

" + "documentation":"

The IAM user associated with this virtual MFA device.

" }, "EnableDate":{ "shape":"dateType", @@ -6304,7 +6438,7 @@ }, "accessKeyIdType":{ "type":"string", - "max":32, + "max":128, "min":16, "pattern":"[\\w]+" }, @@ -6392,6 +6526,12 @@ "credentialReportExpiredExceptionMessage":{"type":"string"}, "credentialReportNotPresentExceptionMessage":{"type":"string"}, "credentialReportNotReadyExceptionMessage":{"type":"string"}, + "customSuffixType":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[\\w+=,.@-]+" + }, "dateType":{"type":"timestamp"}, "deleteConflictMessage":{"type":"string"}, "duplicateCertificateMessage":{"type":"string"}, @@ -6436,7 +6576,7 @@ }, "idType":{ "type":"string", - "max":32, + "max":128, "min":16, "pattern":"[\\w]+" }, @@ -6589,6 +6729,11 @@ "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" }, + "roleDescriptionType":{ + "type":"string", + "max":1000, + "pattern":"[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*" + }, "roleDetailListType":{ "type":"list", "member":{"shape":"RoleDetail"} @@ -6694,6 +6839,7 @@ "max":40, "min":40 }, + "unmodifiableEntityMessage":{"type":"string"}, "unrecognizedPublicKeyEncodingMessage":{"type":"string"}, "userDetailListType":{ "type":"list", diff --git a/botocore/data/inspector/2016-02-16/examples-1.json b/botocore/data/inspector/2016-02-16/examples-1.json new file mode 100644 index 00000000..24fcb7a9 --- /dev/null +++ b/botocore/data/inspector/2016-02-16/examples-1.json @@ -0,0 +1,1140 @@ +{ + "version": "1.0", + "examples": { + "AddAttributesToFindings": [ + { + "input": { + "attributes": [ + { + "key": "Example", + "value": "example" + } + ], + "findingArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-8l1VIE0D/run/0-Z02cjjug/finding/0-T8yM9mEU" + ] + }, + "output": { + "failedItems": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Assigns attributes (key and value pairs) to the findings that are specified by the ARNs of the findings.", + "id": "add-attributes-to-findings-1481063856401", + "title": "Add attributes to findings" + } + ], + "CreateAssessmentTarget": [ + { + "input": { + "assessmentTargetName": "ExampleAssessmentTarget", + "resourceGroupArn": "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-AB6DMKnv" + }, + "output": { + "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a new assessment target using the ARN of the resource group that is generated by CreateResourceGroup. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account.", + "id": "create-assessment-target-1481063953657", + "title": "Create assessment target" + } + ], + "CreateAssessmentTemplate": [ + { + "input": { + "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX", + "assessmentTemplateName": "ExampleAssessmentTemplate", + "durationInSeconds": 180, + "rulesPackageArns": [ + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-11B9DBXp" + ], + "userAttributesForFindings": [ + { + "key": "Example", + "value": "example" + } + ] + }, + "output": { + "assessmentTemplateArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates an assessment template for the assessment target that is specified by the ARN of the assessment target.", + "id": "create-assessment-template-1481064046719", + "title": "Create assessment template" + } + ], + "CreateResourceGroup": [ + { + "input": { + "resourceGroupTags": [ + { + "key": "Name", + "value": "example" + } + ] + }, + "output": { + "resourceGroupArn": "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-AB6DMKnv" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a resource group using the specified set of tags (key and value pairs) that are used to select the EC2 instances to be included in an Amazon Inspector assessment target. The created resource group is then used to create an Amazon Inspector assessment target. ", + "id": "create-resource-group-1481064169037", + "title": "Create resource group" + } + ], + "DeleteAssessmentRun": [ + { + "input": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T/run/0-11LMTAVe" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the assessment run that is specified by the ARN of the assessment run.", + "id": "delete-assessment-run-1481064251629", + "title": "Delete assessment run" + } + ], + "DeleteAssessmentTarget": [ + { + "input": { + "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the assessment target that is specified by the ARN of the assessment target.", + "id": "delete-assessment-target-1481064309029", + "title": "Delete assessment target" + } + ], + "DeleteAssessmentTemplate": [ + { + "input": { + "assessmentTemplateArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the assessment template that is specified by the ARN of the assessment template.", + "id": "delete-assessment-template-1481064364074", + "title": "Delete assessment template" + } + ], + "DescribeAssessmentRuns": [ + { + "input": { + "assessmentRunArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE" + ] + }, + "output": { + "assessmentRuns": [ + { + "name": "Run 1 for ExampleAssessmentTemplate", + "arn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "assessmentTemplateArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw", + "completedAt": "1458680301.4", + "createdAt": "1458680170.035", + "dataCollected": true, + "durationInSeconds": 3600, + "notifications": [ + + ], + "rulesPackageArns": [ + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-X1KXtawP" + ], + "startedAt": "1458680170.161", + "state": "COMPLETED", + "stateChangedAt": "1458680301.4", + "stateChanges": [ + { + "state": "CREATED", + "stateChangedAt": "1458680170.035" + }, + { + "state": "START_DATA_COLLECTION_PENDING", + "stateChangedAt": "1458680170.065" + }, + { + "state": "START_DATA_COLLECTION_IN_PROGRESS", + "stateChangedAt": "1458680170.096" + }, + { + "state": "COLLECTING_DATA", + "stateChangedAt": "1458680170.161" + }, + { + "state": "STOP_DATA_COLLECTION_PENDING", + "stateChangedAt": "1458680239.883" + }, + { + "state": "DATA_COLLECTED", + "stateChangedAt": "1458680299.847" + }, + { + "state": "EVALUATING_RULES", + "stateChangedAt": "1458680300.099" + }, + { + "state": "COMPLETED", + "stateChangedAt": "1458680301.4" + } + ], + "userAttributesForFindings": [ + + ] + } + ], + "failedItems": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the assessment runs that are specified by the ARNs of the assessment runs.", + "id": "describte-assessment-runs-1481064424352", + "title": "Describte assessment runs" + } + ], + "DescribeAssessmentTargets": [ + { + "input": { + "assessmentTargetArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq" + ] + }, + "output": { + "assessmentTargets": [ + { + "name": "ExampleAssessmentTarget", + "arn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq", + "createdAt": "1458074191.459", + "resourceGroupArn": "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-PyGXopAI", + "updatedAt": "1458074191.459" + } + ], + "failedItems": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the assessment targets that are specified by the ARNs of the assessment targets.", + "id": "describte-assessment-targets-1481064527735", + "title": "Describte assessment targets" + } + ], + "DescribeAssessmentTemplates": [ + { + "input": { + "assessmentTemplateArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw" + ] + }, + "output": { + "assessmentTemplates": [ + { + "name": "ExampleAssessmentTemplate", + "arn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw", + "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq", + "createdAt": "1458074191.844", + "durationInSeconds": 3600, + "rulesPackageArns": [ + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-X1KXtawP" + ], + "userAttributesForFindings": [ + + ] + } + ], + "failedItems": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the assessment templates that are specified by the ARNs of the assessment templates.", + "id": "describte-assessment-templates-1481064606829", + "title": "Describte assessment templates" + } + ], + "DescribeCrossAccountAccessRole": [ + { + "output": { + "registeredAt": "1458069182.826", + "roleArn": "arn:aws:iam::123456789012:role/inspector", + "valid": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the IAM role that enables Amazon Inspector to access your AWS account.", + "id": "describte-cross-account-access-role-1481064682267", + "title": "Describte cross account access role" + } + ], + "DescribeFindings": [ + { + "input": { + "findingArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE/finding/0-HwPnsDm4" + ] + }, + "output": { + "failedItems": { + }, + "findings": [ + { + "arn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE/finding/0-HwPnsDm4", + "assetAttributes": { + "ipv4Addresses": [ + + ], + "schemaVersion": 1 + }, + "assetType": "ec2-instance", + "attributes": [ + + ], + "confidence": 10, + "createdAt": "1458680301.37", + "description": "Amazon Inspector did not find any potential security issues during this assessment.", + "indicatorOfCompromise": false, + "numericSeverity": 0, + "recommendation": "No remediation needed.", + "schemaVersion": 1, + "service": "Inspector", + "serviceAttributes": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "rulesPackageArn": "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-X1KXtawP", + "schemaVersion": 1 + }, + "severity": "Informational", + "title": "No potential security issues found", + "updatedAt": "1458680301.37", + "userAttributes": [ + + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the findings that are specified by the ARNs of the findings.", + "id": "describte-findings-1481064771803", + "title": "Describe findings" + } + ], + "DescribeResourceGroups": [ + { + "input": { + "resourceGroupArns": [ + "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-PyGXopAI" + ] + }, + "output": { + "failedItems": { + }, + "resourceGroups": [ + { + "arn": "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-PyGXopAI", + "createdAt": "1458074191.098", + "tags": [ + { + "key": "Name", + "value": "example" + } + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the resource groups that are specified by the ARNs of the resource groups.", + "id": "describe-resource-groups-1481065787743", + "title": "Describe resource groups" + } + ], + "DescribeRulesPackages": [ + { + "input": { + "rulesPackageArns": [ + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ" + ] + }, + "output": { + "failedItems": { + }, + "rulesPackages": [ + { + "version": "1.1", + "name": "Security Best Practices", + "arn": "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ", + "description": "The rules in this package help determine whether your systems are configured securely.", + "provider": "Amazon Web Services, Inc." + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the rules packages that are specified by the ARNs of the rules packages.", + "id": "describe-rules-packages-1481069641979", + "title": "Describe rules packages" + } + ], + "GetTelemetryMetadata": [ + { + "input": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE" + }, + "output": { + "telemetryMetadata": [ + { + "count": 2, + "dataSize": 345, + "messageType": "InspectorDuplicateProcess" + }, + { + "count": 3, + "dataSize": 255, + "messageType": "InspectorTimeEventMsg" + }, + { + "count": 4, + "dataSize": 1082, + "messageType": "InspectorNetworkInterface" + }, + { + "count": 2, + "dataSize": 349, + "messageType": "InspectorDnsEntry" + }, + { + "count": 11, + "dataSize": 2514, + "messageType": "InspectorDirectoryInfoMsg" + }, + { + "count": 1, + "dataSize": 179, + "messageType": "InspectorTcpV6ListeningPort" + }, + { + "count": 101, + "dataSize": 10949, + "messageType": "InspectorTerminal" + }, + { + "count": 26, + "dataSize": 5916, + "messageType": "InspectorUser" + }, + { + "count": 282, + "dataSize": 32148, + "messageType": "InspectorDynamicallyLoadedCodeModule" + }, + { + "count": 18, + "dataSize": 10172, + "messageType": "InspectorCreateProcess" + }, + { + "count": 3, + "dataSize": 8001, + "messageType": "InspectorProcessPerformance" + }, + { + "count": 1, + "dataSize": 360, + "messageType": "InspectorOperatingSystem" + }, + { + "count": 6, + "dataSize": 546, + "messageType": "InspectorStopProcess" + }, + { + "count": 1, + "dataSize": 1553, + "messageType": "InspectorInstanceMetaData" + }, + { + "count": 2, + "dataSize": 434, + "messageType": "InspectorTcpV4Connection" + }, + { + "count": 474, + "dataSize": 2960322, + "messageType": "InspectorPackageInfo" + }, + { + "count": 3, + "dataSize": 2235, + "messageType": "InspectorSystemPerformance" + }, + { + "count": 105, + "dataSize": 46048, + "messageType": "InspectorCodeModule" + }, + { + "count": 1, + "dataSize": 182, + "messageType": "InspectorUdpV6ListeningPort" + }, + { + "count": 2, + "dataSize": 371, + "messageType": "InspectorUdpV4ListeningPort" + }, + { + "count": 18, + "dataSize": 8362, + "messageType": "InspectorKernelModule" + }, + { + "count": 29, + "dataSize": 48788, + "messageType": "InspectorConfigurationInfo" + }, + { + "count": 1, + "dataSize": 79, + "messageType": "InspectorMonitoringStart" + }, + { + "count": 5, + "dataSize": 0, + "messageType": "InspectorSplitMsgBegin" + }, + { + "count": 51, + "dataSize": 4593, + "messageType": "InspectorGroup" + }, + { + "count": 1, + "dataSize": 184, + "messageType": "InspectorTcpV4ListeningPort" + }, + { + "count": 1159, + "dataSize": 3146579, + "messageType": "Total" + }, + { + "count": 5, + "dataSize": 0, + "messageType": "InspectorSplitMsgEnd" + }, + { + "count": 1, + "dataSize": 612, + "messageType": "InspectorLoadImageInProcess" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Information about the data that is collected for the specified assessment run.", + "id": "get-telemetry-metadata-1481066021297", + "title": "Get telemetry metadata" + } + ], + "ListAssessmentRunAgents": [ + { + "input": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "maxResults": 123 + }, + "output": { + "assessmentRunAgents": [ + { + "agentHealth": "HEALTHY", + "agentHealthCode": "RUNNING", + "agentId": "i-49113b93", + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "telemetryMetadata": [ + { + "count": 2, + "dataSize": 345, + "messageType": "InspectorDuplicateProcess" + }, + { + "count": 3, + "dataSize": 255, + "messageType": "InspectorTimeEventMsg" + }, + { + "count": 4, + "dataSize": 1082, + "messageType": "InspectorNetworkInterface" + }, + { + "count": 2, + "dataSize": 349, + "messageType": "InspectorDnsEntry" + }, + { + "count": 11, + "dataSize": 2514, + "messageType": "InspectorDirectoryInfoMsg" + }, + { + "count": 1, + "dataSize": 179, + "messageType": "InspectorTcpV6ListeningPort" + }, + { + "count": 101, + "dataSize": 10949, + "messageType": "InspectorTerminal" + }, + { + "count": 26, + "dataSize": 5916, + "messageType": "InspectorUser" + }, + { + "count": 282, + "dataSize": 32148, + "messageType": "InspectorDynamicallyLoadedCodeModule" + }, + { + "count": 18, + "dataSize": 10172, + "messageType": "InspectorCreateProcess" + }, + { + "count": 3, + "dataSize": 8001, + "messageType": "InspectorProcessPerformance" + }, + { + "count": 1, + "dataSize": 360, + "messageType": "InspectorOperatingSystem" + }, + { + "count": 6, + "dataSize": 546, + "messageType": "InspectorStopProcess" + }, + { + "count": 1, + "dataSize": 1553, + "messageType": "InspectorInstanceMetaData" + }, + { + "count": 2, + "dataSize": 434, + "messageType": "InspectorTcpV4Connection" + }, + { + "count": 474, + "dataSize": 2960322, + "messageType": "InspectorPackageInfo" + }, + { + "count": 3, + "dataSize": 2235, + "messageType": "InspectorSystemPerformance" + }, + { + "count": 105, + "dataSize": 46048, + "messageType": "InspectorCodeModule" + }, + { + "count": 1, + "dataSize": 182, + "messageType": "InspectorUdpV6ListeningPort" + }, + { + "count": 2, + "dataSize": 371, + "messageType": "InspectorUdpV4ListeningPort" + }, + { + "count": 18, + "dataSize": 8362, + "messageType": "InspectorKernelModule" + }, + { + "count": 29, + "dataSize": 48788, + "messageType": "InspectorConfigurationInfo" + }, + { + "count": 1, + "dataSize": 79, + "messageType": "InspectorMonitoringStart" + }, + { + "count": 5, + "dataSize": 0, + "messageType": "InspectorSplitMsgBegin" + }, + { + "count": 51, + "dataSize": 4593, + "messageType": "InspectorGroup" + }, + { + "count": 1, + "dataSize": 184, + "messageType": "InspectorTcpV4ListeningPort" + }, + { + "count": 1159, + "dataSize": 3146579, + "messageType": "Total" + }, + { + "count": 5, + "dataSize": 0, + "messageType": "InspectorSplitMsgEnd" + }, + { + "count": 1, + "dataSize": 612, + "messageType": "InspectorLoadImageInProcess" + } + ] + } + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the agents of the assessment runs that are specified by the ARNs of the assessment runs.", + "id": "list-assessment-run-agents-1481918140642", + "title": "List assessment run agents" + } + ], + "ListAssessmentRuns": [ + { + "input": { + "assessmentTemplateArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw" + ], + "maxResults": 123 + }, + "output": { + "assessmentRunArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-v5D6fI3v" + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the assessment runs that correspond to the assessment templates that are specified by the ARNs of the assessment templates.", + "id": "list-assessment-runs-1481066340844", + "title": "List assessment runs" + } + ], + "ListAssessmentTargets": [ + { + "input": { + "maxResults": 123 + }, + "output": { + "assessmentTargetArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq" + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the ARNs of the assessment targets within this AWS account. ", + "id": "list-assessment-targets-1481066540849", + "title": "List assessment targets" + } + ], + "ListAssessmentTemplates": [ + { + "input": { + "assessmentTargetArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq" + ], + "maxResults": 123 + }, + "output": { + "assessmentTemplateArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw", + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-Uza6ihLh" + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the assessment templates that correspond to the assessment targets that are specified by the ARNs of the assessment targets.", + "id": "list-assessment-templates-1481066623520", + "title": "List assessment templates" + } + ], + "ListEventSubscriptions": [ + { + "input": { + "maxResults": 123, + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0" + }, + "output": { + "nextToken": "1", + "subscriptions": [ + { + "eventSubscriptions": [ + { + "event": "ASSESSMENT_RUN_COMPLETED", + "subscribedAt": "1459455440.867" + } + ], + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0", + "topicArn": "arn:aws:sns:us-west-2:123456789012:exampletopic" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists all the event subscriptions for the assessment template that is specified by the ARN of the assessment template. ", + "id": "list-event-subscriptions-1481068376945", + "title": "List event subscriptions" + } + ], + "ListFindings": [ + { + "input": { + "assessmentRunArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE" + ], + "maxResults": 123 + }, + "output": { + "findingArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE/finding/0-HwPnsDm4", + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-v5D6fI3v/finding/0-tyvmqBLy" + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists findings that are generated by the assessment runs that are specified by the ARNs of the assessment runs.", + "id": "list-findings-1481066840611", + "title": "List findings" + } + ], + "ListRulesPackages": [ + { + "input": { + "maxResults": 123 + }, + "output": { + "nextToken": "1", + "rulesPackageArns": [ + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p", + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc", + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ", + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists all available Amazon Inspector rules packages.", + "id": "list-rules-packages-1481066954883", + "title": "List rules packages" + } + ], + "ListTagsForResource": [ + { + "input": { + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-gcwFliYu" + }, + "output": { + "tags": [ + { + "key": "Name", + "value": "Example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists all tags associated with an assessment template.", + "id": "list-tags-for-resource-1481067025240", + "title": "List tags for resource" + } + ], + "PreviewAgents": [ + { + "input": { + "maxResults": 123, + "previewAgentsArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq" + }, + "output": { + "agentPreviews": [ + { + "agentId": "i-49113b93" + } + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Previews the agents installed on the EC2 instances that are part of the specified assessment target.", + "id": "preview-agents-1481067101888", + "title": "Preview agents" + } + ], + "RegisterCrossAccountAccessRole": [ + { + "input": { + "roleArn": "arn:aws:iam::123456789012:role/inspector" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Registers the IAM role that Amazon Inspector uses to list your EC2 instances at the start of the assessment run or when you call the PreviewAgents action.", + "id": "register-cross-account-access-role-1481067178301", + "title": "Register cross account access role" + } + ], + "RemoveAttributesFromFindings": [ + { + "input": { + "attributeKeys": [ + "key=Example,value=example" + ], + "findingArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-8l1VIE0D/run/0-Z02cjjug/finding/0-T8yM9mEU" + ] + }, + "output": { + "failedItems": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Removes entire attributes (key and value pairs) from the findings that are specified by the ARNs of the findings where an attribute with the specified key exists.", + "id": "remove-attributes-from-findings-1481067246548", + "title": "Remove attributes from findings" + } + ], + "SetTagsForResource": [ + { + "input": { + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0", + "tags": [ + { + "key": "Example", + "value": "example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Sets tags (key and value pairs) to the assessment template that is specified by the ARN of the assessment template.", + "id": "set-tags-for-resource-1481067329646", + "title": "Set tags for resource" + } + ], + "StartAssessmentRun": [ + { + "input": { + "assessmentRunName": "examplerun", + "assessmentTemplateArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T" + }, + "output": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T/run/0-jOoroxyY" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Starts the assessment run specified by the ARN of the assessment template. For this API to function properly, you must not exceed the limit of running up to 500 concurrent agents per AWS account.", + "id": "start-assessment-run-1481067407484", + "title": "Start assessment run" + } + ], + "StopAssessmentRun": [ + { + "input": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T/run/0-11LMTAVe" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Stops the assessment run that is specified by the ARN of the assessment run.", + "id": "stop-assessment-run-1481067502857", + "title": "Stop assessment run" + } + ], + "SubscribeToEvent": [ + { + "input": { + "event": "ASSESSMENT_RUN_COMPLETED", + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0", + "topicArn": "arn:aws:sns:us-west-2:123456789012:exampletopic" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Enables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic.", + "id": "subscribe-to-event-1481067686031", + "title": "Subscribe to event" + } + ], + "UnsubscribeFromEvent": [ + { + "input": { + "event": "ASSESSMENT_RUN_COMPLETED", + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0", + "topicArn": "arn:aws:sns:us-west-2:123456789012:exampletopic" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Disables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic.", + "id": "unsubscribe-from-event-1481067781705", + "title": "Unsubscribe from event" + } + ], + "UpdateAssessmentTarget": [ + { + "input": { + "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX", + "assessmentTargetName": "Example", + "resourceGroupArn": "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-yNbgL5Pt" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates the assessment target that is specified by the ARN of the assessment target.", + "id": "update-assessment-target-1481067866692", + "title": "Update assessment target" + } + ] + } +} diff --git a/botocore/data/inspector/2016-02-16/paginators-1.json b/botocore/data/inspector/2016-02-16/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/inspector/2016-02-16/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/inspector/2016-02-16/service-2.json b/botocore/data/inspector/2016-02-16/service-2.json index 81019d08..3c9b3e40 100644 --- a/botocore/data/inspector/2016-02-16/service-2.json +++ b/botocore/data/inspector/2016-02-16/service-2.json @@ -221,6 +221,24 @@ ], "documentation":"

Describes the rules packages that are specified by the ARNs of the rules packages.

" }, + "GetAssessmentReport":{ + "name":"GetAssessmentReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAssessmentReportRequest"}, + "output":{"shape":"GetAssessmentReportResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchEntityException"}, + {"shape":"AssessmentRunInProgressException"}, + {"shape":"UnsupportedFeatureException"} + ], + "documentation":"

Produces an assessment report that includes detailed and comprehensive results of a specified assessment run.

" + }, "GetTelemetryMetadata":{ "name":"GetTelemetryMetadata", "http":{ @@ -741,7 +759,8 @@ "stateChangedAt", "dataCollected", "stateChanges", - "notifications" + "notifications", + "findingCounts" ], "members":{ "arn":{ @@ -799,6 +818,10 @@ "notifications":{ "shape":"AssessmentRunNotificationList", "documentation":"

A list of notifications for the event subscriptions. A notification about a particular generated finding is added to this list only once.

" + }, + "findingCounts":{ + "shape":"AssessmentRunFindingCounts", + "documentation":"

Provides a total count of generated findings per severity.

" } }, "documentation":"

A snapshot of an Amazon Inspector assessment run that contains the findings of the assessment run .

Used as the response element in the DescribeAssessmentRuns action.

" @@ -889,6 +912,11 @@ }, "documentation":"

Used as the request parameter in the ListAssessmentRuns action.

" }, + "AssessmentRunFindingCounts":{ + "type":"map", + "key":{"shape":"Severity"}, + "value":{"shape":"FindingCount"} + }, "AssessmentRunInProgressArnList":{ "type":"list", "member":{"shape":"Arn"}, @@ -951,7 +979,10 @@ "shape":"InspectorEvent", "documentation":"

The event for which a notification is sent.

" }, - "message":{"shape":"Message"}, + "message":{ + "shape":"Message", + "documentation":"

The message included in the notification.

" + }, "error":{ "shape":"Bool", "documentation":"

The Boolean value that specifies whether the notification represents an error.

" @@ -991,8 +1022,10 @@ "COLLECTING_DATA", "STOP_DATA_COLLECTION_PENDING", "DATA_COLLECTED", + "START_EVALUATING_RULES_PENDING", "EVALUATING_RULES", "FAILED", + "ERROR", "COMPLETED", "COMPLETED_WITH_ERRORS" ] @@ -1655,7 +1688,10 @@ "shape":"ServiceName", "documentation":"

The data element is set to \"Inspector\".

" }, - "serviceAttributes":{"shape":"InspectorServiceAttributes"}, + "serviceAttributes":{ + "shape":"InspectorServiceAttributes", + "documentation":"

This data type is used in the Finding data type.

" + }, "assetType":{ "shape":"AssetType", "documentation":"

The type of the host from which the finding is generated.

" @@ -1715,6 +1751,7 @@ }, "documentation":"

Contains information about an Amazon Inspector finding. This data type is used as the response element in the DescribeFindings action.

" }, + "FindingCount":{"type":"integer"}, "FindingFilter":{ "type":"structure", "members":{ @@ -1761,9 +1798,45 @@ "FindingList":{ "type":"list", "member":{"shape":"Finding"}, - "max":10, + "max":100, "min":0 }, + "GetAssessmentReportRequest":{ + "type":"structure", + "required":[ + "assessmentRunArn", + "reportFileFormat", + "reportType" + ], + "members":{ + "assessmentRunArn":{ + "shape":"Arn", + "documentation":"

The ARN that specifies the assessment run for which you want to generate a report.

" + }, + "reportFileFormat":{ + "shape":"ReportFileFormat", + "documentation":"

Specifies the file format (html or pdf) of the assessment report that you want to generate.

" + }, + "reportType":{ + "shape":"ReportType", + "documentation":"

Specifies the type of the assessment report that you want to generate. There are two types of assessment reports: a finding report and a full report. For more information, see Assessment Reports.

" + } + } + }, + "GetAssessmentReportResponse":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{ + "shape":"ReportStatus", + "documentation":"

Specifies the status of the request to generate an assessment report.

" + }, + "url":{ + "shape":"Url", + "documentation":"

Specifies the URL where you can find the generated assessment report. This parameter is only returned if the report is successfully generated.

" + } + } + }, "GetTelemetryMetadataRequest":{ "type":"structure", "required":["assessmentRunArn"], @@ -2412,6 +2485,28 @@ } } }, + "ReportFileFormat":{ + "type":"string", + "enum":[ + "HTML", + "PDF" + ] + }, + "ReportStatus":{ + "type":"string", + "enum":[ + "WORK_IN_PROGRESS", + "FAILED", + "COMPLETED" + ] + }, + "ReportType":{ + "type":"string", + "enum":[ + "FINDING", + "FULL" + ] + }, "ResourceGroup":{ "type":"structure", "required":[ @@ -2736,6 +2831,19 @@ } } }, + "UnsupportedFeatureException":{ + "type":"structure", + "required":[ + "message", + "canRetry" + ], + "members":{ + "message":{"shape":"ErrorMessage"}, + "canRetry":{"shape":"Bool"} + }, + "documentation":"

Used by the GetAssessmentReport API. The request was rejected because you tried to generate a report for an assessment run that existed before reporting was supported in Amazon Inspector. You can only generate reports for assessment runs that took place or will take place after generating reports in Amazon Inspector became available.

", + "exception":true + }, "UpdateAssessmentTargetRequest":{ "type":"structure", "required":[ @@ -2758,6 +2866,10 @@ } } }, + "Url":{ + "type":"string", + "max":2048 + }, "UserAttributeKeyList":{ "type":"list", "member":{"shape":"AttributeKey"}, diff --git a/botocore/data/iot/2015-05-28/examples-1.json b/botocore/data/iot/2015-05-28/examples-1.json new file mode 100644 index 00000000..faff7689 --- /dev/null +++ b/botocore/data/iot/2015-05-28/examples-1.json @@ -0,0 +1,5 @@ +{ + "version":"1.0", + "examples":{ + } +} diff --git a/botocore/data/iot/2015-05-28/paginators-1.json b/botocore/data/iot/2015-05-28/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/iot/2015-05-28/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/iot/2015-05-28/service-2.json b/botocore/data/iot/2015-05-28/service-2.json index 20639798..e787eeae 100644 --- a/botocore/data/iot/2015-05-28/service-2.json +++ b/botocore/data/iot/2015-05-28/service-2.json @@ -1,15 +1,14 @@ { "version":"2.0", "metadata":{ - "uid":"iot-2015-05-28", "apiVersion":"2015-05-28", "endpointPrefix":"iot", + "protocol":"rest-json", "serviceFullName":"AWS IoT", "signatureVersion":"v4", "signingName":"execute-api", - "protocol":"rest-json" + "uid":"iot-2015-05-28" }, - "documentation":"AWS IoT

AWS IoT provides secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each thing (Thing Registry), configure logging, and create and manage policies and credentials to authenticate things.

For more information about how AWS IoT works, see the Developer Guide.

", "operations":{ "AcceptCertificateTransfer":{ "name":"AcceptCertificateTransfer", @@ -17,55 +16,15 @@ "method":"PATCH", "requestUri":"/accept-certificate-transfer/{certificateId}" }, - "input":{ - "shape":"AcceptCertificateTransferRequest", - "documentation":"

The input for the AcceptCertificateTransfer operation.

" - }, + "input":{"shape":"AcceptCertificateTransferRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"TransferAlreadyCompletedException", - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

You can't revert the certificate transfer because the transfer is already complete.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"TransferAlreadyCompletedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Accepts a pending certificate transfer. The default state of the certificate is INACTIVE.

To check for pending certificate transfers, call ListCertificates to enumerate your certificates.

" }, @@ -75,55 +34,15 @@ "method":"PUT", "requestUri":"/principal-policies/{policyName}" }, - "input":{ - "shape":"AttachPrincipalPolicyRequest", - "documentation":"

The input for the AttachPrincipalPolicy operation.

" - }, + "input":{"shape":"AttachPrincipalPolicyRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"LimitExceededException", - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

The number of attached entities exceeds the limit.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} ], "documentation":"

Attaches the specified policy to the specified principal (certificate or other credential).

" }, @@ -133,53 +52,15 @@ "method":"PUT", "requestUri":"/things/{thingName}/principals" }, - "input":{ - "shape":"AttachThingPrincipalRequest", - "documentation":"

The input for the AttachThingPrincipal operation.

" - }, - "output":{ - "shape":"AttachThingPrincipalResponse", - "documentation":"

The output from the AttachThingPrincipal operation.

" - }, + "input":{"shape":"AttachThingPrincipalRequest"}, + "output":{"shape":"AttachThingPrincipalResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Attaches the specified principal to the specified thing.

" }, @@ -189,57 +70,17 @@ "method":"PATCH", "requestUri":"/cancel-certificate-transfer/{certificateId}" }, - "input":{ - "shape":"CancelCertificateTransferRequest", - "documentation":"

The input for the CancelCertificateTransfer operation.

" - }, + "input":{"shape":"CancelCertificateTransferRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"TransferAlreadyCompletedException", - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

You can't revert the certificate transfer because the transfer is already complete.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"TransferAlreadyCompletedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Cancels a pending transfer for the specified certificate.

Note Only the transfer source account can use this operation to cancel a transfer. (Transfer destinations can use RejectCertificateTransfer instead.) After transfer, AWS IoT returns the certificate to the source account in the INACTIVE state. After the destination account has accepted the transfer, the transfer cannot be cancelled.

After a certificate transfer is cancelled, the status of the certificate changes from PENDING_TRANSFER to INACTIVE.

" + "documentation":"

Cancels a pending transfer for the specified certificate.

Note Only the transfer source account can use this operation to cancel a transfer. (Transfer destinations can use RejectCertificateTransfer instead.) After transfer, AWS IoT returns the certificate to the source account in the INACTIVE state. After the destination account has accepted the transfer, the transfer cannot be cancelled.

After a certificate transfer is cancelled, the status of the certificate changes from PENDING_TRANSFER to INACTIVE.

" }, "CreateCertificateFromCsr":{ "name":"CreateCertificateFromCsr", @@ -247,49 +88,16 @@ "method":"POST", "requestUri":"/certificates" }, - "input":{ - "shape":"CreateCertificateFromCsrRequest", - "documentation":"

The input for the CreateCertificateFromCsr operation.

" - }, - "output":{ - "shape":"CreateCertificateFromCsrResponse", - "documentation":"

The output from the CreateCertificateFromCsr operation.

" - }, + "input":{"shape":"CreateCertificateFromCsrRequest"}, + "output":{"shape":"CreateCertificateFromCsrResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Creates an X.509 certificate using the specified certificate signing request.

Note Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs.

Assuming a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr AWS CLI command to create a certificate for the corresponding CSR.

The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\"

" + "documentation":"

Creates an X.509 certificate using the specified certificate signing request.

Note: The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves.

Note: Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs.

Assuming a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr AWS CLI command to create a certificate for the corresponding CSR.

The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\"

" }, "CreateKeysAndCertificate":{ "name":"CreateKeysAndCertificate", @@ -297,49 +105,16 @@ "method":"POST", "requestUri":"/keys-and-certificate" }, - "input":{ - "shape":"CreateKeysAndCertificateRequest", - "documentation":"

The input for the CreateKeysAndCertificate operation.

" - }, - "output":{ - "shape":"CreateKeysAndCertificateResponse", - "documentation":"

The output of the CreateKeysAndCertificate operation.

" - }, + "input":{"shape":"CreateKeysAndCertificateRequest"}, + "output":{"shape":"CreateKeysAndCertificateResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key.

Note This is the only time AWS IoT issues the private key for this certificate, so it is important to keep it in a secure location.

" + "documentation":"

Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key.

Note This is the only time AWS IoT issues the private key for this certificate, so it is important to keep it in a secure location.

" }, "CreatePolicy":{ "name":"CreatePolicy", @@ -347,59 +122,16 @@ "method":"POST", "requestUri":"/policies/{policyName}" }, - "input":{ - "shape":"CreatePolicyRequest", - "documentation":"

The input for the CreatePolicy operation.

" - }, - "output":{ - "shape":"CreatePolicyResponse", - "documentation":"

The output from the CreatePolicy operation.

" - }, + "input":{"shape":"CreatePolicyRequest"}, + "output":{"shape":"CreatePolicyResponse"}, "errors":[ - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - }, - { - "shape":"MalformedPolicyException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The policy documentation is not valid.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"MalformedPolicyException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Creates an AWS IoT policy.

The created policy is the default version for the policy. This operation creates a policy version with a version identifier of 1 and sets 1 as the policy's default version.

" }, @@ -409,65 +141,17 @@ "method":"POST", "requestUri":"/policies/{policyName}/version" }, - "input":{ - "shape":"CreatePolicyVersionRequest", - "documentation":"

The input for the CreatePolicyVersion operation.

" - }, - "output":{ - "shape":"CreatePolicyVersionResponse", - "documentation":"

The output of the CreatePolicyVersion operation.

" - }, + "input":{"shape":"CreatePolicyVersionRequest"}, + "output":{"shape":"CreatePolicyVersionResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"MalformedPolicyException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The policy documentation is not valid.

" - }, - { - "shape":"VersionsLimitExceededException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The number of policy versions exceeds the limit.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"MalformedPolicyException"}, + {"shape":"VersionsLimitExceededException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Creates a new version of the specified AWS IoT policy. To update a policy, create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must use DeletePolicyVersion to delete an existing version before you create a new one.

Optionally, you can set the new version as the policy's default version. The default version is the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

" }, @@ -477,59 +161,16 @@ "method":"POST", "requestUri":"/things/{thingName}" }, - "input":{ - "shape":"CreateThingRequest", - "documentation":"

The input for the CreateThing operation.

" - }, - "output":{ - "shape":"CreateThingResponse", - "documentation":"

The output of the CreateThing operation.

" - }, + "input":{"shape":"CreateThingRequest"}, + "output":{"shape":"CreateThingResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Creates a thing record in the thing registry.

" }, @@ -539,53 +180,15 @@ "method":"POST", "requestUri":"/thing-types/{thingTypeName}" }, - "input":{ - "shape":"CreateThingTypeRequest", - "documentation":"

The input for the CreateThingType operation.

" - }, - "output":{ - "shape":"CreateThingTypeResponse", - "documentation":"

The output of the CreateThingType operation.

" - }, + "input":{"shape":"CreateThingTypeRequest"}, + "output":{"shape":"CreateThingTypeResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceAlreadyExistsException"} ], "documentation":"

Creates a new thing type.

" }, @@ -595,43 +198,13 @@ "method":"POST", "requestUri":"/rules/{ruleName}" }, - "input":{ - "shape":"CreateTopicRuleRequest", - "documentation":"

The input for the CreateTopicRule operation.

" - }, + "input":{"shape":"CreateTopicRuleRequest"}, "errors":[ - { - "shape":"SqlParseException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The Rule-SQL expression can't be parsed correctly.

" - }, - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - } + {"shape":"SqlParseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ServiceUnavailableException"} ], "documentation":"

Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

" }, @@ -641,59 +214,16 @@ "method":"DELETE", "requestUri":"/cacertificate/{caCertificateId}" }, - "input":{ - "shape":"DeleteCACertificateRequest", - "documentation":"

Input for the DeleteCACertificate operation.

" - }, - "output":{ - "shape":"DeleteCACertificateResponse", - "documentation":"

The output for the DeleteCACertificate operation.

" - }, + "input":{"shape":"DeleteCACertificateRequest"}, + "output":{"shape":"DeleteCACertificateResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"CertificateStateException", - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"CertificateStateException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Deletes a registered CA certificate.

" }, @@ -703,61 +233,16 @@ "method":"DELETE", "requestUri":"/certificates/{certificateId}" }, - "input":{ - "shape":"DeleteCertificateRequest", - "documentation":"

The input for the DeleteCertificate operation.

" - }, + "input":{"shape":"DeleteCertificateRequest"}, "errors":[ - { - "shape":"CertificateStateException", - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" - }, - { - "shape":"DeleteConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't delete the resource because it is attached to one or more resources.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + {"shape":"CertificateStateException"}, + {"shape":"DeleteConflictException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Deletes the specified certificate.

A certificate cannot be deleted if it has a policy attached to it or if its status is set to ACTIVE. To delete a certificate, first use the DetachPrincipalPolicy API to detach all policies. Next, use the UpdateCertificate API to set the certificate to the INACTIVE status.

" }, @@ -767,55 +252,15 @@ "method":"DELETE", "requestUri":"/policies/{policyName}" }, - "input":{ - "shape":"DeletePolicyRequest", - "documentation":"

The input for the DeletePolicy operation.

" - }, + "input":{"shape":"DeletePolicyRequest"}, "errors":[ - { - "shape":"DeleteConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't delete the resource because it is attached to one or more resources.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"DeleteConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Deletes the specified policy.

A policy cannot be deleted if it has non-default versions or it is attached to any certificate.

To delete a policy, use the DeletePolicyVersion API to delete all non-default versions of the policy; use the DetachPrincipalPolicy API to detach the policy from any certificate; and then use the DeletePolicy API to delete the policy.

When a policy is deleted using DeletePolicy, its default version is deleted with it.

" }, @@ -825,55 +270,15 @@ "method":"DELETE", "requestUri":"/policies/{policyName}/version/{policyVersionId}" }, - "input":{ - "shape":"DeletePolicyVersionRequest", - "documentation":"

The input for the DeletePolicyVersion operation.

" - }, + "input":{"shape":"DeletePolicyVersionRequest"}, "errors":[ - { - "shape":"DeleteConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't delete the resource because it is attached to one or more resources.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"DeleteConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Deletes the specified version of the specified policy. You cannot delete the default version of a policy using this API. To delete the default version of a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.

" }, @@ -883,47 +288,14 @@ "method":"DELETE", "requestUri":"/registrationcode" }, - "input":{ - "shape":"DeleteRegistrationCodeRequest", - "documentation":"

The input for the DeleteRegistrationCode operation.

" - }, - "output":{ - "shape":"DeleteRegistrationCodeResponse", - "documentation":"

The output for the DeleteRegistrationCode operation.

" - }, + "input":{"shape":"DeleteRegistrationCodeRequest"}, + "output":{"shape":"DeleteRegistrationCodeResponse"}, "errors":[ - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Deletes a CA certificate registration code.

" }, @@ -933,59 +305,16 @@ "method":"DELETE", "requestUri":"/things/{thingName}" }, - "input":{ - "shape":"DeleteThingRequest", - "documentation":"

The input for the DeleteThing operation.

" - }, - "output":{ - "shape":"DeleteThingResponse", - "documentation":"

The output of the DeleteThing operation.

" - }, + "input":{"shape":"DeleteThingRequest"}, + "output":{"shape":"DeleteThingResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"VersionConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

An exception thrown when the version of a thing passed to a command is different than the version specified with the --version parameter.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"VersionConflictException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Deletes the specified thing.

" }, @@ -995,53 +324,15 @@ "method":"DELETE", "requestUri":"/thing-types/{thingTypeName}" }, - "input":{ - "shape":"DeleteThingTypeRequest", - "documentation":"

The input for the DeleteThingType operation.

" - }, - "output":{ - "shape":"DeleteThingTypeResponse", - "documentation":"

The output for the DeleteThingType operation.

" - }, + "input":{"shape":"DeleteThingTypeRequest"}, + "output":{"shape":"DeleteThingTypeResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Deletes the specified thing type . You cannot delete a thing type if it has things associated with it. To delete a thing type, first mark it as deprecated by calling DeprecateThingType, then remove any associated things by calling UpdateThing to change the thing type on any associated thing, and finally use DeleteThingType to delete the thing type.

" }, @@ -1051,37 +342,12 @@ "method":"DELETE", "requestUri":"/rules/{ruleName}" }, - "input":{ - "shape":"DeleteTopicRuleRequest", - "documentation":"

The input for the DeleteTopicRule operation.

" - }, + "input":{"shape":"DeleteTopicRuleRequest"}, "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - } + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Deletes the specified rule.

" }, @@ -1091,53 +357,15 @@ "method":"POST", "requestUri":"/thing-types/{thingTypeName}/deprecate" }, - "input":{ - "shape":"DeprecateThingTypeRequest", - "documentation":"

The input for the DeprecateThingType operation.

" - }, - "output":{ - "shape":"DeprecateThingTypeResponse", - "documentation":"

The output for the DeprecateThingType operation.

" - }, + "input":{"shape":"DeprecateThingTypeRequest"}, + "output":{"shape":"DeprecateThingTypeResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Deprecates a thing type. You can not associate new things with deprecated thing type.

" }, @@ -1147,53 +375,15 @@ "method":"GET", "requestUri":"/cacertificate/{caCertificateId}" }, - "input":{ - "shape":"DescribeCACertificateRequest", - "documentation":"

The input for the DescribeCACertificate operation.

" - }, - "output":{ - "shape":"DescribeCACertificateResponse", - "documentation":"

The output from the DescribeCACertificate operation.

" - }, + "input":{"shape":"DescribeCACertificateRequest"}, + "output":{"shape":"DescribeCACertificateResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Describes a registered CA certificate.

" }, @@ -1203,53 +393,15 @@ "method":"GET", "requestUri":"/certificates/{certificateId}" }, - "input":{ - "shape":"DescribeCertificateRequest", - "documentation":"

The input for the DescribeCertificate operation.

" - }, - "output":{ - "shape":"DescribeCertificateResponse", - "documentation":"

The output of the DescribeCertificate operation.

" - }, + "input":{"shape":"DescribeCertificateRequest"}, + "output":{"shape":"DescribeCertificateResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Gets information about the specified certificate.

" }, @@ -1259,34 +411,12 @@ "method":"GET", "requestUri":"/endpoint" }, - "input":{ - "shape":"DescribeEndpointRequest", - "documentation":"

The input for the DescribeEndpoint operation.

" - }, - "output":{ - "shape":"DescribeEndpointResponse", - "documentation":"

The output from the DescribeEndpoint operation.

" - }, + "input":{"shape":"DescribeEndpointRequest"}, + "output":{"shape":"DescribeEndpointResponse"}, "errors":[ - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - } + {"shape":"InternalFailureException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} ], "documentation":"

Returns a unique endpoint specific to the AWS account making the call.

" }, @@ -1296,53 +426,15 @@ "method":"GET", "requestUri":"/things/{thingName}" }, - "input":{ - "shape":"DescribeThingRequest", - "documentation":"

The input for the DescribeThing operation.

" - }, - "output":{ - "shape":"DescribeThingResponse", - "documentation":"

The output from the DescribeThing operation.

" - }, + "input":{"shape":"DescribeThingRequest"}, + "output":{"shape":"DescribeThingResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Gets information about the specified thing.

" }, @@ -1352,53 +444,15 @@ "method":"GET", "requestUri":"/thing-types/{thingTypeName}" }, - "input":{ - "shape":"DescribeThingTypeRequest", - "documentation":"

The input for the DescribeThingType operation.

" - }, - "output":{ - "shape":"DescribeThingTypeResponse", - "documentation":"

The output for the DescribeThingType operation.

" - }, + "input":{"shape":"DescribeThingTypeRequest"}, + "output":{"shape":"DescribeThingTypeResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Gets information about the specified thing type.

" }, @@ -1408,49 +462,14 @@ "method":"DELETE", "requestUri":"/principal-policies/{policyName}" }, - "input":{ - "shape":"DetachPrincipalPolicyRequest", - "documentation":"

The input for the DetachPrincipalPolicy operation.

" - }, + "input":{"shape":"DetachPrincipalPolicyRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Removes the specified policy from the specified certificate.

" }, @@ -1460,53 +479,15 @@ "method":"DELETE", "requestUri":"/things/{thingName}/principals" }, - "input":{ - "shape":"DetachThingPrincipalRequest", - "documentation":"

The input for the DetachThingPrincipal operation.

" - }, - "output":{ - "shape":"DetachThingPrincipalResponse", - "documentation":"

The output from the DetachThingPrincipal operation.

" - }, + "input":{"shape":"DetachThingPrincipalRequest"}, + "output":{"shape":"DetachThingPrincipalResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Detaches the specified principal from the specified thing.

" }, @@ -1516,37 +497,12 @@ "method":"POST", "requestUri":"/rules/{ruleName}/disable" }, - "input":{ - "shape":"DisableTopicRuleRequest", - "documentation":"

The input for the DisableTopicRuleRequest operation.

" - }, + "input":{"shape":"DisableTopicRuleRequest"}, "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - } + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Disables the specified rule.

" }, @@ -1556,37 +512,12 @@ "method":"POST", "requestUri":"/rules/{ruleName}/enable" }, - "input":{ - "shape":"EnableTopicRuleRequest", - "documentation":"

The input for the EnableTopicRuleRequest operation.

" - }, + "input":{"shape":"EnableTopicRuleRequest"}, "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - } + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Enables the specified rule.

" }, @@ -1596,35 +527,12 @@ "method":"GET", "requestUri":"/loggingOptions" }, - "input":{ - "shape":"GetLoggingOptionsRequest", - "documentation":"

The input for the GetLoggingOptions operation.

" - }, - "output":{ - "shape":"GetLoggingOptionsResponse", - "documentation":"

The output from the GetLoggingOptions operation.

" - }, + "input":{"shape":"GetLoggingOptionsRequest"}, + "output":{"shape":"GetLoggingOptionsResponse"}, "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - } + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} ], "documentation":"

Gets the logging options.

" }, @@ -1634,53 +542,15 @@ "method":"GET", "requestUri":"/policies/{policyName}" }, - "input":{ - "shape":"GetPolicyRequest", - "documentation":"

The input for the GetPolicy operation.

" - }, - "output":{ - "shape":"GetPolicyResponse", - "documentation":"

The output from the GetPolicy operation.

" - }, + "input":{"shape":"GetPolicyRequest"}, + "output":{"shape":"GetPolicyResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Gets information about the specified policy with the policy document of the default version.

" }, @@ -1690,53 +560,15 @@ "method":"GET", "requestUri":"/policies/{policyName}/version/{policyVersionId}" }, - "input":{ - "shape":"GetPolicyVersionRequest", - "documentation":"

The input for the GetPolicyVersion operation.

" - }, - "output":{ - "shape":"GetPolicyVersionResponse", - "documentation":"

The output from the GetPolicyVersion operation.

" - }, + "input":{"shape":"GetPolicyVersionRequest"}, + "output":{"shape":"GetPolicyVersionResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Gets information about the specified policy version.

" }, @@ -1746,47 +578,14 @@ "method":"GET", "requestUri":"/registrationcode" }, - "input":{ - "shape":"GetRegistrationCodeRequest", - "documentation":"

The input to the GetRegistrationCode operation.

" - }, - "output":{ - "shape":"GetRegistrationCodeResponse", - "documentation":"

The output from the GetRegistrationCode operation.

" - }, + "input":{"shape":"GetRegistrationCodeRequest"}, + "output":{"shape":"GetRegistrationCodeResponse"}, "errors":[ - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - } + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"} ], "documentation":"

Gets a registration code used to register a CA certificate with AWS IoT.

" }, @@ -1796,41 +595,13 @@ "method":"GET", "requestUri":"/rules/{ruleName}" }, - "input":{ - "shape":"GetTopicRuleRequest", - "documentation":"

The input for the GetTopicRule operation.

" - }, - "output":{ - "shape":"GetTopicRuleResponse", - "documentation":"

The output from the GetTopicRule operation.

" - }, + "input":{"shape":"GetTopicRuleRequest"}, + "output":{"shape":"GetTopicRuleResponse"}, "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - } + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Gets information about the specified rule.

" }, @@ -1840,47 +611,14 @@ "method":"GET", "requestUri":"/cacertificates" }, - "input":{ - "shape":"ListCACertificatesRequest", - "documentation":"

Input for the ListCACertificates operation.

" - }, - "output":{ - "shape":"ListCACertificatesResponse", - "documentation":"

The output from the ListCACertificates operation.

" - }, + "input":{"shape":"ListCACertificatesRequest"}, + "output":{"shape":"ListCACertificatesResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Lists the CA certificates registered for your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

" }, @@ -1890,47 +628,14 @@ "method":"GET", "requestUri":"/certificates" }, - "input":{ - "shape":"ListCertificatesRequest", - "documentation":"

The input for the ListCertificates operation.

" - }, - "output":{ - "shape":"ListCertificatesResponse", - "documentation":"

The output of the ListCertificates operation.

" - }, + "input":{"shape":"ListCertificatesRequest"}, + "output":{"shape":"ListCertificatesResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Lists the certificates registered in your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

" }, @@ -1940,47 +645,14 @@ "method":"GET", "requestUri":"/certificates-by-ca/{caCertificateId}" }, - "input":{ - "shape":"ListCertificatesByCARequest", - "documentation":"

The input to the ListCertificatesByCA operation.

" - }, - "output":{ - "shape":"ListCertificatesByCAResponse", - "documentation":"

The output of the ListCertificatesByCA operation.

" - }, + "input":{"shape":"ListCertificatesByCARequest"}, + "output":{"shape":"ListCertificatesByCAResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

List the device certificates signed by the specified CA certificate.

" }, @@ -1990,47 +662,14 @@ "method":"GET", "requestUri":"/certificates-out-going" }, - "input":{ - "shape":"ListOutgoingCertificatesRequest", - "documentation":"

The input to the ListOutgoingCertificates operation.

" - }, - "output":{ - "shape":"ListOutgoingCertificatesResponse", - "documentation":"

The output from the ListOutgoingCertificates operation.

" - }, + "input":{"shape":"ListOutgoingCertificatesRequest"}, + "output":{"shape":"ListOutgoingCertificatesResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Lists certificates that are being transfered but not yet accepted.

" }, @@ -2040,47 +679,14 @@ "method":"GET", "requestUri":"/policies" }, - "input":{ - "shape":"ListPoliciesRequest", - "documentation":"

The input for the ListPolicies operation.

" - }, - "output":{ - "shape":"ListPoliciesResponse", - "documentation":"

The output from the ListPolicies operation.

" - }, + "input":{"shape":"ListPoliciesRequest"}, + "output":{"shape":"ListPoliciesResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Lists your policies.

" }, @@ -2090,53 +696,15 @@ "method":"GET", "requestUri":"/policy-principals" }, - "input":{ - "shape":"ListPolicyPrincipalsRequest", - "documentation":"

The input for the ListPolicyPrincipals operation.

" - }, - "output":{ - "shape":"ListPolicyPrincipalsResponse", - "documentation":"

The output from the ListPolicyPrincipals operation.

" - }, + "input":{"shape":"ListPolicyPrincipalsRequest"}, + "output":{"shape":"ListPolicyPrincipalsResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Lists the principals associated with the specified policy.

" }, @@ -2146,53 +714,15 @@ "method":"GET", "requestUri":"/policies/{policyName}/version" }, - "input":{ - "shape":"ListPolicyVersionsRequest", - "documentation":"

The input for the ListPolicyVersions operation.

" - }, - "output":{ - "shape":"ListPolicyVersionsResponse", - "documentation":"

The output from the ListPolicyVersions operation.

" - }, + "input":{"shape":"ListPolicyVersionsRequest"}, + "output":{"shape":"ListPolicyVersionsResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Lists the versions of the specified policy and identifies the default version.

" }, @@ -2202,53 +732,15 @@ "method":"GET", "requestUri":"/principal-policies" }, - "input":{ - "shape":"ListPrincipalPoliciesRequest", - "documentation":"

The input for the ListPrincipalPolicies operation.

" - }, - "output":{ - "shape":"ListPrincipalPoliciesResponse", - "documentation":"

The output from the ListPrincipalPolicies operation.

" - }, + "input":{"shape":"ListPrincipalPoliciesRequest"}, + "output":{"shape":"ListPrincipalPoliciesResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in AmazonCognito Identity format.

" }, @@ -2258,53 +750,15 @@ "method":"GET", "requestUri":"/principals/things" }, - "input":{ - "shape":"ListPrincipalThingsRequest", - "documentation":"

The input for the ListPrincipalThings operation.

" - }, - "output":{ - "shape":"ListPrincipalThingsResponse", - "documentation":"

The output from the ListPrincipalThings operation.

" - }, + "input":{"shape":"ListPrincipalThingsRequest"}, + "output":{"shape":"ListPrincipalThingsResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Lists the things associated with the specified principal.

" }, @@ -2314,53 +768,15 @@ "method":"GET", "requestUri":"/things/{thingName}/principals" }, - "input":{ - "shape":"ListThingPrincipalsRequest", - "documentation":"

The input for the ListThingPrincipal operation.

" - }, - "output":{ - "shape":"ListThingPrincipalsResponse", - "documentation":"

The output from the ListThingPrincipals operation.

" - }, + "input":{"shape":"ListThingPrincipalsRequest"}, + "output":{"shape":"ListThingPrincipalsResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Lists the principals associated with the specified thing.

" }, @@ -2370,47 +786,14 @@ "method":"GET", "requestUri":"/thing-types" }, - "input":{ - "shape":"ListThingTypesRequest", - "documentation":"

The input for the ListThingTypes operation.

" - }, - "output":{ - "shape":"ListThingTypesResponse", - "documentation":"

The output for the ListThingTypes operation.

" - }, + "input":{"shape":"ListThingTypesRequest"}, + "output":{"shape":"ListThingTypesResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Lists the existing thing types.

" }, @@ -2420,47 +803,14 @@ "method":"GET", "requestUri":"/things" }, - "input":{ - "shape":"ListThingsRequest", - "documentation":"

The input for the ListThings operation.

" - }, - "output":{ - "shape":"ListThingsResponse", - "documentation":"

The output from the ListThings operation.

" - }, + "input":{"shape":"ListThingsRequest"}, + "output":{"shape":"ListThingsResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Lists your things. Use the attributeName and attributeValue parameters to filter your things. For example, calling ListThings with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute Color with the value Red.

" }, @@ -2470,35 +820,12 @@ "method":"GET", "requestUri":"/rules" }, - "input":{ - "shape":"ListTopicRulesRequest", - "documentation":"

The input for the ListTopicRules operation.

" - }, - "output":{ - "shape":"ListTopicRulesResponse", - "documentation":"

The output from the ListTopicRules operation.

" - }, + "input":{"shape":"ListTopicRulesRequest"}, + "output":{"shape":"ListTopicRulesResponse"}, "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - } + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} ], "documentation":"

Lists the rules for the specific topic.

" }, @@ -2508,73 +835,20 @@ "method":"POST", "requestUri":"/cacertificate" }, - "input":{ - "shape":"RegisterCACertificateRequest", - "documentation":"

The input to the RegisterCACertificate operation.

" - }, - "output":{ - "shape":"RegisterCACertificateResponse", - "documentation":"

The output from the RegisterCACertificateResponse operation.

" - }, + "input":{"shape":"RegisterCACertificateRequest"}, + "output":{"shape":"RegisterCACertificateResponse"}, "errors":[ - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - }, - { - "shape":"RegistrationCodeValidationException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The registration code is invalid.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"CertificateValidationException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The certificate is invalid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"LimitExceededException", - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

The number of attached entities exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"RegistrationCodeValidationException"}, + {"shape":"InvalidRequestException"}, + {"shape":"CertificateValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Registers a CA certificate with AWS IoT. This CA certificate can then be used to sign device certificates, which can be then registered with AWS IoT. You can register up to 10 CA certificates per AWS account that have the same subject field and public key. This enables you to have up to 10 certificate authorities sign your device certificates. If you have more than one CA certificate registered, make sure you pass the CA certificate when you register your device certificates with the RegisterCertificate API.

" + "documentation":"

Registers a CA certificate with AWS IoT. This CA certificate can then be used to sign device certificates, which can be then registered with AWS IoT. You can register up to 10 CA certificates per AWS account that have the same subject field. This enables you to have up to 10 certificate authorities sign your device certificates. If you have more than one CA certificate registered, make sure you pass the CA certificate when you register your device certificates with the RegisterCertificate API.

" }, "RegisterCertificate":{ "name":"RegisterCertificate", @@ -2582,71 +856,18 @@ "method":"POST", "requestUri":"/certificate/register" }, - "input":{ - "shape":"RegisterCertificateRequest", - "documentation":"

The input to the RegisterCertificate operation.

" - }, - "output":{ - "shape":"RegisterCertificateResponse", - "documentation":"

The output from the RegisterCertificate operation.

" - }, + "input":{"shape":"RegisterCertificateRequest"}, + "output":{"shape":"RegisterCertificateResponse"}, "errors":[ - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"CertificateValidationException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The certificate is invalid.

" - }, - { - "shape":"CertificateStateException", - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" - }, - { - "shape":"CertificateConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

Unable to verify the CA certificate used to sign the device certificate you are attempting to register. This is happens when you have registered more than one CA certificate that has the same subject field and public key.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"CertificateValidationException"}, + {"shape":"CertificateStateException"}, + {"shape":"CertificateConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Registers a device certificate with AWS IoT. If you have more than one CA certificate that has the same subject field, you must specify the CA certificate that was used to sign the device certificate being registered.

" }, @@ -2656,55 +877,15 @@ "method":"PATCH", "requestUri":"/reject-certificate-transfer/{certificateId}" }, - "input":{ - "shape":"RejectCertificateTransferRequest", - "documentation":"

The input for the RejectCertificateTransfer operation.

" - }, + "input":{"shape":"RejectCertificateTransferRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"TransferAlreadyCompletedException", - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

You can't revert the certificate transfer because the transfer is already complete.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"TransferAlreadyCompletedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Rejects a pending certificate transfer. After AWS IoT rejects a certificate transfer, the certificate status changes from PENDING_TRANSFER to INACTIVE.

To check for pending certificate transfers, call ListCertificates to enumerate your certificates.

This operation can only be called by the transfer destination. After it is called, the certificate will be returned to the source's account in the INACTIVE state.

" }, @@ -2714,43 +895,13 @@ "method":"PATCH", "requestUri":"/rules/{ruleName}" }, - "input":{ - "shape":"ReplaceTopicRuleRequest", - "documentation":"

The input for the ReplaceTopicRule operation.

" - }, + "input":{"shape":"ReplaceTopicRuleRequest"}, "errors":[ - { - "shape":"SqlParseException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The Rule-SQL expression can't be parsed correctly.

" - }, - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - } + {"shape":"SqlParseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"} ], "documentation":"

Replaces the specified rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

" }, @@ -2760,49 +911,14 @@ "method":"PATCH", "requestUri":"/policies/{policyName}/version/{policyVersionId}" }, - "input":{ - "shape":"SetDefaultPolicyVersionRequest", - "documentation":"

The input for the SetDefaultPolicyVersion operation.

" - }, + "input":{"shape":"SetDefaultPolicyVersionRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Sets the specified version of the specified policy as the policy's default (operative) version. This action affects all certificates to which the policy is attached. To list the principals the policy is attached to, use the ListPrincipalPolicy API.

" }, @@ -2812,31 +928,11 @@ "method":"POST", "requestUri":"/loggingOptions" }, - "input":{ - "shape":"SetLoggingOptionsRequest", - "documentation":"

The input for the SetLoggingOptions operation.

" - }, + "input":{"shape":"SetLoggingOptionsRequest"}, "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - } + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} ], "documentation":"

Sets the logging options.

" }, @@ -2846,65 +942,17 @@ "method":"PATCH", "requestUri":"/transfer-certificate/{certificateId}" }, - "input":{ - "shape":"TransferCertificateRequest", - "documentation":"

The input for the TransferCertificate operation.

" - }, - "output":{ - "shape":"TransferCertificateResponse", - "documentation":"

The output from the TransferCertificate operation.

" - }, + "input":{"shape":"TransferCertificateRequest"}, + "output":{"shape":"TransferCertificateResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"CertificateStateException", - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" - }, - { - "shape":"TransferConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't transfer the certificate because authorization policies are still attached.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"CertificateStateException"}, + {"shape":"TransferConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Transfers the specified certificate to the specified AWS account.

You can cancel the transfer until it is acknowledged by the recipient.

No notification is sent to the transfer destination's account. It is up to the caller to notify the transfer target.

The certificate being transferred must not be in the ACTIVE state. You can use the UpdateCertificate API to deactivate it.

The certificate must not have any policies attached to it. You can use the DetachPrincipalPolicy API to detach them.

" }, @@ -2914,49 +962,14 @@ "method":"PUT", "requestUri":"/cacertificate/{caCertificateId}" }, - "input":{ - "shape":"UpdateCACertificateRequest", - "documentation":"

The input to the UpdateCACertificate operation.

" - }, + "input":{"shape":"UpdateCACertificateRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Updates a registered CA certificate.

" }, @@ -2966,55 +979,15 @@ "method":"PUT", "requestUri":"/certificates/{certificateId}" }, - "input":{ - "shape":"UpdateCertificateRequest", - "documentation":"

The input for the UpdateCertificate operation.

" - }, + "input":{"shape":"UpdateCertificateRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"CertificateStateException", - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"CertificateStateException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Updates the status of the specified certificate. This operation is idempotent.

Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect currently connected devices, but these devices will be unable to reconnect.

The ACTIVE state is required to authenticate devices connecting to AWS IoT using a certificate.

" }, @@ -3024,59 +997,16 @@ "method":"PATCH", "requestUri":"/things/{thingName}" }, - "input":{ - "shape":"UpdateThingRequest", - "documentation":"

The input for the UpdateThing operation.

" - }, - "output":{ - "shape":"UpdateThingResponse", - "documentation":"

The output from the UpdateThing operation.

" - }, + "input":{"shape":"UpdateThingRequest"}, + "output":{"shape":"UpdateThingResponse"}, "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"VersionConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

An exception thrown when the version of a thing passed to a command is different than the version specified with the --version parameter.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + {"shape":"InvalidRequestException"}, + {"shape":"VersionConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Updates the data for a thing.

" } @@ -3088,15 +1018,15 @@ "members":{ "certificateId":{ "shape":"CertificateId", + "documentation":"

The ID of the certificate.

", "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "locationName":"certificateId" }, "setAsActive":{ "shape":"SetAsActive", + "documentation":"

Specifies whether the certificate is active.

", "location":"querystring", - "locationName":"setAsActive", - "documentation":"

Specifies whether the certificate is active.

" + "locationName":"setAsActive" } }, "documentation":"

The input for the AcceptCertificateTransfer operation.

" @@ -3151,6 +1081,10 @@ "elasticsearch":{ "shape":"ElasticsearchAction", "documentation":"

Write data to an Amazon Elasticsearch Service domain.

" + }, + "salesforce":{ + "shape":"SalesforceAction", + "documentation":"

Send a message to a Salesforce IoT Cloud Input Stream.

" } }, "documentation":"

Describes the actions associated with a rule.

" @@ -3158,8 +1092,8 @@ "ActionList":{ "type":"list", "member":{"shape":"Action"}, - "min":0, - "max":10 + "max":10, + "min":0 }, "AlarmName":{"type":"string"}, "AllowAutoRegistration":{"type":"boolean"}, @@ -3173,15 +1107,15 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The policy name.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The policy name.

" + "locationName":"policyName" }, "principal":{ "shape":"Principal", + "documentation":"

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

", "location":"header", - "locationName":"x-amzn-iot-principal", - "documentation":"

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

" + "locationName":"x-amzn-iot-principal" } }, "documentation":"

The input for the AttachPrincipalPolicy operation.

" @@ -3195,15 +1129,15 @@ "members":{ "thingName":{ "shape":"ThingName", + "documentation":"

The name of the thing.

", "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing.

" + "locationName":"thingName" }, "principal":{ "shape":"Principal", + "documentation":"

The principal, such as a certificate or other credential.

", "location":"header", - "locationName":"x-amzn-principal", - "documentation":"

The principal, such as a certificate or other credential.

" + "locationName":"x-amzn-principal" } }, "documentation":"

The input for the AttachThingPrincipal operation.

" @@ -3224,7 +1158,7 @@ "members":{ "attributes":{ "shape":"Attributes", - "documentation":"

A JSON string containing up to three key-value pair in JSON format. For example:

{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}})

" + "documentation":"

A JSON string containing up to three key-value pair in JSON format. For example:

{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}

" }, "merge":{ "shape":"Flag", @@ -3235,9 +1169,9 @@ }, "AttributeValue":{ "type":"string", + "documentation":"An attribute value for an Thing. An empty or null value in Update means that existing value for that attribute should be deleted. Empty and null values in create are ignored.", "max":800, - "pattern":"[a-zA-Z0-9_.,@/:#-]*", - "documentation":"An attribute value for an Thing. An empty or null value in Update means that existing value for that attribute should be deleted. Empty and null values in create are ignored." + "pattern":"[a-zA-Z0-9_.,@/:#-]*" }, "Attributes":{ "type":"map", @@ -3272,7 +1206,7 @@ }, "status":{ "shape":"CACertificateStatus", - "documentation":"

The status of the CA certificate.

The status value REGISTER_INACTIVE is deprecated and should not be used.

" + "documentation":"

The status of the CA certificate.

The status value REGISTER_INACTIVE is deprecated and should not be used.

" }, "creationDate":{ "shape":"DateType", @@ -3332,9 +1266,9 @@ "members":{ "certificateId":{ "shape":"CertificateId", + "documentation":"

The ID of the certificate.

", "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "locationName":"certificateId" } }, "documentation":"

The input for the CancelCertificateTransfer operation.

" @@ -3383,9 +1317,9 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

Unable to verify the CA certificate used to sign the device certificate you are attempting to register. This is happens when you have registered more than one CA certificate that has the same subject field and public key.

", "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

Unable to verify the CA certificate used to sign the device certificate you are attempting to register. This is happens when you have registered more than one CA certificate that has the same subject field and public key.

" + "exception":true }, "CertificateDescription":{ "type":"structure", @@ -3435,14 +1369,14 @@ }, "CertificateId":{ "type":"string", - "min":64, "max":64, + "min":64, "pattern":"(0x)?[a-fA-F0-9]+" }, "CertificatePem":{ "type":"string", - "min":1, - "max":65536 + "max":65536, + "min":1 }, "CertificateSigningRequest":{ "type":"string", @@ -3456,9 +1390,9 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

The certificate operation is not allowed.

", "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" + "exception":true }, "CertificateStatus":{ "type":"string", @@ -3479,9 +1413,9 @@ "documentation":"

Additional information about the exception.

" } }, + "documentation":"

The certificate is invalid.

", "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The certificate is invalid.

" + "exception":true }, "Certificates":{ "type":"list", @@ -3563,9 +1497,9 @@ }, "setAsActive":{ "shape":"SetAsActive", + "documentation":"

Specifies whether the certificate is active.

", "location":"querystring", - "locationName":"setAsActive", - "documentation":"

Specifies whether the certificate is active.

" + "locationName":"setAsActive" } }, "documentation":"

The input for the CreateCertificateFromCsr operation.

" @@ -3593,9 +1527,9 @@ "members":{ "setAsActive":{ "shape":"SetAsActive", + "documentation":"

Specifies whether the certificate is active.

", "location":"querystring", - "locationName":"setAsActive", - "documentation":"

Specifies whether the certificate is active.

" + "locationName":"setAsActive" } }, "documentation":"

The input for the CreateKeysAndCertificate operation.

" @@ -3631,9 +1565,9 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The policy name.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The policy name.

" + "locationName":"policyName" }, "policyDocument":{ "shape":"PolicyDocument", @@ -3673,9 +1607,9 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The policy name.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The policy name.

" + "locationName":"policyName" }, "policyDocument":{ "shape":"PolicyDocument", @@ -3683,9 +1617,9 @@ }, "setAsDefault":{ "shape":"SetAsDefault", + "documentation":"

Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

", "location":"querystring", - "locationName":"setAsDefault", - "documentation":"

Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

" + "locationName":"setAsDefault" } }, "documentation":"

The input for the CreatePolicyVersion operation.

" @@ -3718,9 +1652,9 @@ "members":{ "thingName":{ "shape":"ThingName", + "documentation":"

The name of the thing to create.

", "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing to create.

" + "locationName":"thingName" }, "thingTypeName":{ "shape":"ThingTypeName", @@ -3728,7 +1662,7 @@ }, "attributePayload":{ "shape":"AttributePayload", - "documentation":"

The attribute payload, which consists of up to three name/value pairs in a JSON document. For example:

{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}})

" + "documentation":"

The attribute payload, which consists of up to three name/value pairs in a JSON document. For example:

{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}

" } }, "documentation":"

The input for the CreateThing operation.

" @@ -3753,9 +1687,9 @@ "members":{ "thingTypeName":{ "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

", "location":"uri", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type.

" + "locationName":"thingTypeName" }, "thingTypeProperties":{ "shape":"ThingTypeProperties", @@ -3787,9 +1721,9 @@ "members":{ "ruleName":{ "shape":"RuleName", + "documentation":"

The name of the rule.

", "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the rule.

" + "locationName":"ruleName" }, "topicRulePayload":{ "shape":"TopicRulePayload", @@ -3808,9 +1742,9 @@ "members":{ "certificateId":{ "shape":"CertificateId", + "documentation":"

The ID of the certificate to delete.

", "location":"uri", - "locationName":"caCertificateId", - "documentation":"

The ID of the certificate to delete.

" + "locationName":"caCertificateId" } }, "documentation":"

Input for the DeleteCACertificate operation.

" @@ -3827,9 +1761,9 @@ "members":{ "certificateId":{ "shape":"CertificateId", + "documentation":"

The ID of the certificate.

", "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "locationName":"certificateId" } }, "documentation":"

The input for the DeleteCertificate operation.

" @@ -3842,9 +1776,9 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

You can't delete the resource because it is attached to one or more resources.

", "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't delete the resource because it is attached to one or more resources.

" + "exception":true }, "DeletePolicyRequest":{ "type":"structure", @@ -3852,9 +1786,9 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The name of the policy to delete.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The name of the policy to delete.

" + "locationName":"policyName" } }, "documentation":"

The input for the DeletePolicy operation.

" @@ -3868,15 +1802,15 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The name of the policy.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The name of the policy.

" + "locationName":"policyName" }, "policyVersionId":{ "shape":"PolicyVersionId", + "documentation":"

The policy version ID.

", "location":"uri", - "locationName":"policyVersionId", - "documentation":"

The policy version ID.

" + "locationName":"policyVersionId" } }, "documentation":"

The input for the DeletePolicyVersion operation.

" @@ -3891,7 +1825,7 @@ "type":"structure", "members":{ }, - "documentation":"

The output for the DeleteRegistrationCode operation.

" + "documentation":"

The output for the DeleteRegistrationCode operation.

" }, "DeleteThingRequest":{ "type":"structure", @@ -3899,15 +1833,15 @@ "members":{ "thingName":{ "shape":"ThingName", + "documentation":"

The name of the thing to delete.

", "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing to delete.

" + "locationName":"thingName" }, "expectedVersion":{ "shape":"OptionalVersion", + "documentation":"

The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the DeleteThing request is rejected with a VersionConflictException.

", "location":"querystring", - "locationName":"expectedVersion", - "documentation":"

The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the DeleteThing request is rejected with a VersionConflictException.

" + "locationName":"expectedVersion" } }, "documentation":"

The input for the DeleteThing operation.

" @@ -3924,9 +1858,9 @@ "members":{ "thingTypeName":{ "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

", "location":"uri", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type.

" + "locationName":"thingTypeName" } }, "documentation":"

The input for the DeleteThingType operation.

" @@ -3939,16 +1873,16 @@ }, "DeleteTopicRuleRequest":{ "type":"structure", + "required":["ruleName"], "members":{ "ruleName":{ "shape":"RuleName", + "documentation":"

The name of the rule.

", "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the rule.

" + "locationName":"ruleName" } }, - "documentation":"

The input for the DeleteTopicRule operation.

", - "required":["ruleName"] + "documentation":"

The input for the DeleteTopicRule operation.

" }, "DeliveryStreamName":{"type":"string"}, "DeprecateThingTypeRequest":{ @@ -3957,9 +1891,9 @@ "members":{ "thingTypeName":{ "shape":"ThingTypeName", + "documentation":"

The name of the thing type to deprecate.

", "location":"uri", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type to deprecate.

" + "locationName":"thingTypeName" }, "undoDeprecate":{ "shape":"UndoDeprecate", @@ -3981,9 +1915,9 @@ "members":{ "certificateId":{ "shape":"CertificateId", + "documentation":"

The CA certificate identifier.

", "location":"uri", - "locationName":"caCertificateId", - "documentation":"

The CA certificate identifier.

" + "locationName":"caCertificateId" } }, "documentation":"

The input for the DescribeCACertificate operation.

" @@ -4004,9 +1938,9 @@ "members":{ "certificateId":{ "shape":"CertificateId", + "documentation":"

The ID of the certificate.

", "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "locationName":"certificateId" } }, "documentation":"

The input for the DescribeCertificate operation.

" @@ -4043,9 +1977,9 @@ "members":{ "thingName":{ "shape":"ThingName", + "documentation":"

The name of the thing.

", "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing.

" + "locationName":"thingName" } }, "documentation":"

The input for the DescribeThing operation.

" @@ -4082,9 +2016,9 @@ "members":{ "thingTypeName":{ "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

", "location":"uri", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type.

" + "locationName":"thingTypeName" } }, "documentation":"

The input for the DescribeThingType operation.

" @@ -4100,7 +2034,10 @@ "shape":"ThingTypeProperties", "documentation":"

The ThingTypeProperties contains information about the thing type including description, and a list of searchable thing attribute names.

" }, - "thingTypeMetadata":{"shape":"ThingTypeMetadata"} + "thingTypeMetadata":{ + "shape":"ThingTypeMetadata", + "documentation":"

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when it was deprecated.

" + } }, "documentation":"

The output for the DescribeThingType operation.

" }, @@ -4114,15 +2051,15 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The name of the policy to detach.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The name of the policy to detach.

" + "locationName":"policyName" }, "principal":{ "shape":"Principal", + "documentation":"

The principal.

If the principal is a certificate, specify the certificate ARN. If the principal is an Amazon Cognito identity, specify the identity ID.

", "location":"header", - "locationName":"x-amzn-iot-principal", - "documentation":"

The principal.

If the principal is a certificate, specify the certificate ARN. If the principal is an Amazon Cognito identity, specify the identity ID.

" + "locationName":"x-amzn-iot-principal" } }, "documentation":"

The input for the DetachPrincipalPolicy operation.

" @@ -4136,15 +2073,15 @@ "members":{ "thingName":{ "shape":"ThingName", + "documentation":"

The name of the thing.

", "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing.

" + "locationName":"thingName" }, "principal":{ "shape":"Principal", + "documentation":"

If the principal is a certificate, this value must be ARN of the certificate. If the principal is an Amazon Cognito identity, this value must be the ID of the Amazon Cognito identity.

", "location":"header", - "locationName":"x-amzn-principal", - "documentation":"

If the principal is a certificate, this value must be ARN of the certificate. If the principal is an Amazon Cognito identity, this value must be the ID of the Amazon Cognito identity.

" + "locationName":"x-amzn-principal" } }, "documentation":"

The input for the DetachThingPrincipal operation.

" @@ -4161,9 +2098,9 @@ "members":{ "ruleName":{ "shape":"RuleName", + "documentation":"

The name of the rule to disable.

", "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the rule to disable.

" + "locationName":"ruleName" } }, "documentation":"

The input for the DisableTopicRuleRequest operation.

" @@ -4218,7 +2155,7 @@ "documentation":"

The action payload. This name can be customized.

" } }, - "documentation":"

Describes an action to write to a DynamoDB table.

The tableName, hashKeyField, and rangeKeyField values must match the values used when you created the table.

The hashKeyValue and rangeKeyvalue fields use a substitution template syntax. These templates provide data at runtime. The syntax is as follows: ${sql-expression}.

You can specify any valid expression in a WHERE or SELECT clause, including JSON properties, comparisons, calculations, and functions. For example, the following field uses the third level of the topic:

\"hashKeyValue\": \"${topic(3)}\"

The following field uses the timestamp:

\"rangeKeyValue\": \"${timestamp()}\"

" + "documentation":"

Describes an action to write to a DynamoDB table.

The tableName, hashKeyField, and rangeKeyField values must match the values used when you created the table.

The hashKeyValue and rangeKeyvalue fields use a substitution template syntax. These templates provide data at runtime. The syntax is as follows: ${sql-expression}.

You can specify any valid expression in a WHERE or SELECT clause, including JSON properties, comparisons, calculations, and functions. For example, the following field uses the third level of the topic:

\"hashKeyValue\": \"${topic(3)}\"

The following field uses the timestamp:

\"rangeKeyValue\": \"${timestamp()}\"

" }, "DynamoDBv2Action":{ "type":"structure", @@ -4229,7 +2166,7 @@ }, "putItem":{ "shape":"PutItemInput", - "documentation":"

Specifies the DynamoDB table to which the message data will be written. For example:

{ \"dynamoDBv2\": { \"roleArn\": \"aws:iam:12341251:my-role\" \"putItem\": { \"tableName\": \"my-table\" } } }

Each attribute in the message payload will be written to a separate column in the DynamoDB database.

" + "documentation":"

Specifies the DynamoDB table to which the message data will be written. For example:

{ \"dynamoDBv2\": { \"roleArn\": \"aws:iam:12341251:my-role\" \"putItem\": { \"tableName\": \"my-table\" } } }

Each attribute in the message payload will be written to a separate column in the DynamoDB database.

" } }, "documentation":"

Describes an action to write to a DynamoDB table.

This DynamoDB action writes each attribute in the message payload into it's own column in the DynamoDB table.

" @@ -4288,9 +2225,9 @@ "members":{ "ruleName":{ "shape":"RuleName", + "documentation":"

The name of the topic rule to enable.

", "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the topic rule to enable.

" + "locationName":"ruleName" } }, "documentation":"

The input for the EnableTopicRuleRequest operation.

" @@ -4350,9 +2287,9 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The name of the policy.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The name of the policy.

" + "locationName":"policyName" } }, "documentation":"

The input for the GetPolicy operation.

" @@ -4388,15 +2325,15 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The name of the policy.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The name of the policy.

" + "locationName":"policyName" }, "policyVersionId":{ "shape":"PolicyVersionId", + "documentation":"

The policy version ID.

", "location":"uri", - "locationName":"policyVersionId", - "documentation":"

The policy version ID.

" + "locationName":"policyVersionId" } }, "documentation":"

The input for the GetPolicyVersion operation.

" @@ -4449,9 +2386,9 @@ "members":{ "ruleName":{ "shape":"RuleName", + "documentation":"

The name of the rule.

", "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the rule.

" + "locationName":"ruleName" } }, "documentation":"

The input for the GetTopicRule operation.

" @@ -4480,10 +2417,10 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

An unexpected error has occurred.

", "error":{"httpStatusCode":500}, "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" + "fault":true }, "InternalFailureException":{ "type":"structure", @@ -4493,10 +2430,10 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

An unexpected error has occurred.

", "error":{"httpStatusCode":500}, "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" + "fault":true }, "InvalidRequestException":{ "type":"structure", @@ -4506,9 +2443,9 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

The request is not valid.

", "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" + "exception":true }, "IsDefaultVersion":{"type":"boolean"}, "IsDisabled":{"type":"boolean"}, @@ -4568,30 +2505,30 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

The number of attached entities exceeds the limit.

", "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

The number of attached entities exceeds the limit.

" + "exception":true }, "ListCACertificatesRequest":{ "type":"structure", "members":{ "pageSize":{ "shape":"PageSize", + "documentation":"

The result page size.

", "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "locationName":"pageSize" }, "marker":{ "shape":"Marker", + "documentation":"

The marker for the next set of results.

", "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "locationName":"marker" }, "ascendingOrder":{ "shape":"AscendingOrder", + "documentation":"

Determines the order of the results.

", "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Determines the order of the results.

" + "locationName":"isAscendingOrder" } }, "documentation":"

Input for the ListCACertificates operation.

" @@ -4616,27 +2553,27 @@ "members":{ "caCertificateId":{ "shape":"CertificateId", + "documentation":"

The ID of the CA certificate. This operation will list all registered device certificate that were signed by this CA certificate.

", "location":"uri", - "locationName":"caCertificateId", - "documentation":"

The ID of the CA certificate. This operation will list all registered device certificate that were signed by this CA certificate.

" + "locationName":"caCertificateId" }, "pageSize":{ "shape":"PageSize", + "documentation":"

The result page size.

", "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "locationName":"pageSize" }, "marker":{ "shape":"Marker", + "documentation":"

The marker for the next set of results.

", "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "locationName":"marker" }, "ascendingOrder":{ "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

", "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

" + "locationName":"isAscendingOrder" } }, "documentation":"

The input to the ListCertificatesByCA operation.

" @@ -4660,21 +2597,21 @@ "members":{ "pageSize":{ "shape":"PageSize", + "documentation":"

The result page size.

", "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "locationName":"pageSize" }, "marker":{ "shape":"Marker", + "documentation":"

The marker for the next set of results.

", "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "locationName":"marker" }, "ascendingOrder":{ "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

", "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

" + "locationName":"isAscendingOrder" } }, "documentation":"

The input for the ListCertificates operation.

" @@ -4698,21 +2635,21 @@ "members":{ "pageSize":{ "shape":"PageSize", + "documentation":"

The result page size.

", "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "locationName":"pageSize" }, "marker":{ "shape":"Marker", + "documentation":"

The marker for the next set of results.

", "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "locationName":"marker" }, "ascendingOrder":{ "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

", "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

" + "locationName":"isAscendingOrder" } }, "documentation":"

The input to the ListOutgoingCertificates operation.

" @@ -4736,21 +2673,21 @@ "members":{ "marker":{ "shape":"Marker", + "documentation":"

The marker for the next set of results.

", "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "locationName":"marker" }, "pageSize":{ "shape":"PageSize", + "documentation":"

The result page size.

", "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "locationName":"pageSize" }, "ascendingOrder":{ "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If true, the results are returned in ascending creation order.

", "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If true, the results are returned in ascending creation order.

" + "locationName":"isAscendingOrder" } }, "documentation":"

The input for the ListPolicies operation.

" @@ -4775,27 +2712,27 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The policy name.

", "location":"header", - "locationName":"x-amzn-iot-policy", - "documentation":"

The policy name.

" + "locationName":"x-amzn-iot-policy" }, "marker":{ "shape":"Marker", + "documentation":"

The marker for the next set of results.

", "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "locationName":"marker" }, "pageSize":{ "shape":"PageSize", + "documentation":"

The result page size.

", "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "locationName":"pageSize" }, "ascendingOrder":{ "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If true, the results are returned in ascending creation order.

", "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If true, the results are returned in ascending creation order.

" + "locationName":"isAscendingOrder" } }, "documentation":"

The input for the ListPolicyPrincipals operation.

" @@ -4820,9 +2757,9 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The policy name.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The policy name.

" + "locationName":"policyName" } }, "documentation":"

The input for the ListPolicyVersions operation.

" @@ -4843,27 +2780,27 @@ "members":{ "principal":{ "shape":"Principal", + "documentation":"

The principal.

", "location":"header", - "locationName":"x-amzn-iot-principal", - "documentation":"

The principal.

" + "locationName":"x-amzn-iot-principal" }, "marker":{ "shape":"Marker", + "documentation":"

The marker for the next set of results.

", "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "locationName":"marker" }, "pageSize":{ "shape":"PageSize", + "documentation":"

The result page size.

", "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "locationName":"pageSize" }, "ascendingOrder":{ "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If true, results are returned in ascending creation order.

", "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If true, results are returned in ascending creation order.

" + "locationName":"isAscendingOrder" } }, "documentation":"

The input for the ListPrincipalPolicies operation.

" @@ -4888,21 +2825,21 @@ "members":{ "nextToken":{ "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

", "location":"querystring", - "locationName":"nextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" + "locationName":"nextToken" }, "maxResults":{ - "shape":"MaxResults", + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return in this operation.

", "location":"querystring", - "locationName":"maxResults", - "documentation":"

The maximum number of results to return in this operation.

" + "locationName":"maxResults" }, "principal":{ "shape":"Principal", + "documentation":"

The principal.

", "location":"header", - "locationName":"x-amzn-principal", - "documentation":"

The principal.

" + "locationName":"x-amzn-principal" } }, "documentation":"

The input for the ListPrincipalThings operation.

" @@ -4927,9 +2864,9 @@ "members":{ "thingName":{ "shape":"ThingName", + "documentation":"

The name of the thing.

", "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing.

" + "locationName":"thingName" } }, "documentation":"

The input for the ListThingPrincipal operation.

" @@ -4949,21 +2886,21 @@ "members":{ "nextToken":{ "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

", "location":"querystring", - "locationName":"nextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" + "locationName":"nextToken" }, "maxResults":{ - "shape":"MaxResults", + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return in this operation.

", "location":"querystring", - "locationName":"maxResults", - "documentation":"

The maximum number of results to return in this operation.

" + "locationName":"maxResults" }, "thingTypeName":{ "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

", "location":"querystring", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type.

" + "locationName":"thingTypeName" } }, "documentation":"

The input for the ListThingTypes operation.

" @@ -4987,33 +2924,33 @@ "members":{ "nextToken":{ "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

", "location":"querystring", - "locationName":"nextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" + "locationName":"nextToken" }, "maxResults":{ - "shape":"MaxResults", + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return in this operation.

", "location":"querystring", - "locationName":"maxResults", - "documentation":"

The maximum number of results to return in this operation.

" + "locationName":"maxResults" }, "attributeName":{ "shape":"AttributeName", + "documentation":"

The attribute name used to search for things.

", "location":"querystring", - "locationName":"attributeName", - "documentation":"

The attribute name used to search for things.

" + "locationName":"attributeName" }, "attributeValue":{ "shape":"AttributeValue", + "documentation":"

The attribute value used to search for things.

", "location":"querystring", - "locationName":"attributeValue", - "documentation":"

The attribute value used to search for things.

" + "locationName":"attributeValue" }, "thingTypeName":{ "shape":"ThingTypeName", + "documentation":"

The name of the thing type used to search for things.

", "location":"querystring", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type used to search for things.

" + "locationName":"thingTypeName" } }, "documentation":"

The input for the ListThings operation.

" @@ -5037,27 +2974,27 @@ "members":{ "topic":{ "shape":"Topic", + "documentation":"

The topic.

", "location":"querystring", - "locationName":"topic", - "documentation":"

The topic.

" + "locationName":"topic" }, "maxResults":{ "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

", "location":"querystring", - "locationName":"maxResults", - "documentation":"

The maximum number of results to return.

" + "locationName":"maxResults" }, "nextToken":{ "shape":"NextToken", + "documentation":"

A token used to retrieve the next value.

", "location":"querystring", - "locationName":"nextToken", - "documentation":"

A token used to retrieve the next value.

" + "locationName":"nextToken" }, "ruleDisabled":{ "shape":"IsDisabled", + "documentation":"

Specifies whether the rule is disabled.

", "location":"querystring", - "locationName":"ruleDisabled", - "documentation":"

Specifies whether the rule is disabled.

" + "locationName":"ruleDisabled" } }, "documentation":"

The input for the ListTopicRules operation.

" @@ -5109,15 +3046,15 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

The policy documentation is not valid.

", "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The policy documentation is not valid.

" + "exception":true }, "Marker":{"type":"string"}, "MaxResults":{ "type":"integer", - "min":1, - "max":10000 + "max":10000, + "min":1 }, "Message":{ "type":"string", @@ -5173,8 +3110,8 @@ }, "PageSize":{ "type":"integer", - "min":1, - "max":250 + "max":250, + "min":1 }, "PartitionKey":{"type":"string"}, "PayloadField":{"type":"string"}, @@ -5200,8 +3137,8 @@ "PolicyDocument":{"type":"string"}, "PolicyName":{ "type":"string", - "min":1, "max":128, + "min":1, "pattern":"[\\w+=,.@-]+" }, "PolicyVersion":{ @@ -5276,15 +3213,15 @@ }, "setAsActive":{ "shape":"SetAsActive", + "documentation":"

A boolean value that specifies if the CA certificate is set to active.

", "location":"querystring", - "locationName":"setAsActive", - "documentation":"

A boolean value that specifies if the CA certificate is set to active.

" + "locationName":"setAsActive" }, "allowAutoRegistration":{ "shape":"AllowAutoRegistration", + "documentation":"

Allows this CA certificate to be used for auto registration of device certificates.

", "location":"querystring", - "locationName":"allowAutoRegistration", - "documentation":"

Allows this CA certificate to be used for auto registration of device certificates.

" + "locationName":"allowAutoRegistration" } }, "documentation":"

The input to the RegisterCACertificate operation.

" @@ -5317,12 +3254,15 @@ }, "setAsActive":{ "shape":"SetAsActiveFlag", + "documentation":"

A boolean value that specifies if the CA certificate is set to active.

", "deprecated":true, "location":"querystring", - "locationName":"setAsActive", - "documentation":"

A boolean value that specifies if the CA certificate is set to active.

" + "locationName":"setAsActive" }, - "status":{"shape":"CertificateStatus"} + "status":{ + "shape":"CertificateStatus", + "documentation":"

The status of the register certificate request.

" + } }, "documentation":"

The input to the RegisterCertificate operation.

" }, @@ -5342,8 +3282,8 @@ }, "RegistrationCode":{ "type":"string", - "min":64, "max":64, + "min":64, "pattern":"(0x)?[a-fA-F0-9]+" }, "RegistrationCodeValidationException":{ @@ -5354,9 +3294,14 @@ "documentation":"

Additional information about the exception.

" } }, + "documentation":"

The registration code is invalid.

", "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The registration code is invalid.

" + "exception":true + }, + "RegistryMaxResults":{ + "type":"integer", + "max":250, + "min":1 }, "RejectCertificateTransferRequest":{ "type":"structure", @@ -5364,9 +3309,9 @@ "members":{ "certificateId":{ "shape":"CertificateId", + "documentation":"

The ID of the certificate.

", "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "locationName":"certificateId" }, "rejectReason":{ "shape":"Message", @@ -5385,9 +3330,9 @@ "members":{ "ruleName":{ "shape":"RuleName", + "documentation":"

The name of the rule.

", "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the rule.

" + "locationName":"ruleName" }, "topicRulePayload":{ "shape":"TopicRulePayload", @@ -5431,9 +3376,9 @@ "documentation":"

The ARN of the resource that caused the exception.

" } }, + "documentation":"

The resource already exists.

", "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" + "exception":true }, "ResourceNotFoundException":{ "type":"structure", @@ -5443,15 +3388,15 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

The specified resource does not exist.

", "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" + "exception":true }, "RuleArn":{"type":"string"}, "RuleName":{ "type":"string", - "min":1, "max":128, + "min":1, "pattern":"^[a-zA-Z0-9_]+$" }, "S3Action":{ @@ -5482,6 +3427,33 @@ "documentation":"

Describes an action to write data to an Amazon S3 bucket.

" }, "SQL":{"type":"string"}, + "SalesforceAction":{ + "type":"structure", + "required":[ + "token", + "url" + ], + "members":{ + "token":{ + "shape":"SalesforceToken", + "documentation":"

The token used to authenticate access to the Salesforce IoT Cloud Input Stream. The token is available from the Salesforce IoT Cloud platform after creation of the Input Stream.

" + }, + "url":{ + "shape":"SalesforceEndpoint", + "documentation":"

The URL exposed by the Salesforce IoT Cloud Input Stream. The URL is available from the Salesforce IoT Cloud platform after creation of the Input Stream.

" + } + }, + "documentation":"

Describes an action to write a message to a Salesforce IoT Cloud Input Stream.

" + }, + "SalesforceEndpoint":{ + "type":"string", + "max":2000, + "pattern":"https://ingestion-[a-zA-Z0-9]{1,12}\\.[a-zA-Z0-9]+\\.((sfdc-matrix\\.net)|(sfdcnow\\.com))/streams/\\w{1,20}/\\w{1,20}/event" + }, + "SalesforceToken":{ + "type":"string", + "min":40 + }, "SearchableAttributes":{ "type":"list", "member":{"shape":"AttributeName"} @@ -5494,10 +3466,10 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

The service is temporarily unavailable.

", "error":{"httpStatusCode":503}, "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" + "fault":true }, "SetAsActive":{"type":"boolean"}, "SetAsActiveFlag":{"type":"boolean"}, @@ -5511,15 +3483,15 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The policy name.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The policy name.

" + "locationName":"policyName" }, "policyVersionId":{ "shape":"PolicyVersionId", + "documentation":"

The policy version ID.

", "location":"uri", - "locationName":"policyVersionId", - "documentation":"

The policy version ID.

" + "locationName":"policyVersionId" } }, "documentation":"

The input for the SetDefaultPolicyVersion operation.

" @@ -5553,7 +3525,7 @@ }, "messageFormat":{ "shape":"MessageFormat", - "documentation":"

The message format of the message to publish. Optional. Accepted values are \"JSON\" and \"RAW\". The default value of the attribute is \"RAW\". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see refer to their official documentation.

" + "documentation":"

The message format of the message to publish. Optional. Accepted values are \"JSON\" and \"RAW\". The default value of the attribute is \"RAW\". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see http://docs.aws.amazon.com/sns/latest/dg/json-formats.html refer to their official documentation.

" } }, "documentation":"

Describes an action to publish to an Amazon SNS topic.

" @@ -5566,9 +3538,9 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

The Rule-SQL expression can't be parsed correctly.

", "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The Rule-SQL expression can't be parsed correctly.

" + "exception":true }, "SqsAction":{ "type":"structure", @@ -5625,8 +3597,8 @@ }, "ThingName":{ "type":"string", - "min":1, "max":128, + "min":1, "pattern":"[a-zA-Z0-9:_-]+" }, "ThingNameList":{ @@ -5645,7 +3617,10 @@ "shape":"ThingTypeProperties", "documentation":"

The ThingTypeProperties for the thing type.

" }, - "thingTypeMetadata":{"shape":"ThingTypeMetadata"} + "thingTypeMetadata":{ + "shape":"ThingTypeMetadata", + "documentation":"

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when it was deprecated.

" + } }, "documentation":"

The definition of the thing type, including thing type name and description.

" }, @@ -5678,8 +3653,8 @@ }, "ThingTypeName":{ "type":"string", - "min":1, "max":128, + "min":1, "pattern":"[a-zA-Z0-9:_-]+" }, "ThingTypeProperties":{ @@ -5704,9 +3679,9 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

The rate exceeds the limit.

", "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" + "exception":true }, "Topic":{"type":"string"}, "TopicPattern":{"type":"string"}, @@ -5812,9 +3787,9 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

You can't revert the certificate transfer because the transfer is already complete.

", "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

You can't revert the certificate transfer because the transfer is already complete.

" + "exception":true }, "TransferCertificateRequest":{ "type":"structure", @@ -5825,15 +3800,15 @@ "members":{ "certificateId":{ "shape":"CertificateId", + "documentation":"

The ID of the certificate.

", "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "locationName":"certificateId" }, "targetAwsAccount":{ "shape":"AwsAccountId", + "documentation":"

The AWS account.

", "location":"querystring", - "locationName":"targetAwsAccount", - "documentation":"

The AWS account.

" + "locationName":"targetAwsAccount" }, "transferMessage":{ "shape":"Message", @@ -5860,9 +3835,9 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

You can't transfer the certificate because authorization policies are still attached.

", "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't transfer the certificate because authorization policies are still attached.

" + "exception":true }, "TransferData":{ "type":"structure", @@ -5898,9 +3873,9 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

You are not authorized to perform this operation.

", "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" + "exception":true }, "UndoDeprecate":{"type":"boolean"}, "UpdateCACertificateRequest":{ @@ -5909,21 +3884,21 @@ "members":{ "certificateId":{ "shape":"CertificateId", + "documentation":"

The CA certificate identifier.

", "location":"uri", - "locationName":"caCertificateId", - "documentation":"

The CA certificate identifier.

" + "locationName":"caCertificateId" }, "newStatus":{ "shape":"CACertificateStatus", + "documentation":"

The updated status of the CA certificate.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

", "location":"querystring", - "locationName":"newStatus", - "documentation":"

The updated status of the CA certificate.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

" + "locationName":"newStatus" }, "newAutoRegistrationStatus":{ "shape":"AutoRegistrationStatus", + "documentation":"

The new value for the auto registration status. Valid values are: \"ENABLE\" or \"DISABLE\".

", "location":"querystring", - "locationName":"newAutoRegistrationStatus", - "documentation":"

The new value for the auto registration status. Valid values are: \"ENABLE\" or \"DISABLE\".

" + "locationName":"newAutoRegistrationStatus" } }, "documentation":"

The input to the UpdateCACertificate operation.

" @@ -5937,15 +3912,15 @@ "members":{ "certificateId":{ "shape":"CertificateId", + "documentation":"

The ID of the certificate.

", "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "locationName":"certificateId" }, "newStatus":{ "shape":"CertificateStatus", + "documentation":"

The new status.

Note: Setting the status to PENDING_TRANSFER will result in an exception being thrown. PENDING_TRANSFER is a status used internally by AWS IoT. It is not intended for developer use.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

", "location":"querystring", - "locationName":"newStatus", - "documentation":"

The new status.

Note: Setting the status to PENDING_TRANSFER will result in an exception being thrown. PENDING_TRANSFER is a status used internally by AWS IoT. It is not intended for developer use.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

" + "locationName":"newStatus" } }, "documentation":"

The input for the UpdateCertificate operation.

" @@ -5956,9 +3931,9 @@ "members":{ "thingName":{ "shape":"ThingName", + "documentation":"

The name of the thing to update.

", "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing to update.

" + "locationName":"thingName" }, "thingTypeName":{ "shape":"ThingTypeName", @@ -5966,7 +3941,7 @@ }, "attributePayload":{ "shape":"AttributePayload", - "documentation":"

A list of thing attributes, a JSON string containing name-value pairs. For example:

{\\\"attributes\\\":{\\\"name1\\\":\\\"value2\\\"}})

This data is used to add new attributes or update existing attributes.

" + "documentation":"

A list of thing attributes, a JSON string containing name-value pairs. For example:

{\\\"attributes\\\":{\\\"name1\\\":\\\"value2\\\"}}

This data is used to add new attributes or update existing attributes.

" }, "expectedVersion":{ "shape":"OptionalVersion", @@ -5995,9 +3970,9 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

An exception thrown when the version of a thing passed to a command is different than the version specified with the --version parameter.

", "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

An exception thrown when the version of a thing passed to a command is different than the version specified with the --version parameter.

" + "exception":true }, "VersionsLimitExceededException":{ "type":"structure", @@ -6007,14 +3982,13 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

The number of policy versions exceeds the limit.

", "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The number of policy versions exceeds the limit.

" + "exception":true }, "errorMessage":{"type":"string"}, "resourceArn":{"type":"string"}, "resourceId":{"type":"string"} }, - "examples":{ - } + "documentation":"AWS IoT

AWS IoT provides secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each thing (Thing Registry), configure logging, and create and manage policies and credentials to authenticate things.

For more information about how AWS IoT works, see the Developer Guide.

" } diff --git a/botocore/data/kinesis/2013-12-02/examples-1.json b/botocore/data/kinesis/2013-12-02/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/kinesis/2013-12-02/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/kinesis/2013-12-02/service-2.json b/botocore/data/kinesis/2013-12-02/service-2.json index f8cf3a52..ec0d26ed 100644 --- a/botocore/data/kinesis/2013-12-02/service-2.json +++ b/botocore/data/kinesis/2013-12-02/service-2.json @@ -1,7 +1,6 @@ { "version":"2.0", "metadata":{ - "uid":"kinesis-2013-12-02", "apiVersion":"2013-12-02", "endpointPrefix":"kinesis", "jsonVersion":"1.1", @@ -9,7 +8,8 @@ "serviceAbbreviation":"Kinesis", "serviceFullName":"Amazon Kinesis", "signatureVersion":"v4", - "targetPrefix":"Kinesis_20131202" + "targetPrefix":"Kinesis_20131202", + "uid":"kinesis-2013-12-02" }, "operations":{ "AddTagsToStream":{ @@ -39,7 +39,7 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidArgumentException"} ], - "documentation":"

Creates an Amazon Kinesis stream. A stream captures and transports data records that are continuously emitted from different data sources or producers. Scale-out within a stream is explicitly supported by means of shards, which are uniquely identified groups of data records in a stream.

You specify and control the number of shards that a stream is composed of. Each shard can support reads up to 5 transactions per second, up to a maximum data read total of 2 MB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. You can add shards to a stream if the amount of data input increases and you can remove shards if the amount of data input decreases.

The stream name identifies the stream. The name is scoped to the AWS account used by the application. It is also scoped by region. That is, two streams in two different accounts can have the same name, and two streams in the same account, but in two different regions, can have the same name.

CreateStream is an asynchronous operation. Upon receiving a CreateStream request, Amazon Kinesis immediately returns and sets the stream status to CREATING. After the stream is created, Amazon Kinesis sets the stream status to ACTIVE. You should perform read and write operations only on an ACTIVE stream.

You receive a LimitExceededException when making a CreateStream request if you try to do one of the following:

  • Have more than five streams in the CREATING state at any point in time.

  • Create more shards than are authorized for your account.

For the default shard limit for an AWS account, see Streams Limits in the Amazon Kinesis Streams Developer Guide. If you need to increase this limit, contact AWS Support.

You can use DescribeStream to check the stream status, which is returned in StreamStatus.

CreateStream has a limit of 5 transactions per second per account.

" + "documentation":"

Creates an Amazon Kinesis stream. A stream captures and transports data records that are continuously emitted from different data sources or producers. Scale-out within a stream is explicitly supported by means of shards, which are uniquely identified groups of data records in a stream.

You specify and control the number of shards that a stream is composed of. Each shard can support reads up to 5 transactions per second, up to a maximum data read total of 2 MB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. You can add shards to a stream if the amount of data input increases and you can remove shards if the amount of data input decreases.

The stream name identifies the stream. The name is scoped to the AWS account used by the application. It is also scoped by region. That is, two streams in two different accounts can have the same name, and two streams in the same account, but in two different regions, can have the same name.

CreateStream is an asynchronous operation. Upon receiving a CreateStream request, Amazon Kinesis immediately returns and sets the stream status to CREATING. After the stream is created, Amazon Kinesis sets the stream status to ACTIVE. You should perform read and write operations only on an ACTIVE stream.

You receive a LimitExceededException when making a CreateStream request if you try to do one of the following:

  • Have more than five streams in the CREATING state at any point in time.

  • Create more shards than are authorized for your account.

For the default shard limit for an AWS account, see Streams Limits in the Amazon Kinesis Streams Developer Guide. If you need to increase this limit, contact AWS Support.

You can use DescribeStream to check the stream status, which is returned in StreamStatus.

CreateStream has a limit of 5 transactions per second per account.

" }, "DecreaseStreamRetentionPeriod":{ "name":"DecreaseStreamRetentionPeriod", @@ -559,7 +559,7 @@ }, "ShardIteratorType":{ "shape":"ShardIteratorType", - "documentation":"

Determines how the shard iterator is used to start reading data records from the shard.

The following are the valid Amazon Kinesis shard iterator types:

  • AT_SEQUENCE_NUMBER - Start reading from the position denoted by a specific sequence number, provided in the value StartingSequenceNumber.

  • AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a specific sequence number, provided in the value StartingSequenceNumber.

  • AT_TIMESTAMP - Start reading from the position denoted by a specific timestamp, provided in the value Timestamp.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the shard in the system, which is the oldest data record in the shard.

  • LATEST - Start reading just after the most recent record in the shard, so that you always read the most recent data in the shard.

" + "documentation":"

Determines how the shard iterator is used to start reading data records from the shard.

The following are the valid Amazon Kinesis shard iterator types:

  • AT_SEQUENCE_NUMBER - Start reading from the position denoted by a specific sequence number, provided in the value StartingSequenceNumber.

  • AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a specific sequence number, provided in the value StartingSequenceNumber.

  • AT_TIMESTAMP - Start reading from the position denoted by a specific timestamp, provided in the value Timestamp.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the shard in the system, which is the oldest data record in the shard.

  • LATEST - Start reading just after the most recent record in the shard, so that you always read the most recent data in the shard.

" }, "StartingSequenceNumber":{ "shape":"SequenceNumber", diff --git a/botocore/data/kinesisanalytics/2015-08-14/examples-1.json b/botocore/data/kinesisanalytics/2015-08-14/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/kinesisanalytics/2015-08-14/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json b/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/kinesisanalytics/2015-08-14/service-2.json b/botocore/data/kinesisanalytics/2015-08-14/service-2.json index 2b835063..9863f323 100644 --- a/botocore/data/kinesisanalytics/2015-08-14/service-2.json +++ b/botocore/data/kinesisanalytics/2015-08-14/service-2.json @@ -1,7 +1,6 @@ { "version":"2.0", "metadata":{ - "uid":"kinesisanalytics-2015-08-14", "apiVersion":"2015-08-14", "endpointPrefix":"kinesisanalytics", "jsonVersion":"1.1", @@ -10,9 +9,26 @@ "serviceFullName":"Amazon Kinesis Analytics", "signatureVersion":"v4", "targetPrefix":"KinesisAnalytics_20150814", - "timestampFormat":"unixTimestamp" + "timestampFormat":"unixTimestamp", + "uid":"kinesisanalytics-2015-08-14" }, "operations":{ + "AddApplicationCloudWatchLoggingOption":{ + "name":"AddApplicationCloudWatchLoggingOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddApplicationCloudWatchLoggingOptionRequest"}, + "output":{"shape":"AddApplicationCloudWatchLoggingOptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds a CloudWatch log stream to monitor application configuration errors. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Monitoring Configuration Errors.

" + }, "AddApplicationInput":{ "name":"AddApplicationInput", "http":{ @@ -75,7 +91,7 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidArgumentException"} ], - "documentation":"

Creates an Amazon Kinesis Analytics application. You can configure each application with one streaming source as input, application code to process the input, and up to five streaming destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works.

In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source, with the option of renaming, casting and dropping columns as desired.

Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps.

In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to five streaming destinations.

To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action.

For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started.

" + "documentation":"

Creates an Amazon Kinesis Analytics application. You can configure each application with one streaming source as input, application code to process the input, and up to five streaming destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works.

In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source.

Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps.

In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to five streaming destinations.

To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action.

For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started.

" }, "DeleteApplication":{ "name":"DeleteApplication", @@ -92,6 +108,22 @@ ], "documentation":"

Deletes the specified application. Amazon Kinesis Analytics halts application execution and deletes the application, including any application artifacts (such as in-application streams, reference table, and application code).

This operation requires permissions to perform the kinesisanalytics:DeleteApplication action.

" }, + "DeleteApplicationCloudWatchLoggingOption":{ + "name":"DeleteApplicationCloudWatchLoggingOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationCloudWatchLoggingOptionRequest"}, + "output":{"shape":"DeleteApplicationCloudWatchLoggingOptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes a CloudWatch log stream from an application. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Monitoring Configuration Errors.

" + }, "DeleteApplicationOutput":{ "name":"DeleteApplicationOutput", "http":{ @@ -103,6 +135,7 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, {"shape":"ConcurrentModificationException"} ], "documentation":"

Deletes output destination configuration from your application configuration. Amazon Kinesis Analytics will no longer write data from the corresponding in-application stream to the external output destination.

This operation requires permissions to perform the kinesisanalytics:DeleteApplicationOutput action.

" @@ -206,10 +239,37 @@ {"shape":"InvalidArgumentException"}, {"shape":"ConcurrentModificationException"} ], - "documentation":"

Updates an existing Kinesis Analytics application. Using this API, you can update application code, input configuration, and output configuration.

Note that Kinesis Analytics updates the CurrentApplicationVersionId each time you update your application.

This opeation requires permission for the kinesisanalytics:UpdateApplication action.

" + "documentation":"

Updates an existing Amazon Kinesis Analytics application. Using this API, you can update application code, input configuration, and output configuration.

Note that Amazon Kinesis Analytics updates the CurrentApplicationVersionId each time you update your application.

This operation requires permission for the kinesisanalytics:UpdateApplication action.

" } }, "shapes":{ + "AddApplicationCloudWatchLoggingOptionRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "CloudWatchLoggingOption" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The Amazon Kinesis Analytics application name.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version ID of the Amazon Kinesis Analytics application.

" + }, + "CloudWatchLoggingOption":{ + "shape":"CloudWatchLoggingOption", + "documentation":"

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 PutLogEvents policy action enabled.

" + } + } + }, + "AddApplicationCloudWatchLoggingOptionResponse":{ + "type":"structure", + "members":{ + } + }, "AddApplicationInputRequest":{ "type":"structure", "required":[ @@ -226,7 +286,10 @@ "shape":"ApplicationVersionId", "documentation":"

Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation to find the current application version.

" }, - "Input":{"shape":"Input"} + "Input":{ + "shape":"Input", + "documentation":"

" + } }, "documentation":"

" }, @@ -349,6 +412,10 @@ "shape":"ReferenceDataSourceDescriptions", "documentation":"

Describes reference data sources configured for the application. For more information, see Configuring Application Input.

" }, + "CloudWatchLoggingOptionDescriptions":{ + "shape":"CloudWatchLoggingOptionDescriptions", + "documentation":"

Describes the CloudWatch log streams configured to receive application messages. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Monitoring Configuration Errors.

" + }, "ApplicationCode":{ "shape":"ApplicationCode", "documentation":"

Returns the application code that you provided to perform data analysis on any of the in-application streams in your application.

" @@ -422,9 +489,13 @@ "ReferenceDataSourceUpdates":{ "shape":"ReferenceDataSourceUpdates", "documentation":"

Describes application reference data source updates.

" + }, + "CloudWatchLoggingOptionUpdates":{ + "shape":"CloudWatchLoggingOptionUpdates", + "documentation":"

Describes application CloudWatch logging option updates.

" } }, - "documentation":"

Describes updates to apply to an existing Kinesis Analytics application.

" + "documentation":"

Describes updates to apply to an existing Amazon Kinesis Analytics application.

" }, "ApplicationVersionId":{ "type":"long", @@ -456,6 +527,77 @@ }, "documentation":"

Provides additional mapping information when the record format uses delimiters, such as CSV. For example, the following sample records use CSV format, where the records use the '\\n' as the row delimiter and a comma (\",\") as the column delimiter:

\"name1\", \"address1\"

\"name2, \"address2\"

" }, + "CloudWatchLoggingOption":{ + "type":"structure", + "required":[ + "LogStreamARN", + "RoleARN" + ], + "members":{ + "LogStreamARN":{ + "shape":"LogStreamARN", + "documentation":"

ARN of the CloudWatch log to receive application messages.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

" + } + }, + "documentation":"

Provides a description of CloudWatch logging options, including the log stream ARN and the role ARN.

" + }, + "CloudWatchLoggingOptionDescription":{ + "type":"structure", + "required":[ + "LogStreamARN", + "RoleARN" + ], + "members":{ + "CloudWatchLoggingOptionId":{ + "shape":"Id", + "documentation":"

ID of the CloudWatch logging option description.

" + }, + "LogStreamARN":{ + "shape":"LogStreamARN", + "documentation":"

ARN of the CloudWatch log to receive application messages.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

" + } + }, + "documentation":"

Description of the CloudWatch logging option.

" + }, + "CloudWatchLoggingOptionDescriptions":{ + "type":"list", + "member":{"shape":"CloudWatchLoggingOptionDescription"} + }, + "CloudWatchLoggingOptionUpdate":{ + "type":"structure", + "required":["CloudWatchLoggingOptionId"], + "members":{ + "CloudWatchLoggingOptionId":{ + "shape":"Id", + "documentation":"

ID of the CloudWatch logging option to update

" + }, + "LogStreamARNUpdate":{ + "shape":"LogStreamARN", + "documentation":"

ARN of the CloudWatch log to receive application messages.

" + }, + "RoleARNUpdate":{ + "shape":"RoleARN", + "documentation":"

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

" + } + }, + "documentation":"

Describes CloudWatch logging option updates.

" + }, + "CloudWatchLoggingOptionUpdates":{ + "type":"list", + "member":{"shape":"CloudWatchLoggingOptionUpdate"} + }, + "CloudWatchLoggingOptions":{ + "type":"list", + "member":{"shape":"CloudWatchLoggingOption"} + }, "CodeValidationException":{ "type":"structure", "members":{ @@ -498,9 +640,13 @@ "shape":"Outputs", "documentation":"

You can configure application output to write data from any of the in-application streams to up to five destinations.

These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose delivery streams, or both.

In the configuration, you specify the in-application stream name, the destination stream Amazon Resource Name (ARN), and the format to use when writing data. You must also provide an IAM role that Amazon Kinesis Analytics can assume to write to the destination stream on your behalf.

In the output configuration, you also provide the output stream Amazon Resource Name (ARN) and the format of data in the stream (for example, JSON, CSV). You also must provide an IAM role that Amazon Kinesis Analytics can assume to write to this stream on your behalf.

" }, + "CloudWatchLoggingOptions":{ + "shape":"CloudWatchLoggingOptions", + "documentation":"

Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see Monitoring Configuration Errors.

" + }, "ApplicationCode":{ "shape":"ApplicationCode", - "documentation":"

One or more SQL statements that read input data, transform it, and generate output. For example, you can write a SQL statement that reads input data and generates a running average of the number of advertisement clicks by vendor.

You can also provide a series of SQL statements, where output of one statement can be used as the input for the next statement.

Note that the application code must create the streams with names specified in the Outputs. For example, if your Outputs defines output streams named ExampleOutputStream1 and ExampleOutputStream2, then your application code must create these streams.

" + "documentation":"

One or more SQL statements that read input data, transform it, and generate output. For example, you can write a SQL statement that reads data from one in-application stream, generates a running average of the number of advertisement clicks by vendor, and insert resulting rows in another in-application stream using pumps. For more inforamtion about the typical pattern, see Application Code.

You can provide such series of SQL statements, where output of one statement can be used as the input for the next statement. You store intermediate results by creating in-application streams and pumps.

Note that the application code must create the streams with names specified in the Outputs. For example, if your Outputs defines output streams named ExampleOutputStream1 and ExampleOutputStream2, then your application code must create these streams.

" } }, "documentation":"

TBD

" @@ -516,6 +662,33 @@ }, "documentation":"

TBD

" }, + "DeleteApplicationCloudWatchLoggingOptionRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "CloudWatchLoggingOptionId" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The Amazon Kinesis Analytics application name.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version ID of the Amazon Kinesis Analytics application.

" + }, + "CloudWatchLoggingOptionId":{ + "shape":"Id", + "documentation":"

The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. You can use the DescribeApplication operation to get the CloudWatchLoggingOptionId.

" + } + } + }, + "DeleteApplicationCloudWatchLoggingOptionResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteApplicationOutputRequest":{ "type":"structure", "required":[ @@ -702,7 +875,7 @@ "members":{ "NamePrefix":{ "shape":"InAppStreamName", - "documentation":"

Name prefix to use when creating in-application stream. Suppose you specify a prefix \"MyInApplicationStream\". Kinesis Analytics will then create one or more (as per the InputParallelism count you specified) in-application streams with names \"MyInApplicationStream_001\", \"MyInApplicationStream_002\" and so on.

" + "documentation":"

Name prefix to use when creating in-application stream. Suppose you specify a prefix \"MyInApplicationStream\". Amazon Kinesis Analytics will then create one or more (as per the InputParallelism count you specified) in-application streams with names \"MyInApplicationStream_001\", \"MyInApplicationStream_002\" and so on.

" }, "KinesisStreamsInput":{ "shape":"KinesisStreamsInput", @@ -792,7 +965,7 @@ "documentation":"

Number of in-application streams to create. For more information, see Limits.

" } }, - "documentation":"

Describes the number of in-application streams to create for a given streaming source. For information about parallellism, see Configuring Application Input.

" + "documentation":"

Describes the number of in-application streams to create for a given streaming source. For information about parallelism, see Configuring Application Input.

" }, "InputParallelismCount":{ "type":"integer", @@ -840,7 +1013,7 @@ "members":{ "InputStartingPosition":{ "shape":"InputStartingPosition", - "documentation":"

The starting position on the stream.

  • LATEST - Start reading just after the most recent record in the stream.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Firehose delivery stream.

  • LAST_STOPPED_POINT - Resume reading from where the application last stopped reading.

" + "documentation":"

The starting position on the stream.

  • NOW - Start reading just after the most recent record in the stream, start at the request timestamp that the customer issued.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Firehose delivery stream.

  • LAST_STOPPED_POINT - Resume reading from where the application last stopped reading.

" } }, "documentation":"

Describes the point at which the application reads from the streaming source.

" @@ -855,7 +1028,7 @@ }, "NamePrefixUpdate":{ "shape":"InAppStreamName", - "documentation":"

Name prefix for in-application stream(s) that Kinesis Analytics creates for the specific streaming source.

" + "documentation":"

Name prefix for in-application streams that Amazon Kinesis Analytics creates for the specific streaming source.

" }, "KinesisStreamsInputUpdate":{ "shape":"KinesisStreamsInputUpdate", @@ -871,7 +1044,7 @@ }, "InputParallelismUpdate":{ "shape":"InputParallelismUpdate", - "documentation":"

Describes the parallelism updates (the number in-application streams Kinesis Analytics creates for the specific streaming source).

" + "documentation":"

Describes the parallelism updates (the number in-application streams Amazon Kinesis Analytics creates for the specific streaming source).

" } }, "documentation":"

Describes updates to a specific input configuration (identified by the InputId of an application).

" @@ -1149,6 +1322,12 @@ }, "documentation":"

" }, + "LogStreamARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:.*" + }, "MappingParameters":{ "type":"structure", "members":{ @@ -1184,7 +1363,7 @@ }, "DestinationSchema":{"shape":"DestinationSchema"} }, - "documentation":"

Describes application output configuration in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream.

You can configure your application to write output to up to five destinations.

" + "documentation":"

Describes application output configuration in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream.

For limits on how many destinations an application can write and other limitations, see Limits.

" }, "OutputDescription":{ "type":"structure", @@ -1284,7 +1463,10 @@ }, "documentation":"

Describes the mapping of each data element in the streaming source to the corresponding column in the in-application stream.

Also used to describe the format of the reference data source.

" }, - "RecordColumnDelimiter":{"type":"string"}, + "RecordColumnDelimiter":{ + "type":"string", + "min":1 + }, "RecordColumnMapping":{"type":"string"}, "RecordColumnName":{ "type":"string", @@ -1320,7 +1502,10 @@ "CSV" ] }, - "RecordRowDelimiter":{"type":"string"}, + "RecordRowDelimiter":{ + "type":"string", + "min":1 + }, "RecordRowPath":{"type":"string"}, "ReferenceDataSource":{ "type":"structure", @@ -1423,7 +1608,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

Discovery failed to get a record from the streaming source because of the Kinesis Streams ProvisionedThroughputExceededException.

", + "documentation":"

Discovery failed to get a record from the streaming source because of the Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information, see GetRecords in the Amazon Kinesis Streams API Reference.

", "exception":true }, "RoleARN":{ @@ -1566,7 +1751,7 @@ "message":{"shape":"ErrorMessage"}, "RawInputRecords":{"shape":"RawInputRecords"} }, - "documentation":"

Data format is not valid, Kinesis Analytics is not able to detect schema for the given streaming source.

", + "documentation":"

Data format is not valid, Amazon Kinesis Analytics is not able to detect schema for the given streaming source.

", "exception":true }, "UpdateApplicationRequest":{ @@ -1579,7 +1764,7 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

Name of the Kinesis Analytics application to update.

" + "documentation":"

Name of the Amazon Kinesis Analytics application to update.

" }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", diff --git a/botocore/data/kms/2014-11-01/examples-1.json b/botocore/data/kms/2014-11-01/examples-1.json new file mode 100644 index 00000000..feafe0b1 --- /dev/null +++ b/botocore/data/kms/2014-11-01/examples-1.json @@ -0,0 +1,815 @@ +{ + "version": "1.0", + "examples": { + "CancelKeyDeletion": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose deletion you are canceling. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "KeyId": "The ARN of the CMK whose deletion you canceled." + } + }, + "description": "The following example cancels deletion of the specified CMK.", + "id": "to-cancel-deletion-of-a-cmk-1477428535102", + "title": "To cancel deletion of a customer master key (CMK)" + } + ], + "CreateAlias": [ + { + "input": { + "AliasName": "alias/ExampleAlias", + "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "AliasName": "The alias to create. Aliases must begin with 'alias/'. Do not use aliases that begin with 'alias/aws' because they are reserved for use by AWS.", + "TargetKeyId": "The identifier of the CMK whose alias you are creating. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example creates an alias for the specified customer master key (CMK).", + "id": "to-create-an-alias-1477505685119", + "title": "To create an alias" + } + ], + "CreateGrant": [ + { + "input": { + "GranteePrincipal": "arn:aws:iam::111122223333:role/ExampleRole", + "KeyId": "arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "Encrypt", + "Decrypt" + ] + }, + "output": { + "GrantId": "0c237476b39f8bc44e45212e08498fbe3151305030726c0590dd8d3e9f3d6a60", + "GrantToken": "AQpAM2RhZTk1MGMyNTk2ZmZmMzEyYWVhOWViN2I1MWM4Mzc0MWFiYjc0ZDE1ODkyNGFlNTIzODZhMzgyZjBlNGY3NiKIAgEBAgB4Pa6VDCWW__MSrqnre1HIN0Grt00ViSSuUjhqOC8OT3YAAADfMIHcBgkqhkiG9w0BBwaggc4wgcsCAQAwgcUGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMmqLyBTAegIn9XlK5AgEQgIGXZQjkBcl1dykDdqZBUQ6L1OfUivQy7JVYO2-ZJP7m6f1g8GzV47HX5phdtONAP7K_HQIflcgpkoCqd_fUnE114mSmiagWkbQ5sqAVV3ov-VeqgrvMe5ZFEWLMSluvBAqdjHEdMIkHMlhlj4ENZbzBfo9Wxk8b8SnwP4kc4gGivedzFXo-dwN8fxjjq_ZZ9JFOj2ijIbj5FyogDCN0drOfi8RORSEuCEmPvjFRMFAwcmwFkN2NPp89amA" + }, + "comments": { + "input": { + "GranteePrincipal": "The identity that is given permission to perform the operations specified in the grant.", + "KeyId": "The identifier of the CMK to which the grant applies. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "Operations": "A list of operations that the grant allows." + }, + "output": { + "GrantId": "The unique identifier of the grant.", + "GrantToken": "The grant token." + } + }, + "description": "The following example creates a grant that allows the specified IAM role to encrypt data with the specified customer master key (CMK).", + "id": "to-create-a-grant-1477972226782", + "title": "To create a grant" + } + ], + "CreateKey": [ + { + "output": { + "KeyMetadata": { + "AWSAccountId": "111122223333", + "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "CreationDate": "2016-11-01T10:15:42-07:00", + "Description": "", + "Enabled": true, + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyState": "Enabled", + "KeyUsage": "ENCRYPT_DECRYPT", + "Origin": "AWS_KMS" + } + }, + "comments": { + "output": { + "KeyMetadata": "An object that contains information about the CMK created by this operation." + } + }, + "description": "The following example creates a CMK.", + "id": "to-create-a-cmk-1478028992966", + "title": "To create a customer master key (CMK)" + } + ], + "Decrypt": [ + { + "input": { + "CiphertextBlob": "" + }, + "output": { + "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Plaintext": "" + }, + "comments": { + "input": { + "CiphertextBlob": "The encrypted data (ciphertext)." + }, + "output": { + "KeyId": "The Amazon Resource Name (ARN) of the CMK that was used to decrypt the data.", + "Plaintext": "The decrypted (plaintext) data." + } + }, + "description": "The following example decrypts data that was encrypted with a customer master key (CMK) in AWS KMS.", + "id": "to-decrypt-data-1478281622886", + "title": "To decrypt data" + } + ], + "DeleteAlias": [ + { + "input": { + "AliasName": "alias/ExampleAlias" + }, + "comments": { + "input": { + "AliasName": "The alias to delete." + } + }, + "description": "The following example deletes the specified alias.", + "id": "to-delete-an-alias-1478285209338", + "title": "To delete an alias" + } + ], + "DeleteImportedKeyMaterial": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose imported key material you are deleting. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example deletes the imported key material from the specified customer master key (CMK).", + "id": "to-delete-imported-key-material-1478561674507", + "title": "To delete imported key material" + } + ], + "DescribeKey": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "KeyMetadata": { + "AWSAccountId": "111122223333", + "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "CreationDate": "2015-10-12T11:45:07-07:00", + "Description": "", + "Enabled": true, + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyState": "Enabled", + "KeyUsage": "ENCRYPT_DECRYPT", + "Origin": "AWS_KMS" + } + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK that you want information about. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "KeyMetadata": "An object that contains information about the specified CMK." + } + }, + "description": "The following example returns information (metadata) about the specified CMK.", + "id": "to-obtain-information-about-a-cmk-1478565820907", + "title": "To obtain information about a customer master key (CMK)" + } + ], + "DisableKey": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to disable. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example disables the specified CMK.", + "id": "to-disable-a-cmk-1478566583659", + "title": "To disable a customer master key (CMK)" + } + ], + "DisableKeyRotation": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose key material will no longer be rotated. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example disables automatic annual rotation of the key material for the specified CMK.", + "id": "to-disable-automatic-rotation-of-key-material-1478624396092", + "title": "To disable automatic rotation of key material" + } + ], + "EnableKey": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to enable. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example enables the specified CMK.", + "id": "to-enable-a-cmk-1478627501129", + "title": "To enable a customer master key (CMK)" + } + ], + "EnableKeyRotation": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose key material will be rotated annually. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example enables automatic annual rotation of the key material for the specified CMK.", + "id": "to-enable-automatic-rotation-of-key-material-1478629109677", + "title": "To enable automatic rotation of key material" + } + ], + "Encrypt": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "Plaintext": "" + }, + "output": { + "CiphertextBlob": "", + "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to use for encryption. You can use the key ID or Amazon Resource Name (ARN) of the CMK, or the name or ARN of an alias that refers to the CMK.", + "Plaintext": "The data to encrypt." + }, + "output": { + "CiphertextBlob": "The encrypted data (ciphertext).", + "KeyId": "The ARN of the CMK that was used to encrypt the data." + } + }, + "description": "The following example encrypts data with the specified customer master key (CMK).", + "id": "to-encrypt-data-1478906026012", + "title": "To encrypt data" + } + ], + "GenerateDataKey": [ + { + "input": { + "KeyId": "alias/ExampleAlias", + "KeySpec": "AES_256" + }, + "output": { + "CiphertextBlob": "", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Plaintext": "" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to use to encrypt the data key. You can use the key ID or Amazon Resource Name (ARN) of the CMK, or the name or ARN of an alias that refers to the CMK.", + "KeySpec": "Specifies the type of data key to return." + }, + "output": { + "CiphertextBlob": "The encrypted data key.", + "KeyId": "The ARN of the CMK that was used to encrypt the data key.", + "Plaintext": "The unencrypted (plaintext) data key." + } + }, + "description": "The following example generates a 256-bit symmetric data encryption key (data key) in two formats. One is the unencrypted (plainext) data key, and the other is the data key encrypted with the specified customer master key (CMK).", + "id": "to-generate-a-data-key-1478912956062", + "title": "To generate a data key" + } + ], + "GenerateDataKeyWithoutPlaintext": [ + { + "input": { + "KeyId": "alias/ExampleAlias", + "KeySpec": "AES_256" + }, + "output": { + "CiphertextBlob": "", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to use to encrypt the data key. You can use the key ID or Amazon Resource Name (ARN) of the CMK, or the name or ARN of an alias that refers to the CMK.", + "KeySpec": "Specifies the type of data key to return." + }, + "output": { + "CiphertextBlob": "The encrypted data key.", + "KeyId": "The ARN of the CMK that was used to encrypt the data key." + } + }, + "description": "The following example generates an encrypted copy of a 256-bit symmetric data encryption key (data key). The data key is encrypted with the specified customer master key (CMK).", + "id": "to-generate-an-encrypted-data-key-1478914121134", + "title": "To generate an encrypted data key" + } + ], + "GenerateRandom": [ + { + "input": { + "NumberOfBytes": 32 + }, + "output": { + "Plaintext": "" + }, + "comments": { + "input": { + "NumberOfBytes": "The length of the random data, specified in number of bytes." + }, + "output": { + "Plaintext": "The random data." + } + }, + "description": "The following example uses AWS KMS to generate 32 bytes of random data.", + "id": "to-generate-random-data-1479163645600", + "title": "To generate random data" + } + ], + "GetKeyPolicy": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "PolicyName": "default" + }, + "output": { + "Policy": "{\n \"Version\" : \"2012-10-17\",\n \"Id\" : \"key-default-1\",\n \"Statement\" : [ {\n \"Sid\" : \"Enable IAM User Permissions\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : \"arn:aws:iam::111122223333:root\"\n },\n \"Action\" : \"kms:*\",\n \"Resource\" : \"*\"\n } ]\n}" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose key policy you want to retrieve. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "PolicyName": "The name of the key policy to retrieve." + }, + "output": { + "Policy": "The key policy document." + } + }, + "description": "The following example retrieves the key policy for the specified customer master key (CMK).", + "id": "to-retrieve-a-key-policy-1479170128325", + "title": "To retrieve a key policy" + } + ], + "GetKeyRotationStatus": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "KeyRotationEnabled": true + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose key material rotation status you want to retrieve. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "KeyRotationEnabled": "A boolean that indicates the key material rotation status. Returns true when automatic annual rotation of the key material is enabled, or false when it is not." + } + }, + "description": "The following example retrieves the status of automatic annual rotation of the key material for the specified CMK.", + "id": "to-retrieve-the-rotation-status-for-a-cmk-1479172287408", + "title": "To retrieve the rotation status for a customer master key (CMK)" + } + ], + "GetParametersForImport": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "WrappingAlgorithm": "RSAES_OAEP_SHA_1", + "WrappingKeySpec": "RSA_2048" + }, + "output": { + "ImportToken": "", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "ParametersValidTo": "2016-12-01T14:52:17-08:00", + "PublicKey": "" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK for which to retrieve the public key and import token. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "WrappingAlgorithm": "The algorithm that you will use to encrypt the key material before importing it.", + "WrappingKeySpec": "The type of wrapping key (public key) to return in the response." + }, + "output": { + "ImportToken": "The import token to send with a subsequent ImportKeyMaterial request.", + "KeyId": "The ARN of the CMK for which you are retrieving the public key and import token. This is the same CMK specified in the request.", + "ParametersValidTo": "The time at which the import token and public key are no longer valid.", + "PublicKey": "The public key to use to encrypt the key material before importing it." + } + }, + "description": "The following example retrieves the public key and import token for the specified CMK.", + "id": "to-retrieve-the-public-key-and-import-token-for-a-cmk-1480626483211", + "title": "To retrieve the public key and import token for a customer master key (CMK)" + } + ], + "ImportKeyMaterial": [ + { + "input": { + "EncryptedKeyMaterial": "", + "ExpirationModel": "KEY_MATERIAL_DOES_NOT_EXPIRE", + "ImportToken": "", + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "EncryptedKeyMaterial": "The encrypted key material to import.", + "ExpirationModel": "A value that specifies whether the key material expires.", + "ImportToken": "The import token that you received in the response to a previous GetParametersForImport request.", + "KeyId": "The identifier of the CMK to import the key material into. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example imports key material into the specified CMK.", + "id": "to-import-key-material-into-a-cmk-1480630551969", + "title": "To import key material into a customer master key (CMK)" + } + ], + "ListAliases": [ + { + "output": { + "Aliases": [ + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/aws/acm", + "AliasName": "alias/aws/acm", + "TargetKeyId": "da03f6f7-d279-427a-9cae-de48d07e5b66" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/aws/ebs", + "AliasName": "alias/aws/ebs", + "TargetKeyId": "25a217e7-7170-4b8c-8bf6-045ea5f70e5b" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/aws/rds", + "AliasName": "alias/aws/rds", + "TargetKeyId": "7ec3104e-c3f2-4b5c-bf42-bfc4772c6685" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/aws/redshift", + "AliasName": "alias/aws/redshift", + "TargetKeyId": "08f7a25a-69e2-4fb5-8f10-393db27326fa" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/aws/s3", + "AliasName": "alias/aws/s3", + "TargetKeyId": "d2b0f1a3-580d-4f79-b836-bc983be8cfa5" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/example1", + "AliasName": "alias/example1", + "TargetKeyId": "4da1e216-62d0-46c5-a7c0-5f3a3d2f8046" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/example2", + "AliasName": "alias/example2", + "TargetKeyId": "f32fef59-2cc2-445b-8573-2d73328acbee" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/example3", + "AliasName": "alias/example3", + "TargetKeyId": "1374ef38-d34e-4d5f-b2c9-4e0daee38855" + } + ], + "Truncated": false + }, + "comments": { + "output": { + "Aliases": "A list of aliases, including the key ID of the customer master key (CMK) that each alias refers to.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists aliases.", + "id": "to-list-aliases-1480729693349", + "title": "To list aliases" + } + ], + "ListGrants": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "Grants": [ + { + "CreationDate": "2016-10-25T14:37:41-07:00", + "GrantId": "91ad875e49b04a9d1f3bdeb84d821f9db6ea95e1098813f6d47f0c65fbe2a172", + "GranteePrincipal": "acm.us-east-2.amazonaws.com", + "IssuingAccount": "arn:aws:iam::111122223333:root", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "Encrypt", + "ReEncryptFrom", + "ReEncryptTo" + ], + "RetiringPrincipal": "acm.us-east-2.amazonaws.com" + }, + { + "CreationDate": "2016-10-25T14:37:41-07:00", + "GrantId": "a5d67d3e207a8fc1f4928749ee3e52eb0440493a8b9cf05bbfad91655b056200", + "GranteePrincipal": "acm.us-east-2.amazonaws.com", + "IssuingAccount": "arn:aws:iam::111122223333:root", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "ReEncryptFrom", + "ReEncryptTo" + ], + "RetiringPrincipal": "acm.us-east-2.amazonaws.com" + }, + { + "CreationDate": "2016-10-25T14:37:41-07:00", + "GrantId": "c541aaf05d90cb78846a73b346fc43e65be28b7163129488c738e0c9e0628f4f", + "GranteePrincipal": "acm.us-east-2.amazonaws.com", + "IssuingAccount": "arn:aws:iam::111122223333:root", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "Encrypt", + "ReEncryptFrom", + "ReEncryptTo" + ], + "RetiringPrincipal": "acm.us-east-2.amazonaws.com" + }, + { + "CreationDate": "2016-10-25T14:37:41-07:00", + "GrantId": "dd2052c67b4c76ee45caf1dc6a1e2d24e8dc744a51b36ae2f067dc540ce0105c", + "GranteePrincipal": "acm.us-east-2.amazonaws.com", + "IssuingAccount": "arn:aws:iam::111122223333:root", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "Encrypt", + "ReEncryptFrom", + "ReEncryptTo" + ], + "RetiringPrincipal": "acm.us-east-2.amazonaws.com" + } + ], + "Truncated": true + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose grants you want to list. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "Grants": "A list of grants.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists grants for the specified CMK.", + "id": "to-list-grants-for-a-cmk-1481067365389", + "title": "To list grants for a customer master key (CMK)" + } + ], + "ListKeyPolicies": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "PolicyNames": [ + "default" + ], + "Truncated": false + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose key policies you want to list. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "PolicyNames": "A list of key policy names.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists key policies for the specified CMK.", + "id": "to-list-key-policies-for-a-cmk-1481069780998", + "title": "To list key policies for a customer master key (CMK)" + } + ], + "ListKeys": [ + { + "output": { + "Keys": [ + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/0d990263-018e-4e65-a703-eff731de951e", + "KeyId": "0d990263-018e-4e65-a703-eff731de951e" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/144be297-0ae1-44ac-9c8f-93cd8c82f841", + "KeyId": "144be297-0ae1-44ac-9c8f-93cd8c82f841" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/21184251-b765-428e-b852-2c7353e72571", + "KeyId": "21184251-b765-428e-b852-2c7353e72571" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/214fe92f-5b03-4ae1-b350-db2a45dbe10c", + "KeyId": "214fe92f-5b03-4ae1-b350-db2a45dbe10c" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/339963f2-e523-49d3-af24-a0fe752aa458", + "KeyId": "339963f2-e523-49d3-af24-a0fe752aa458" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/b776a44b-df37-4438-9be4-a27494e4271a", + "KeyId": "b776a44b-df37-4438-9be4-a27494e4271a" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/deaf6c9e-cf2c-46a6-bf6d-0b6d487cffbb", + "KeyId": "deaf6c9e-cf2c-46a6-bf6d-0b6d487cffbb" + } + ], + "Truncated": false + }, + "comments": { + "output": { + "Keys": "A list of CMKs, including the key ID and Amazon Resource Name (ARN) of each one.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists CMKs.", + "id": "to-list-cmks-1481071643069", + "title": "To list customer master keys (CMKs)" + } + ], + "ListRetirableGrants": [ + { + "input": { + "RetiringPrincipal": "arn:aws:iam::111122223333:role/ExampleRole" + }, + "output": { + "Grants": [ + { + "CreationDate": "2016-12-07T11:09:35-08:00", + "GrantId": "0c237476b39f8bc44e45212e08498fbe3151305030726c0590dd8d3e9f3d6a60", + "GranteePrincipal": "arn:aws:iam::111122223333:role/ExampleRole", + "IssuingAccount": "arn:aws:iam::444455556666:root", + "KeyId": "arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "Decrypt", + "Encrypt" + ], + "RetiringPrincipal": "arn:aws:iam::111122223333:role/ExampleRole" + } + ], + "Truncated": false + }, + "comments": { + "input": { + "RetiringPrincipal": "The retiring principal whose grants you want to list. Use the Amazon Resource Name (ARN) of an AWS principal such as an AWS account (root), IAM user, federated user, or assumed role user." + }, + "output": { + "Grants": "A list of grants that the specified principal can retire.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists the grants that the specified principal (identity) can retire.", + "id": "to-list-grants-that-the-specified-principal-can-retire-1481140499620", + "title": "To list grants that the specified principal can retire" + } + ], + "PutKeyPolicy": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "Policy": "{\n \"Version\": \"2012-10-17\",\n \"Id\": \"custom-policy-2016-12-07\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::111122223333:root\"\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"Allow access for Key Administrators\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": [\n \"arn:aws:iam::111122223333:user/ExampleAdminUser\",\n \"arn:aws:iam::111122223333:role/ExampleAdminRole\"\n ]\n },\n \"Action\": [\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\"\n ],\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"Allow use of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::111122223333:role/ExamplePowerUserRole\"\n },\n \"Action\": [\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey*\",\n \"kms:DescribeKey\"\n ],\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"Allow attachment of persistent resources\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::111122223333:role/ExamplePowerUserRole\"\n },\n \"Action\": [\n \"kms:CreateGrant\",\n \"kms:ListGrants\",\n \"kms:RevokeGrant\"\n ],\n \"Resource\": \"*\",\n \"Condition\": {\n \"Bool\": {\n \"kms:GrantIsForAWSResource\": \"true\"\n }\n }\n }\n ]\n}\n", + "PolicyName": "default" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to attach the key policy to. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "Policy": "The key policy document.", + "PolicyName": "The name of the key policy." + } + }, + "description": "The following example attaches a key policy to the specified CMK.", + "id": "to-attach-a-key-policy-to-a-cmk-1481147345018", + "title": "To attach a key policy to a customer master key (CMK)" + } + ], + "ReEncrypt": [ + { + "input": { + "CiphertextBlob": "", + "DestinationKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" + }, + "output": { + "CiphertextBlob": "", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", + "SourceKeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "CiphertextBlob": "The data to reencrypt.", + "DestinationKeyId": "The identifier of the CMK to use to reencrypt the data. You can use the key ID or Amazon Resource Name (ARN) of the CMK, or the name or ARN of an alias that refers to the CMK." + }, + "output": { + "CiphertextBlob": "The reencrypted data.", + "KeyId": "The ARN of the CMK that was used to reencrypt the data.", + "SourceKeyId": "The ARN of the CMK that was used to originally encrypt the data." + } + }, + "description": "The following example reencrypts data with the specified CMK.", + "id": "to-reencrypt-data-1481230358001", + "title": "To reencrypt data" + } + ], + "RetireGrant": [ + { + "input": { + "GrantId": "0c237476b39f8bc44e45212e08498fbe3151305030726c0590dd8d3e9f3d6a60", + "KeyId": "arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "GrantId": "The identifier of the grant to retire.", + "KeyId": "The Amazon Resource Name (ARN) of the customer master key (CMK) associated with the grant." + } + }, + "description": "The following example retires a grant.", + "id": "to-retire-a-grant-1481327028297", + "title": "To retire a grant" + } + ], + "RevokeGrant": [ + { + "input": { + "GrantId": "0c237476b39f8bc44e45212e08498fbe3151305030726c0590dd8d3e9f3d6a60", + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "GrantId": "The identifier of the grant to revoke.", + "KeyId": "The identifier of the customer master key (CMK) associated with the grant. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example revokes a grant.", + "id": "to-revoke-a-grant-1481329549302", + "title": "To revoke a grant" + } + ], + "ScheduleKeyDeletion": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "PendingWindowInDays": 7 + }, + "output": { + "DeletionDate": "2016-12-17T16:00:00-08:00", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to schedule for deletion. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "PendingWindowInDays": "The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the CMK." + }, + "output": { + "DeletionDate": "The date and time after which AWS KMS deletes the CMK.", + "KeyId": "The ARN of the CMK that is scheduled for deletion." + } + }, + "description": "The following example schedules the specified CMK for deletion.", + "id": "to-schedule-a-cmk-for-deletion-1481331111094", + "title": "To schedule a customer master key (CMK) for deletion" + } + ], + "UpdateAlias": [ + { + "input": { + "AliasName": "alias/ExampleAlias", + "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "AliasName": "The alias to update.", + "TargetKeyId": "The identifier of the CMK that the alias will refer to after this operation succeeds. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example updates the specified alias to refer to the specified customer master key (CMK).", + "id": "to-update-an-alias-1481572726920", + "title": "To update an alias" + } + ], + "UpdateKeyDescription": [ + { + "input": { + "Description": "Example description that indicates the intended use of this CMK.", + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "Description": "The updated description.", + "KeyId": "The identifier of the CMK whose description you are updating. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example updates the description of the specified CMK.", + "id": "to-update-the-description-of-a-cmk-1481574808619", + "title": "To update the description of a customer master key (CMK)" + } + ] + } +} diff --git a/botocore/data/kms/2014-11-01/service-2.json b/botocore/data/kms/2014-11-01/service-2.json old mode 100755 new mode 100644 index 5f32d227..f6d99057 --- a/botocore/data/kms/2014-11-01/service-2.json +++ b/botocore/data/kms/2014-11-01/service-2.json @@ -81,7 +81,8 @@ {"shape":"InvalidArnException"}, {"shape":"UnsupportedOperationException"}, {"shape":"KMSInternalException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"TagException"} ], "documentation":"

Creates a customer master key (CMK).

You can use a CMK to encrypt small amounts of data (4 KiB or less) directly, but CMKs are more commonly used to encrypt data encryption keys (DEKs), which are used to encrypt raw data. For more information about DEKs and the difference between CMKs and DEKs, see the following:

" }, @@ -260,7 +261,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Returns a data encryption key that you can use in your application to encrypt data locally.

You must specify the customer master key (CMK) under which to generate the data key. You must also specify the length of the data key using either the KeySpec or NumberOfBytes field. You must specify one field or the other, but not both. For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use KeySpec.

This operation returns a plaintext copy of the data key in the Plaintext field of the response, and an encrypted copy of the data key in the CiphertextBlob field. The data key is encrypted under the CMK specified in the KeyId field of the request.

We recommend that you use the following pattern to encrypt data locally in your application:

  1. Use this operation (GenerateDataKey) to retrieve a data encryption key.

  2. Use the plaintext data encryption key (returned in the Plaintext field of the response) to encrypt data locally, then erase the plaintext data key from memory.

  3. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data.

To decrypt data locally:

  1. Use the Decrypt operation to decrypt the encrypted data key into a plaintext copy of the data key.

  2. Use the plaintext data key to decrypt data locally, then erase the plaintext data key from memory.

To return only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To return an arbitrary unpredictable byte string, use GenerateRandom.

If you use the optional EncryptionContext field, you must store at least enough information to be able to reconstruct the full encryption context when you later send the ciphertext to the Decrypt operation. It is a good practice to choose an encryption context that you can reconstruct on the fly to better secure the ciphertext. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

Returns a data encryption key that you can use in your application to encrypt data locally.

You must specify the customer master key (CMK) under which to generate the data key. You must also specify the length of the data key using either the KeySpec or NumberOfBytes field. You must specify one field or the other, but not both. For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use KeySpec.

This operation returns a plaintext copy of the data key in the Plaintext field of the response, and an encrypted copy of the data key in the CiphertextBlob field. The data key is encrypted under the CMK specified in the KeyId field of the request.

We recommend that you use the following pattern to encrypt data locally in your application:

  1. Use this operation (GenerateDataKey) to retrieve a data encryption key.

  2. Use the plaintext data encryption key (returned in the Plaintext field of the response) to encrypt data locally, then erase the plaintext data key from memory.

  3. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data.

To decrypt data locally:

  1. Use the Decrypt operation to decrypt the encrypted data key into a plaintext copy of the data key.

  2. Use the plaintext data key to decrypt data locally, then erase the plaintext data key from memory.

To return only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To return a random byte string that is cryptographically secure, use GenerateRandom.

If you use the optional EncryptionContext field, you must store at least enough information to be able to reconstruct the full encryption context when you later send the ciphertext to the Decrypt operation. It is a good practice to choose an encryption context that you can reconstruct on the fly to better secure the ciphertext. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" }, "GenerateDataKeyWithoutPlaintext":{ "name":"GenerateDataKeyWithoutPlaintext", @@ -294,7 +295,7 @@ {"shape":"DependencyTimeoutException"}, {"shape":"KMSInternalException"} ], - "documentation":"

Generates an unpredictable byte string.

" + "documentation":"

Returns a random byte string that is cryptographically secure.

For more information about entropy and random number generation, see the AWS Key Management Service Cryptographic Details whitepaper.

" }, "GetKeyPolicy":{ "name":"GetKeyPolicy", @@ -436,6 +437,22 @@ ], "documentation":"

Lists the customer master keys.

" }, + "ListResourceTags":{ + "name":"ListResourceTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceTagsRequest"}, + "output":{"shape":"ListResourceTagsResponse"}, + "errors":[ + {"shape":"KMSInternalException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidMarkerException"} + ], + "documentation":"

Returns a list of all tags for the specified customer master key (CMK).

" + }, "ListRetirableGrants":{ "name":"ListRetirableGrants", "http":{ @@ -544,6 +561,39 @@ ], "documentation":"

Schedules the deletion of a customer master key (CMK). You may provide a waiting period, specified in days, before deletion occurs. If you do not provide a waiting period, the default period of 30 days is used. When this operation is successful, the state of the CMK changes to PendingDeletion. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the CMK. After the waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with it, including all aliases that refer to it.

Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is deleted, all data that was encrypted under the CMK is rendered unrecoverable. To restrict the use of a CMK without deleting it, use DisableKey.

For more information about scheduling a CMK for deletion, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"KMSInternalException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"LimitExceededException"}, + {"shape":"TagException"} + ], + "documentation":"

Adds or overwrites one or more tags for the specified customer master key (CMK).

Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

You cannot use the same tag key more than once per CMK. For example, consider a CMK with one tag whose tag key is Purpose and tag value is Test. If you send a TagResource request for this CMK with a tag key of Purpose and a tag value of Prod, it does not create a second tag. Instead, the original tag is overwritten with the new tag value.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"KMSInternalException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"TagException"} + ], + "documentation":"

Removes the specified tag or tags from the specified customer master key (CMK).

To remove a tag, you specify the tag key for each tag to remove. You do not specify the tag value. To overwrite the tag value for an existing tag, use TagResource.

" + }, "UpdateAlias":{ "name":"UpdateAlias", "http":{ @@ -682,7 +732,7 @@ }, "GranteePrincipal":{ "shape":"PrincipalIdType", - "documentation":"

The principal that is given permission to perform the operations that the grant permits.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" + "documentation":"

The principal that is given permission to perform the operations that the grant permits.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, IAM roles, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" }, "RetiringPrincipal":{ "shape":"PrincipalIdType", @@ -694,7 +744,7 @@ }, "Constraints":{ "shape":"GrantConstraints", - "documentation":"

The conditions under which the operations permitted by the grant are allowed.

You can use this value to allow the operations permitted by the grant only when a specified encryption context is present. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

A structure that you can use to allow certain operations in the grant only when the desired encryption context is present. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide.

" }, "GrantTokens":{ "shape":"GrantTokenList", @@ -724,7 +774,7 @@ "members":{ "Policy":{ "shape":"PolicyType", - "documentation":"

The key policy to attach to the CMK.

If you specify a policy and do not set BypassPolicyLockoutSafetyCheck to true, the policy must meet the following criteria:

  • It must allow the principal making the CreateKey request to make a subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

  • The principal(s) specified in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before specifying the new principal in a key policy because the new principal might not immediately be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM User Guide.

If you do not specify a policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide.

The policy size limit is 32 KiB (32768 bytes).

" + "documentation":"

The key policy to attach to the CMK.

If you specify a policy and do not set BypassPolicyLockoutSafetyCheck to true, the policy must meet the following criteria:

  • It must allow the principal that is making the CreateKey request to make a subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

  • The principals that are specified in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before specifying the new principal in a key policy because the new principal might not immediately be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM User Guide.

If you do not specify a policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide.

The policy size limit is 32 KiB (32768 bytes).

" }, "Description":{ "shape":"DescriptionType", @@ -740,7 +790,11 @@ }, "BypassPolicyLockoutSafetyCheck":{ "shape":"BooleanType", - "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the likelihood that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you include a policy in the request and you intend to prevent the principal making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" + "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the likelihood that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you include a policy in the request and you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags. Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

Use this parameter to tag the CMK when it is created. Alternately, you can omit this parameter and instead tag the CMK after it is created using TagResource.

" } } }, @@ -1054,7 +1108,7 @@ "members":{ "Plaintext":{ "shape":"PlaintextType", - "documentation":"

The unpredictable byte string.

" + "documentation":"

The random byte string.

" } } }, @@ -1151,14 +1205,14 @@ "members":{ "EncryptionContextSubset":{ "shape":"EncryptionContextType", - "documentation":"

Contains a list of key-value pairs, a subset of which must be present in the encryption context of a subsequent operation permitted by the grant. When a subsequent operation permitted by the grant includes an encryption context that matches this list or is a subset of this list, the grant allows the operation. Otherwise, the operation is not allowed.

" + "documentation":"

A list of key-value pairs, all of which must be present in the encryption context of certain subsequent operations that the grant allows. When certain subsequent operations allowed by the grant include encryption context that matches this list or is a superset of this list, the grant allows the operation. Otherwise, the grant does not allow the operation.

" }, "EncryptionContextEquals":{ "shape":"EncryptionContextType", - "documentation":"

Contains a list of key-value pairs that must be present in the encryption context of a subsequent operation permitted by the grant. When a subsequent operation permitted by the grant includes an encryption context that matches this list, the grant allows the operation. Otherwise, the operation is not allowed.

" + "documentation":"

A list of key-value pairs that must be present in the encryption context of certain subsequent operations that the grant allows. When certain subsequent operations allowed by the grant include encryption context that matches this list, the grant allows the operation. Otherwise, the grant does not allow the operation.

" } }, - "documentation":"

A structure for specifying the conditions under which the operations permitted by the grant are allowed.

You can use this structure to allow the operations permitted by the grant only when a specified encryption context is present. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

A structure that you can use to allow certain operations in the grant only when the desired encryption context is present. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide.

Grant constraints apply only to operations that accept encryption context as input. For example, the DescribeKey operation does not accept encryption context as input. A grant that allows the DescribeKey operation does so regardless of the grant constraints. In constrast, the Encrypt operation accepts encryption context as input. A grant that allows the Encrypt operation does so only when the encryption context of the Encrypt operation satisfies the grant constraints.

" }, "GrantIdType":{ "type":"string", @@ -1206,7 +1260,7 @@ }, "Constraints":{ "shape":"GrantConstraints", - "documentation":"

The conditions under which the grant's operations are allowed.

" + "documentation":"

A list of key-value pairs that must be present in the encryption context of certain subsequent operations that the grant allows.

" } }, "documentation":"

Contains information about an entry in a list of grants.

" @@ -1371,7 +1425,7 @@ }, "KeyIdType":{ "type":"string", - "max":256, + "max":2048, "min":1 }, "KeyList":{ @@ -1487,11 +1541,11 @@ "members":{ "Limit":{ "shape":"LimitType", - "documentation":"

When paginating results, specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the Truncated element in the response is set to true.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" }, "Marker":{ "shape":"MarkerType", - "documentation":"

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the response you just received.

" + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" } } }, @@ -1504,11 +1558,11 @@ }, "NextMarker":{ "shape":"MarkerType", - "documentation":"

When Truncated is true, this value is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. If your results were truncated, you can use the Marker parameter to make a subsequent pagination request to retrieve more items in the list.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To retrieve more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" } } }, @@ -1518,11 +1572,11 @@ "members":{ "Limit":{ "shape":"LimitType", - "documentation":"

When paginating results, specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the Truncated element in the response is set to true.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" }, "Marker":{ "shape":"MarkerType", - "documentation":"

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the response you just received.

" + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" }, "KeyId":{ "shape":"KeyIdType", @@ -1539,11 +1593,11 @@ }, "NextMarker":{ "shape":"MarkerType", - "documentation":"

When Truncated is true, this value is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. If your results were truncated, you can use the Marker parameter to make a subsequent pagination request to retrieve more items in the list.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To retrieve more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" } } }, @@ -1557,11 +1611,11 @@ }, "Limit":{ "shape":"LimitType", - "documentation":"

When paginating results, specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the Truncated element in the response is set to true.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

Currently only 1 policy can be attached to a key.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

Currently only 1 policy can be attached to a key.

" }, "Marker":{ "shape":"MarkerType", - "documentation":"

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the response you just received.

" + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" } } }, @@ -1574,11 +1628,11 @@ }, "NextMarker":{ "shape":"MarkerType", - "documentation":"

When Truncated is true, this value is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. If your results were truncated, you can use the Marker parameter to make a subsequent pagination request to retrieve more items in the list.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To retrieve more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" } } }, @@ -1587,11 +1641,11 @@ "members":{ "Limit":{ "shape":"LimitType", - "documentation":"

When paginating results, specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the Truncated element in the response is set to true.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

" }, "Marker":{ "shape":"MarkerType", - "documentation":"

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the response you just received.

" + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" } } }, @@ -1604,11 +1658,46 @@ }, "NextMarker":{ "shape":"MarkerType", - "documentation":"

When Truncated is true, this value is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. If your results were truncated, you can use the Marker parameter to make a subsequent pagination request to retrieve more items in the list.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To retrieve more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" + } + } + }, + "ListResourceTagsRequest":{ + "type":"structure", + "required":["KeyId"], + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

A unique identifier for the CMK whose tags you are listing. You can use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples:

  • Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 50, inclusive. If you do not include a value, it defaults to 50.

" + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

Do not attempt to construct this value. Use only the value of NextMarker from the truncated response you just received.

" + } + } + }, + "ListResourceTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags. Each tag consists of a tag key and a tag value.

" + }, + "NextMarker":{ + "shape":"MarkerType", + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

Do not assume or infer any information from this value.

" + }, + "Truncated":{ + "shape":"BooleanType", + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To retrieve more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" } } }, @@ -1618,11 +1707,11 @@ "members":{ "Limit":{ "shape":"LimitType", - "documentation":"

When paginating results, specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the Truncated element in the response is set to true.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" }, "Marker":{ "shape":"MarkerType", - "documentation":"

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the response you just received.

" + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" }, "RetiringPrincipal":{ "shape":"PrincipalIdType", @@ -1714,11 +1803,11 @@ }, "Policy":{ "shape":"PolicyType", - "documentation":"

The key policy to attach to the CMK.

If you do not set BypassPolicyLockoutSafetyCheck to true, the policy must meet the following criteria:

  • It must allow the principal making the PutKeyPolicy request to make a subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

  • The principal(s) specified in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before specifying the new principal in a key policy because the new principal might not immediately be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM User Guide.

The policy size limit is 32 KiB (32768 bytes).

" + "documentation":"

The key policy to attach to the CMK.

If you do not set BypassPolicyLockoutSafetyCheck to true, the policy must meet the following criteria:

  • It must allow the principal that is making the PutKeyPolicy request to make a subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

  • The principals that are specified in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before specifying the new principal in a key policy because the new principal might not immediately be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM User Guide.

The policy size limit is 32 KiB (32768 bytes).

" }, "BypassPolicyLockoutSafetyCheck":{ "shape":"BooleanType", - "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the likelihood that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you intend to prevent the principal making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" + "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the likelihood that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" } } }, @@ -1829,6 +1918,67 @@ } } }, + "Tag":{ + "type":"structure", + "required":[ + "TagKey", + "TagValue" + ], + "members":{ + "TagKey":{ + "shape":"TagKeyType", + "documentation":"

The key of the tag.

" + }, + "TagValue":{ + "shape":"TagValueType", + "documentation":"

The value of the tag.

" + } + }, + "documentation":"

A key-value pair. A tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

" + }, + "TagException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because one or more tags are not valid.

", + "exception":true + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKeyType"} + }, + "TagKeyType":{ + "type":"string", + "max":128, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "KeyId", + "Tags" + ], + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

A unique identifier for the CMK you are tagging. You can use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples:

  • Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags. Each tag consists of a tag key and a tag value.

" + } + } + }, + "TagValueType":{ + "type":"string", + "max":256, + "min":0 + }, "UnsupportedOperationException":{ "type":"structure", "members":{ @@ -1837,6 +1987,23 @@ "documentation":"

The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation.

", "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "KeyId", + "TagKeys" + ], + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

A unique identifier for the CMK from which you are removing tags. You can use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples:

  • Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

One or more tag keys. Specify only the tag keys, not the tag values.

" + } + } + }, "UpdateAliasRequest":{ "type":"structure", "required":[ diff --git a/botocore/data/lambda/2015-03-31/examples-1.json b/botocore/data/lambda/2015-03-31/examples-1.json new file mode 100644 index 00000000..c5a45d3f --- /dev/null +++ b/botocore/data/lambda/2015-03-31/examples-1.json @@ -0,0 +1,614 @@ +{ + "version": "1.0", + "examples": { + "AddPermission": [ + { + "input": { + "Action": "lambda:InvokeFunction", + "FunctionName": "MyFunction", + "Principal": "s3.amazonaws.com", + "SourceAccount": "123456789012", + "SourceArn": "arn:aws:s3:::examplebucket/*", + "StatementId": "ID-1" + }, + "output": { + "Statement": "ID-1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds a permission for an S3 bucket to invoke a Lambda function.", + "id": "add-permission-1474651469455", + "title": "add-permission" + } + ], + "CreateFunction": [ + { + "input": { + "Code": { + }, + "Description": "", + "FunctionName": "MyFunction", + "Handler": "souce_file.handler_name", + "MemorySize": 128, + "Publish": true, + "Role": "arn:aws:iam::123456789012:role/service-role/role-name", + "Runtime": "nodejs4.3", + "Timeout": 15, + "VpcConfig": { + } + }, + "output": { + "CodeSha256": "", + "CodeSize": 123, + "Description": "", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:MyFunction", + "FunctionName": "MyFunction", + "Handler": "source_file.handler_name", + "LastModified": "2016-11-21T19:49:20.006+0000", + "MemorySize": 128, + "Role": "arn:aws:iam::123456789012:role/service-role/role-name", + "Runtime": "nodejs4.3", + "Timeout": 123, + "Version": "1", + "VpcConfig": { + } + }, + "comments": { + "input": { + "Handler": "is of the form of the name of your source file and then name of your function handler", + "Role": "replace with the actual arn of the execution role you created" + }, + "output": { + } + }, + "description": "This example creates a Lambda function.", + "id": "create-function-1474653449931", + "title": "create-function" + } + ], + "DeleteAlias": [ + { + "input": { + "FunctionName": "myFunction", + "Name": "alias" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation deletes a Lambda function alias", + "id": "to-delete-a-lambda-function-alias-1481660370804", + "title": "To delete a Lambda function alias" + } + ], + "DeleteEventSourceMapping": [ + { + "input": { + "UUID": "12345kxodurf3443" + }, + "output": { + "BatchSize": 123, + "EventSourceArn": "arn:aws:s3:::examplebucket/*", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "LastModified": "2016-11-21T19:49:20.006+0000", + "LastProcessingResult": "", + "State": "", + "StateTransitionReason": "", + "UUID": "12345kxodurf3443" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation deletes a Lambda function event source mapping", + "id": "to-delete-a-lambda-function-event-source-mapping-1481658973862", + "title": "To delete a Lambda function event source mapping" + } + ], + "DeleteFunction": [ + { + "input": { + "FunctionName": "myFunction", + "Qualifier": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation deletes a Lambda function", + "id": "to-delete-a-lambda-function-1481648553696", + "title": "To delete a Lambda function" + } + ], + "GetAccountSettings": [ + { + "input": { + }, + "output": { + "AccountLimit": { + }, + "AccountUsage": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation retrieves a Lambda customer's account settings", + "id": "to-retrieves-a-lambda-customers-account-settings-1481657495274", + "title": "To retrieves a Lambda customer's account settings" + } + ], + "GetAlias": [ + { + "input": { + "FunctionName": "myFunction", + "Name": "myFunctionAlias" + }, + "output": { + "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunctionAlias", + "Description": "", + "FunctionVersion": "1", + "Name": "myFunctionAlias" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation retrieves a Lambda function alias", + "id": "to-retrieve-a-lambda-function-alias-1481648742254", + "title": "To retrieve a Lambda function alias" + } + ], + "GetEventSourceMapping": [ + { + "input": { + "UUID": "123489-xxxxx-kdla8d89d7" + }, + "output": { + "BatchSize": 123, + "EventSourceArn": "arn:aws:iam::123456789012:eventsource", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "LastModified": "2016-11-21T19:49:20.006+0000", + "LastProcessingResult": "", + "State": "", + "StateTransitionReason": "", + "UUID": "123489-xxxxx-kdla8d89d7" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation retrieves a Lambda function's event source mapping", + "id": "to-retrieve-a-lambda-functions-event-source-mapping-1481661622799", + "title": "To retrieve a Lambda function's event source mapping" + } + ], + "GetFunction": [ + { + "input": { + "FunctionName": "myFunction", + "Qualifier": "1" + }, + "output": { + "Code": { + "Location": "somelocation", + "RepositoryType": "S3" + }, + "Configuration": { + "CodeSha256": "LQT+0DHxxxxcfwLyQjzoEFKZtdqQjHXanlSdfXBlEW0VA=", + "CodeSize": 262, + "Description": "A starter AWS Lambda function.", + "Environment": { + "Variables": { + "S3_BUCKET": "test" + } + }, + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "FunctionName": "myFunction", + "Handler": "index.handler", + "LastModified": "2016-11-21T19:49:20.006+0000", + "MemorySize": 128, + "Role": "arn:aws:iam::123456789012:role/lambda_basic_execution", + "Runtime": "nodejs4.3", + "Timeout": 3, + "Version": "$LATEST", + "VpcConfig": { + "SecurityGroupIds": [ + + ], + "SubnetIds": [ + + ] + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation retrieves a Lambda function's event source mapping", + "id": "to-retrieve-a-lambda-functions-event-source-mapping-1481661622799", + "title": "To retrieve a Lambda function's event source mapping" + } + ], + "GetFunctionConfiguration": [ + { + "input": { + "FunctionName": "myFunction", + "Qualifier": "1" + }, + "output": { + "CodeSha256": "LQT+0DHxxxxcfwLyQjzoEFKZtdqQjHXanlSdfXBlEW0VA=", + "CodeSize": 123, + "DeadLetterConfig": { + }, + "Description": "", + "Environment": { + }, + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "FunctionName": "myFunction", + "Handler": "index.handler", + "KMSKeyArn": "", + "LastModified": "2016-11-21T19:49:20.006+0000", + "MemorySize": 128, + "Role": "arn:aws:iam::123456789012:role/lambda_basic_execution", + "Runtime": "python2.7", + "Timeout": 123, + "Version": "1", + "VpcConfig": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation retrieves a Lambda function's event source mapping", + "id": "to-retrieve-a-lambda-functions-event-source-mapping-1481661622799", + "title": "To retrieve a Lambda function's event source mapping" + } + ], + "GetPolicy": [ + { + "input": { + "FunctionName": "myFunction", + "Qualifier": "1" + }, + "output": { + "Policy": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation retrieves a Lambda function policy", + "id": "to-retrieve-a-lambda-function-policy-1481649319053", + "title": "To retrieve a Lambda function policy" + } + ], + "Invoke": [ + { + "input": { + "ClientContext": "MyApp", + "FunctionName": "MyFunction", + "InvocationType": "Event", + "LogType": "Tail", + "Payload": "fileb://file-path/input.json", + "Qualifier": "1" + }, + "output": { + "FunctionError": "", + "LogResult": "", + "Payload": "?", + "StatusCode": 123 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation invokes a Lambda function", + "id": "to-invoke-a-lambda-function-1481659683915", + "title": "To invoke a Lambda function" + } + ], + "InvokeAsync": [ + { + "input": { + "FunctionName": "myFunction", + "InvokeArgs": "fileb://file-path/input.json" + }, + "output": { + "Status": 123 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation invokes a Lambda function asynchronously", + "id": "to-invoke-a-lambda-function-asynchronously-1481649694923", + "title": "To invoke a Lambda function asynchronously" + } + ], + "ListAliases": [ + { + "input": { + "FunctionName": "myFunction", + "FunctionVersion": "1", + "Marker": "", + "MaxItems": 123 + }, + "output": { + "Aliases": [ + + ], + "NextMarker": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation retrieves a Lambda function's aliases", + "id": "to-retrieve-a-lambda-function-aliases-1481650199732", + "title": "To retrieve a Lambda function aliases" + } + ], + "ListFunctions": [ + { + "input": { + "Marker": "", + "MaxItems": 123 + }, + "output": { + "Functions": [ + + ], + "NextMarker": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation retrieves a Lambda functions", + "id": "to-retrieve-a-list-of-lambda-functions-1481650507425", + "title": "To retrieve a list of Lambda functions" + } + ], + "ListVersionsByFunction": [ + { + "input": { + "FunctionName": "myFunction", + "Marker": "", + "MaxItems": 123 + }, + "output": { + "NextMarker": "", + "Versions": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation retrieves a Lambda function versions", + "id": "to-retrieve-a-list-of-lambda-function-versions-1481650603750", + "title": "To retrieve a list of Lambda function versions" + } + ], + "PublishVersion": [ + { + "input": { + "CodeSha256": "", + "Description": "", + "FunctionName": "myFunction" + }, + "output": { + "CodeSha256": "", + "CodeSize": 123, + "Description": "", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "FunctionName": "myFunction", + "Handler": "index.handler", + "LastModified": "2016-11-21T19:49:20.006+0000", + "MemorySize": 128, + "Role": "arn:aws:iam::123456789012:role/lambda_basic_execution", + "Runtime": "python2.7", + "Timeout": 123, + "Version": "1", + "VpcConfig": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation publishes a version of a Lambda function", + "id": "to-publish-a-version-of-a-lambda-function-1481650704986", + "title": "To publish a version of a Lambda function" + } + ], + "RemovePermission": [ + { + "input": { + "FunctionName": "myFunction", + "Qualifier": "1", + "StatementId": "role-statement-id" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation removes a Lambda function's permissions", + "id": "to-remove-a-lambda-functions-permissions-1481661337021", + "title": "To remove a Lambda function's permissions" + } + ], + "UpdateAlias": [ + { + "input": { + "Description": "", + "FunctionName": "myFunction", + "FunctionVersion": "1", + "Name": "functionAlias" + }, + "output": { + "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:functionAlias", + "Description": "", + "FunctionVersion": "1", + "Name": "functionAlias" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation updates a Lambda function alias", + "id": "to-update-a-lambda-function-alias-1481650817950", + "title": "To update a Lambda function alias" + } + ], + "UpdateEventSourceMapping": [ + { + "input": { + "BatchSize": 123, + "Enabled": true, + "FunctionName": "myFunction", + "UUID": "1234xCy789012" + }, + "output": { + "BatchSize": 123, + "EventSourceArn": "arn:aws:s3:::examplebucket/*", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "LastModified": "2016-11-21T19:49:20.006+0000", + "LastProcessingResult": "", + "State": "", + "StateTransitionReason": "", + "UUID": "1234xCy789012" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation updates a Lambda function event source mapping", + "id": "to-update-a-lambda-function-event-source-mapping-1481650907413", + "title": "To update a Lambda function event source mapping" + } + ], + "UpdateFunctionCode": [ + { + "input": { + "FunctionName": "myFunction", + "Publish": true, + "S3Bucket": "myBucket", + "S3Key": "myKey", + "S3ObjectVersion": "1", + "ZipFile": "fileb://file-path/file.zip" + }, + "output": { + "CodeSha256": "LQT+0DHxxxxcfwLyQjzoEFKZtdqQjHXanlSdfXBlEW0VA=", + "CodeSize": 123, + "Description": "", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "FunctionName": "myFunction", + "Handler": "index.handler", + "LastModified": "2016-11-21T19:49:20.006+0000", + "MemorySize": 128, + "Role": "arn:aws:iam::123456789012:role/lambda_basic_execution", + "Runtime": "python2.7", + "Timeout": 123, + "Version": "1", + "VpcConfig": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation updates a Lambda function's code", + "id": "to-update-a-lambda-functions-code-1481650992672", + "title": "To update a Lambda function's code" + } + ], + "UpdateFunctionConfiguration": [ + { + "input": { + "Description": "", + "FunctionName": "myFunction", + "Handler": "index.handler", + "MemorySize": 128, + "Role": "arn:aws:iam::123456789012:role/lambda_basic_execution", + "Runtime": "python2.7", + "Timeout": 123, + "VpcConfig": { + } + }, + "output": { + "CodeSha256": "LQT+0DHxxxxcfwLyQjzoEFKZtdqQjHXanlSdfXBlEW0VA=", + "CodeSize": 123, + "Description": "", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "FunctionName": "myFunction", + "Handler": "index.handler", + "LastModified": "2016-11-21T19:49:20.006+0000", + "MemorySize": 128, + "Role": "arn:aws:iam::123456789012:role/lambda_basic_execution", + "Runtime": "python2.7", + "Timeout": 123, + "Version": "1", + "VpcConfig": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation updates a Lambda function's configuration", + "id": "to-update-a-lambda-functions-configuration-1481651096447", + "title": "To update a Lambda function's configuration" + } + ] + } +} diff --git a/botocore/data/lambda/2015-03-31/service-2.json b/botocore/data/lambda/2015-03-31/service-2.json index 49ac83ed..ba779306 100644 --- a/botocore/data/lambda/2015-03-31/service-2.json +++ b/botocore/data/lambda/2015-03-31/service-2.json @@ -62,7 +62,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Identifies a stream as an event source for a Lambda function. It can be either an Amazon Kinesis stream or an Amazon DynamoDB stream. AWS Lambda invokes the specified function when records are posted to the stream.

This association between a stream source and a Lambda function is called the event source mapping.

This event source mapping is relevant only in the AWS Lambda pull model, where AWS Lambda invokes the function. For more information, see AWS Lambda: How it Works in the AWS Lambda Developer Guide.

You provide mapping information (for example, which stream to read from and which Lambda function to invoke) in the request body.

Each event source, such as an Amazon Kinesis or a DynamoDB stream, can be associated with multiple AWS Lambda function. A given Lambda function can be associated with multiple AWS event sources.

If you are using versioning, you can specify a specific function version or an alias via the function name parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:CreateEventSourceMapping action.

" + "documentation":"

Identifies a stream as an event source for a Lambda function. It can be either an Amazon Kinesis stream or an Amazon DynamoDB stream. AWS Lambda invokes the specified function when records are posted to the stream.

This association between a stream source and a Lambda function is called the event source mapping.

This event source mapping is relevant only in the AWS Lambda pull model, where AWS Lambda invokes the function. For more information, see AWS Lambda: How it Works in the AWS Lambda Developer Guide.

You provide mapping information (for example, which stream to read from and which Lambda function to invoke) in the request body.

Each event source, such as an Amazon Kinesis or a DynamoDB stream, can be associated with multiple AWS Lambda function. A given Lambda function can be associated with multiple AWS event sources.

If you are using versioning, you can specify a specific function version or an alias via the function name parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:CreateEventSourceMapping action.

" }, "CreateFunction":{ "name":"CreateFunction", @@ -230,7 +230,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Returns the resource policy associated with the specified Lambda function.

If you are using the versioning feature, you can get the resource policy associated with the specific Lambda function version or alias by specifying the version or alias name using the Qualifier parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

For information about adding permissions, see AddPermission.

You need permission for the lambda:GetPolicy action.

" + "documentation":"

Returns the resource policy associated with the specified Lambda function.

If you are using the versioning feature, you can get the resource policy associated with the specific Lambda function version or alias by specifying the version or alias name using the Qualifier parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

You need permission for the lambda:GetPolicy action.

" }, "Invoke":{ "name":"Invoke", @@ -259,7 +259,8 @@ {"shape":"KMSDisabledException"}, {"shape":"KMSInvalidStateException"}, {"shape":"KMSAccessDeniedException"}, - {"shape":"KMSNotFoundException"} + {"shape":"KMSNotFoundException"}, + {"shape":"InvalidRuntimeException"} ], "documentation":"

Invokes a specific Lambda function. For an example, see Create the Lambda Function and Test It Manually.

If you are using the versioning feature, you can invoke the specific function version by providing function version or alias name that is pointing to the function version using the Qualifier parameter in the request. If you don't provide the Qualifier parameter, the $LATEST version of the Lambda function is invoked. Invocations occur at least once in response to an event and functions must be idempotent to handle this. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:InvokeFunction action.

" }, @@ -275,9 +276,10 @@ "errors":[ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestContentException"} + {"shape":"InvalidRequestContentException"}, + {"shape":"InvalidRuntimeException"} ], - "documentation":"

This API is deprecated. We recommend you use Invoke API (see Invoke).

Submits an invocation request to AWS Lambda. Upon receiving the request, Lambda executes the specified function asynchronously. To see the logs generated by the Lambda function execution, see the CloudWatch Logs console.

This operation requires permission for the lambda:InvokeFunction action.

", + "documentation":"

This API is deprecated. We recommend you use Invoke API (see Invoke).

Submits an invocation request to AWS Lambda. Upon receiving the request, Lambda executes the specified function asynchronously. To see the logs generated by the Lambda function execution, see the CloudWatch Logs console.

This operation requires permission for the lambda:InvokeFunction action.

", "deprecated":true }, "ListAliases":{ @@ -329,6 +331,22 @@ ], "documentation":"

Returns a list of your Lambda functions. For each function, the response includes the function configuration information. You must use GetFunction to retrieve the code for your function.

This operation requires permission for the lambda:ListFunctions action.

If you are using versioning feature, the response returns list of $LATEST versions of your functions. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

" }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"GET", + "requestUri":"/2017-03-31/tags/{ARN}" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Returns a list of tags assigned to a function when supplied the function ARN (Amazon Resource Name).

" + }, "ListVersionsByFunction":{ "name":"ListVersionsByFunction", "http":{ @@ -380,6 +398,38 @@ ], "documentation":"

You can remove individual permissions from an resource policy associated with a Lambda function by providing a statement ID that you provided when you added the permission.

If you are using versioning, the permissions you remove are specific to the Lambda function version or alias you specify in the AddPermission request via the Qualifier parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

Note that removal of a permission will cause an active event source to lose permission to the function.

You need permission for the lambda:RemovePermission action.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/2017-03-31/tags/{ARN}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates a list of tags (key-value pairs) on the Lambda function. Requires the Lambda function ARN (Amazon Resource Name). If a key is specified without a value, Lambda creates a tag with the specified key and a value of null.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/2017-03-31/tags/{ARN}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Removes tags from a Lambda function. Requires the function ARN (Amazon Resource Name).

" + }, "UpdateAlias":{ "name":"UpdateAlias", "http":{ @@ -446,7 +496,8 @@ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceConflictException"} ], "documentation":"

Updates the configuration parameters for the specified Lambda function by using the values provided in the request. You provide only the parameters you want to change. This operation must only be used on an existing Lambda function and cannot be used to update the function's code.

If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda function. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:UpdateFunctionConfiguration action.

" } @@ -457,7 +508,7 @@ "members":{ "TotalCodeSize":{ "shape":"Long", - "documentation":"

Maximum size, in megabytes, of a code package you can upload per region. The default size is 75 GB.

" + "documentation":"

Maximum size, in bytes, of a code package you can upload per region. The default size is 75 GB.

" }, "CodeSizeUnzipped":{ "shape":"Long", @@ -503,7 +554,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Name of the Lambda function whose resource policy you are updating by adding a new permission.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

Name of the Lambda function whose resource policy you are updating by adding a new permission.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -521,11 +572,11 @@ }, "SourceArn":{ "shape":"Arn", - "documentation":"

This is optional; however, when granting Amazon S3 permission to invoke your function, you should specify this field with the Amazon Resource Name (ARN) as its value. This ensures that only events generated from the specified source can invoke the function.

If you add a permission for the Amazon S3 principal without providing the source ARN, any AWS account that creates a mapping to your function ARN can send events to invoke your Lambda function from Amazon S3.

" + "documentation":"

This is optional; however, when granting permission to invoke your function, you should specify this field with the Amazon Resource Name (ARN) as its value. This ensures that only events generated from the specified source can invoke the function.

If you add a permission without providing the source ARN, any AWS account that creates a mapping to your function ARN can send events to invoke your Lambda function.

" }, "SourceAccount":{ "shape":"SourceOwner", - "documentation":"

This parameter is used for S3, SES, CloudWatch Logs and CloudWatch Rules only. The AWS account ID (without a hyphen) of the source owner. For example, if the SourceArn identifies a bucket, then this is the bucket owner's account ID. You can use this additional condition to ensure the bucket you specify is owned by a specific account (it is possible the bucket owner deleted the bucket and some other AWS account created the bucket). You can also use this condition to specify all sources (that is, you don't specify the SourceArn) owned by a specific account.

" + "documentation":"

This parameter is used for S3 and SES. The AWS account ID (without a hyphen) of the source owner. For example, if the SourceArn identifies a bucket, then this is the bucket owner's account ID. You can use this additional condition to ensure the bucket you specify is owned by a specific account (it is possible the bucket owner deleted the bucket and some other AWS account created the bucket). You can also use this condition to specify all sources (that is, you don't specify the SourceArn) owned by a specific account.

" }, "EventSourceToken":{ "shape":"EventSourceToken", @@ -623,7 +674,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Name of the Lambda function for which you want to create an alias.

", + "documentation":"

Name of the Lambda function for which you want to create an alias. Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -655,7 +706,7 @@ }, "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function to invoke when AWS Lambda detects an event on the stream.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail).

If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). For more information about versioning, see AWS Lambda Function Versioning and Aliases

AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail).

Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

" + "documentation":"

The Lambda function to invoke when AWS Lambda detects an event on the stream.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail).

If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). For more information about versioning, see AWS Lambda Function Versioning and Aliases

AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail).

Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

" }, "Enabled":{ "shape":"Enabled", @@ -688,11 +739,11 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name you want to assign to the function you are uploading. The function names appear in the console and are returned in the ListFunctions API. Function names are used to specify functions to other AWS Lambda API operations, such as Invoke.

" + "documentation":"

The name you want to assign to the function you are uploading. The function names appear in the console and are returned in the ListFunctions API. Function names are used to specify functions to other AWS Lambda API operations, such as Invoke. Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

" }, "Runtime":{ "shape":"Runtime", - "documentation":"

The runtime environment for the Lambda function you are uploading.

To use the Node.js runtime v4.3, set the value to \"nodejs4.3\". To use earlier runtime (v0.10.42), set the value to \"nodejs\".

You can no longer create functions using the v0.10.42 runtime version as of November, 2016. Existing functions will be supported until early 2017, but we recommend you migrate them to nodejs4.3 runtime version as soon as possible.

" + "documentation":"

The runtime environment for the Lambda function you are uploading.

To use the Python runtime v3.6, set the value to \"python3.6\". To use the Python runtime v2.7, set the value to \"python2.7\". To use the Node.js runtime v6.10, set the value to \"nodejs6.10\". To use the Node.js runtime v4.3, set the value to \"nodejs4.3\".

Node v0.10.42 is currently marked as deprecated. You must migrate existing functions to the newer Node.js runtime versions available on AWS Lambda (nodejs4.3 or nodejs6.10) as soon as possible. You can request a one-time extension until June 30, 2017 by going to the Lambda console and following the instructions provided. Failure to do so will result in an invalid parmaeter error being returned. Note that you will have to follow this procedure for each region that contains functions written in the Node v0.10.42 runtime.

" }, "Role":{ "shape":"RoleArn", @@ -728,12 +779,20 @@ }, "DeadLetterConfig":{ "shape":"DeadLetterConfig", - "documentation":"

The parent object that contains the target Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

" + "documentation":"

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic.

" }, "Environment":{"shape":"Environment"}, "KMSKeyArn":{ "shape":"KMSKeyArn", "documentation":"

The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables. If not provided, AWS Lambda will use a default service key.

" + }, + "TracingConfig":{ + "shape":"TracingConfig", + "documentation":"

The parent object that contains your function's tracing settings.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The list of tags (key-value pairs) assigned to the new function.

" } }, "documentation":"

" @@ -747,7 +806,7 @@ "documentation":"

The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic you specify as your Dead Letter Queue (DLQ).

" } }, - "documentation":"

The parent object that contains the target Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

" + "documentation":"

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic.

" }, "DeleteAliasRequest":{ "type":"structure", @@ -758,7 +817,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function name for which the alias is created. Deleting an alias does not delete the function version to which it is pointing.

", + "documentation":"

The Lambda function name for which the alias is created. Deleting an alias does not delete the function version to which it is pointing. Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -789,7 +848,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function to delete.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The Lambda function to delete.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -853,7 +912,7 @@ "members":{ "Variables":{ "shape":"EnvironmentVariables", - "documentation":"

The key-value pairs that represent your environment's configuration settings. The value you specify cannot contain a \",\".

" + "documentation":"

The key-value pairs that represent your environment's configuration settings.

" } }, "documentation":"

The parent object that contains your environment's configuration settings.

" @@ -890,7 +949,6 @@ }, "EnvironmentVariableValue":{ "type":"string", - "pattern":"[^,]*", "sensitive":true }, "EnvironmentVariables":{ @@ -1000,7 +1058,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the function.

" + "documentation":"

The name of the function. Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

" }, "FunctionArn":{ "shape":"FunctionArn", @@ -1008,7 +1066,7 @@ }, "Runtime":{ "shape":"Runtime", - "documentation":"

The runtime environment for the Lambda function.

To use the Node.js runtime v4.3, set the value to \"nodejs4.3\". To use earlier runtime (v0.10.42), set the value to \"nodejs\".

" + "documentation":"

The runtime environment for the Lambda function.

" }, "Role":{ "shape":"RoleArn", @@ -1036,7 +1094,7 @@ }, "LastModified":{ "shape":"Timestamp", - "documentation":"

The time stamp of the last time you updated the function.

" + "documentation":"

The time stamp of the last time you updated the function. The time stamp is conveyed as a string complying with ISO-8601 in this way YYYY-MM-DDThh:mm:ssTZD (e.g., 1997-07-16T19:20:30+01:00). For more information, see Date and Time Formats.

" }, "CodeSha256":{ "shape":"String", @@ -1052,7 +1110,7 @@ }, "DeadLetterConfig":{ "shape":"DeadLetterConfig", - "documentation":"

The parent object that contains the target Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

" + "documentation":"

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic.

" }, "Environment":{ "shape":"EnvironmentResponse", @@ -1061,6 +1119,10 @@ "KMSKeyArn":{ "shape":"KMSKeyArn", "documentation":"

The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables. If empty, it means you are using the AWS Lambda default service key.

" + }, + "TracingConfig":{ + "shape":"TracingConfigResponse", + "documentation":"

The parent object that contains your function's tracing settings.

" } }, "documentation":"

A complex type that describes function metadata.

" @@ -1096,7 +1158,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Function name for which the alias is created. An alias is a subresource that exists only in the context of an existing Lambda function so you must specify the function name.

", + "documentation":"

Function name for which the alias is created. An alias is a subresource that exists only in the context of an existing Lambda function so you must specify the function name. Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1127,7 +1189,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function for which you want to retrieve the configuration information.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function for which you want to retrieve the configuration information.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1146,7 +1208,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function name.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The Lambda function name.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1163,7 +1225,11 @@ "type":"structure", "members":{ "Configuration":{"shape":"FunctionConfiguration"}, - "Code":{"shape":"FunctionCodeLocation"} + "Code":{"shape":"FunctionCodeLocation"}, + "Tags":{ + "shape":"Tags", + "documentation":"

Returns the list of tags associated with the function.

" + } }, "documentation":"

This response contains the object for the Lambda function location (see FunctionCodeLocation.

" }, @@ -1173,7 +1239,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Function name whose resource policy you want to retrieve.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

Function name whose resource policy you want to retrieve.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1215,7 +1281,7 @@ "documentation":"

" } }, - "documentation":"

One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

", + "documentation":"

One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception. You will also get this exception if you have selected a deprecated runtime, such as Node v0.10.42.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -1235,6 +1301,16 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InvalidRuntimeException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

The runtime or runtime version specified is not supported.

", + "error":{"httpStatusCode":502}, + "exception":true + }, "InvalidSecurityGroupIDException":{ "type":"structure", "members":{ @@ -1271,7 +1347,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function name.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The Lambda function name.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1312,7 +1388,7 @@ "members":{ "StatusCode":{ "shape":"Integer", - "documentation":"

The HTTP status code will be in the 200 range for successful request. For the RequestResonse invocation type this status code will be 200. For the Event invocation type this status code will be 202. For the DryRun invocation type the status code will be 204.

", + "documentation":"

The HTTP status code will be in the 200 range for successful request. For the RequestResponse invocation type this status code will be 200. For the Event invocation type this status code will be 202. For the DryRun invocation type the status code will be 204.

", "location":"statusCode" }, "FunctionError":{ @@ -1352,7 +1428,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function name.

", + "documentation":"

The Lambda function name. Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1427,7 +1503,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Lambda function name for which the alias is created.

", + "documentation":"

Lambda function name for which the alias is created. Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1475,7 +1551,7 @@ }, "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"querystring", "locationName":"FunctionName" }, @@ -1540,13 +1616,34 @@ }, "documentation":"

Contains a list of AWS Lambda function configurations (see FunctionConfiguration.

" }, + "ListTagsRequest":{ + "type":"structure", + "required":["Resource"], + "members":{ + "Resource":{ + "shape":"FunctionArn", + "documentation":"

The ARN (Amazon Resource Name) of the function.

", + "location":"uri", + "locationName":"ARN" + } + } + }, + "ListTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The list of tags assigned to the function.

" + } + } + }, "ListVersionsByFunctionRequest":{ "type":"structure", "required":["FunctionName"], "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Function name whose versions to list. You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

Function name whose versions to list. You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1617,7 +1714,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function name. You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The Lambda function name. You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1647,7 +1744,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Lambda function whose resource policy you want to remove a permission from.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

Lambda function whose resource policy you want to remove a permission from.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1715,8 +1812,10 @@ "enum":[ "nodejs", "nodejs4.3", + "nodejs6.10", "java8", "python2.7", + "python3.6", "dotnetcore1.0", "nodejs4.3-edge" ] @@ -1784,6 +1883,36 @@ "member":{"shape":"SubnetId"}, "max":16 }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "Resource", + "Tags" + ], + "members":{ + "Resource":{ + "shape":"FunctionArn", + "documentation":"

The ARN (Amazon Resource Name) of the Lambda function.

", + "location":"uri", + "locationName":"ARN" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The list of tags (key-value pairs) you are assigning to the Lambda function.

" + } + } + }, + "TagValue":{"type":"string"}, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, "ThrottleReason":{ "type":"string", "enum":[ @@ -1814,6 +1943,33 @@ "error":{"httpStatusCode":429}, "exception":true }, + "TracingConfig":{ + "type":"structure", + "members":{ + "Mode":{ + "shape":"TracingMode", + "documentation":"

Can be either PassThrough or Active. If PassThrough, Lambda will only trace the request from an upstream service if it contains a tracing header with \"sampled=1\". If Active, Lambda will respect any tracing header it receives from an upstream service. If no tracing header is received, Lambda will call X-Ray for a tracing decision.

" + } + }, + "documentation":"

The parent object that contains your function's tracing settings.

" + }, + "TracingConfigResponse":{ + "type":"structure", + "members":{ + "Mode":{ + "shape":"TracingMode", + "documentation":"

The tracing mode associated with your Lambda function.

" + } + }, + "documentation":"

Parent object of the tracing information associated with your Lambda function.

" + }, + "TracingMode":{ + "type":"string", + "enum":[ + "Active", + "PassThrough" + ] + }, "UnsupportedMediaTypeException":{ "type":"structure", "members":{ @@ -1824,6 +1980,27 @@ "error":{"httpStatusCode":415}, "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "Resource", + "TagKeys" + ], + "members":{ + "Resource":{ + "shape":"FunctionArn", + "documentation":"

The ARN (Amazon Resource Name) of the function.

", + "location":"uri", + "locationName":"ARN" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of tag keys to be deleted from the function.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, "UpdateAliasRequest":{ "type":"structure", "required":[ @@ -1833,7 +2010,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The function name for which the alias is created.

", + "documentation":"

The function name for which the alias is created. Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1865,7 +2042,7 @@ }, "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function to which you want the stream records sent.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail).

If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). For more information about versioning, see AWS Lambda Function Versioning and Aliases

Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

" + "documentation":"

The Lambda function to which you want the stream records sent.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). For more information about versioning, see AWS Lambda Function Versioning and Aliases

Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

" }, "Enabled":{ "shape":"Enabled", @@ -1884,7 +2061,7 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The existing Lambda function name whose code you want to replace.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The existing Lambda function name whose code you want to replace.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, @@ -1907,6 +2084,10 @@ "Publish":{ "shape":"Boolean", "documentation":"

This boolean parameter can be used to request AWS Lambda to update the Lambda function and publish a version as an atomic operation.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

This boolean parameter can be used to test your request to AWS Lambda to update the Lambda function and publish a version as an atomic operation. It will do all necessary computation and validation of your code but will not upload it or a publish a version. Each time this operation is invoked, the CodeSha256 hash value the provided code will also be computed and returned in the response.

" } }, "documentation":"

" @@ -1948,15 +2129,19 @@ }, "Runtime":{ "shape":"Runtime", - "documentation":"

The runtime environment for the Lambda function.

To use the Node.js runtime v4.3, set the value to \"nodejs4.3\". To use earlier runtime (v0.10.42), set the value to \"nodejs\".

You can no longer downgrade to the v0.10.42 runtime version. This version will no longer be supported as of early 2017.

" + "documentation":"

The runtime environment for the Lambda function.

To use the Python runtime v3.6, set the value to \"python3.6\". To use the Python runtime v2.7, set the value to \"python2.7\". To use the Node.js runtime v6.10, set the value to \"nodejs6.10\". To use the Node.js runtime v4.3, set the value to \"nodejs4.3\". To use the Python runtime v3.6, set the value to \"python3.6\". To use the Python runtime v2.7, set the value to \"python2.7\".

Node v0.10.42 is currently marked as deprecated. You must migrate existing functions to the newer Node.js runtime versions available on AWS Lambda (nodejs4.3 or nodejs6.10) as soon as possible. You can request a one-time extension until June 30, 2017 by going to the Lambda console and following the instructions provided. Failure to do so will result in an invalid parameter value error being returned. Note that you will have to follow this procedure for each region that contains functions written in the Node v0.10.42 runtime.

" }, "DeadLetterConfig":{ "shape":"DeadLetterConfig", - "documentation":"

The parent object that contains the target Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

" + "documentation":"

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic.

" }, "KMSKeyArn":{ "shape":"KMSKeyArn", "documentation":"

The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables. If you elect to use the AWS Lambda default service key, pass in an empty string (\"\") for this parameter.

" + }, + "TracingConfig":{ + "shape":"TracingConfig", + "documentation":"

The parent object that contains your function's tracing settings.

" } }, "documentation":"

" diff --git a/botocore/data/lex-models/2017-04-19/paginators-1.json b/botocore/data/lex-models/2017-04-19/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/lex-models/2017-04-19/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/lex-models/2017-04-19/service-2.json b/botocore/data/lex-models/2017-04-19/service-2.json new file mode 100644 index 00000000..d389475f --- /dev/null +++ b/botocore/data/lex-models/2017-04-19/service-2.json @@ -0,0 +1,2936 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-04-19", + "endpointPrefix":"models.lex", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Lex Model Building Service", + "signatureVersion":"v4", + "signingName":"lex", + "uid":"lex-models-2017-04-19" + }, + "operations":{ + "CreateBotVersion":{ + "name":"CreateBotVersion", + "http":{ + "method":"POST", + "requestUri":"/bots/{name}/versions", + "responseCode":201 + }, + "input":{"shape":"CreateBotVersionRequest"}, + "output":{"shape":"CreateBotVersionResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates a new version of the bot based on the $LATEST version. If the $LATEST version of this resource hasn't changed since you created the last version, Amazon Lex doesn't create a new version. It returns the last created version.

You can update only the $LATEST version of the bot. You can't update the numbered versions that you create with the CreateBotVersion operation.

When you create the first version of a bot, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permission for the lex:CreateBotVersion action.

" + }, + "CreateIntentVersion":{ + "name":"CreateIntentVersion", + "http":{ + "method":"POST", + "requestUri":"/intents/{name}/versions", + "responseCode":201 + }, + "input":{"shape":"CreateIntentVersionRequest"}, + "output":{"shape":"CreateIntentVersionResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates a new version of an intent based on the $LATEST version of the intent. If the $LATEST version of this intent hasn't changed since you last updated it, Amazon Lex doesn't create a new version. It returns the last version you created.

You can update only the $LATEST version of the intent. You can't update the numbered versions that you create with the CreateIntentVersion operation.

When you create a version of an intent, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permissions to perform the lex:CreateIntentVersion action.

" + }, + "CreateSlotTypeVersion":{ + "name":"CreateSlotTypeVersion", + "http":{ + "method":"POST", + "requestUri":"/slottypes/{name}/versions", + "responseCode":201 + }, + "input":{"shape":"CreateSlotTypeVersionRequest"}, + "output":{"shape":"CreateSlotTypeVersionResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates a new version of a slot type based on the $LATEST version of the specified slot type. If the $LATEST version of this resource has not changed since the last version that you created, Amazon Lex doesn't create a new version. It returns the last version that you created.

You can update only the $LATEST version of a slot type. You can't update the numbered versions that you create with the CreateSlotTypeVersion operation.

When you create a version of a slot type, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permissions for the lex:CreateSlotTypeVersion action.

" + }, + "DeleteBot":{ + "name":"DeleteBot", + "http":{ + "method":"DELETE", + "requestUri":"/bots/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteBotRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes all versions of the bot, including the $LATEST version. To delete a specific version of the bot, use the operation.

If a bot has an alias, you can't delete it. Instead, the DeleteBot operation returns a ResourceInUseException exception that includes a reference to the alias that refers to the bot. To remove the reference to the bot, delete the alias. If you get the same exception again, delete the referring alias until the DeleteBot operation is successful.

This operation requires permissions for the lex:DeleteBot action.

" + }, + "DeleteBotAlias":{ + "name":"DeleteBotAlias", + "http":{ + "method":"DELETE", + "requestUri":"/bots/{botName}/aliases/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteBotAliasRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes an alias for the specified bot.

You can't delete an alias that is used in the association between a bot and a messaging channel. If an alias is used in a channel association, the DeleteBot operation returns a ResourceInUseException exception that includes a reference to the channel association that refers to the bot. You can remove the reference to the alias by deleting the channel association. If you get the same exception again, delete the referring association until the DeleteBotAlias operation is successful.

" + }, + "DeleteBotChannelAssociation":{ + "name":"DeleteBotChannelAssociation", + "http":{ + "method":"DELETE", + "requestUri":"/bots/{botName}/aliases/{aliasName}/channels/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteBotChannelAssociationRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Deletes the association between an Amazon Lex bot and a messaging platform.

This operation requires permission for the lex:DeleteBotChannelAssociation action.

" + }, + "DeleteBotVersion":{ + "name":"DeleteBotVersion", + "http":{ + "method":"DELETE", + "requestUri":"/bots/{name}/versions/{version}", + "responseCode":204 + }, + "input":{"shape":"DeleteBotVersionRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a specific version of a bot. To delete all versions of a bot, use the operation.

This operation requires permissions for the lex:DeleteBotVersion action.

" + }, + "DeleteIntent":{ + "name":"DeleteIntent", + "http":{ + "method":"DELETE", + "requestUri":"/intents/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteIntentRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes all versions of the intent, including the $LATEST version. To delete a specific version of the intent, use the operation.

You can delete a version of an intent only if it is not referenced. To delete an intent that is referred to in one or more bots (see how-it-works), you must remove those references first.

If you get the ResourceInUseException exception, it provides an example reference that shows where the intent is referenced. To remove the reference to the intent, either update the bot or delete it. If you get the same exception when you attempt to delete the intent again, repeat until the intent has no references and the call to DeleteIntent is successful.

This operation requires permission for the lex:DeleteIntent action.

" + }, + "DeleteIntentVersion":{ + "name":"DeleteIntentVersion", + "http":{ + "method":"DELETE", + "requestUri":"/intents/{name}/versions/{version}", + "responseCode":204 + }, + "input":{"shape":"DeleteIntentVersionRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a specific version of an intent. To delete all versions of a intent, use the operation.

This operation requires permissions for the lex:DeleteIntentVersion action.

" + }, + "DeleteSlotType":{ + "name":"DeleteSlotType", + "http":{ + "method":"DELETE", + "requestUri":"/slottypes/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteSlotTypeRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes all versions of the slot type, including the $LATEST version. To delete a specific version of the slot type, use the operation.

You can delete a version of a slot type only if it is not referenced. To delete a slot type that is referred to in one or more intents, you must remove those references first.

If you get the ResourceInUseException exception, the exception provides an example reference that shows the intent where the slot type is referenced. To remove the reference to the slot type, either update the intent or delete it. If you get the same exception when you attempt to delete the slot type again, repeat until the slot type has no references and the DeleteSlotType call is successful.

This operation requires permission for the lex:DeleteSlotType action.

" + }, + "DeleteSlotTypeVersion":{ + "name":"DeleteSlotTypeVersion", + "http":{ + "method":"DELETE", + "requestUri":"/slottypes/{name}/version/{version}", + "responseCode":204 + }, + "input":{"shape":"DeleteSlotTypeVersionRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a specific version of a slot type. To delete all versions of a slot type, use the operation.

This operation requires permissions for the lex:DeleteSlotTypeVersion action.

" + }, + "DeleteUtterances":{ + "name":"DeleteUtterances", + "http":{ + "method":"DELETE", + "requestUri":"/bots/{botName}/utterances/{userId}", + "responseCode":204 + }, + "input":{"shape":"DeleteUtterancesRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Deletes stored utterances.

Amazon Lex stores the utterances that users send to your bot unless the childDirected field in the bot is set to true. Utterances are stored for 15 days for use with the operation, and then stored indefinately for use in improving the ability of your bot to respond to user input.

Use the DeleteStoredUtterances operation to manually delete stored utterances for a specific user.

This operation requires permissions for the lex:DeleteUtterances action.

" + }, + "GetBot":{ + "name":"GetBot", + "http":{ + "method":"GET", + "requestUri":"/bots/{name}/versions/{versionoralias}", + "responseCode":200 + }, + "input":{"shape":"GetBotRequest"}, + "output":{"shape":"GetBotResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns metadata information for a specific bot. You must provide the bot name and the bot version or alias.

The GetBot operation requires permissions for the lex:GetBot action.

" + }, + "GetBotAlias":{ + "name":"GetBotAlias", + "http":{ + "method":"GET", + "requestUri":"/bots/{botName}/aliases/{name}", + "responseCode":200 + }, + "input":{"shape":"GetBotAliasRequest"}, + "output":{"shape":"GetBotAliasResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns information about an Amazon Lex bot alias. For more information about aliases, see versioning-aliases.

This operation requires permissions for the lex:GetBotAlias action.

" + }, + "GetBotAliases":{ + "name":"GetBotAliases", + "http":{ + "method":"GET", + "requestUri":"/bots/{botName}/aliases/", + "responseCode":200 + }, + "input":{"shape":"GetBotAliasesRequest"}, + "output":{"shape":"GetBotAliasesResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns a list of aliases for a specified Amazon Lex bot.

This operation requires permissions for the lex:GetBotAliases action.

" + }, + "GetBotChannelAssociation":{ + "name":"GetBotChannelAssociation", + "http":{ + "method":"GET", + "requestUri":"/bots/{botName}/aliases/{aliasName}/channels/{name}", + "responseCode":200 + }, + "input":{"shape":"GetBotChannelAssociationRequest"}, + "output":{"shape":"GetBotChannelAssociationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns information about the association between an Amazon Lex bot and a messaging platform.

This operation requires permissions for the lex:GetBotChannelAssociation action.

" + }, + "GetBotChannelAssociations":{ + "name":"GetBotChannelAssociations", + "http":{ + "method":"GET", + "requestUri":"/bots/{botName}/aliases/{aliasName}/channels/", + "responseCode":200 + }, + "input":{"shape":"GetBotChannelAssociationsRequest"}, + "output":{"shape":"GetBotChannelAssociationsResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns a list of all of the channels associated with the specified bot.

The GetBotChannelAssociations operation requires permissions for the lex:GetBotChannelAssociations action.

" + }, + "GetBotVersions":{ + "name":"GetBotVersions", + "http":{ + "method":"GET", + "requestUri":"/bots/{name}/versions/", + "responseCode":200 + }, + "input":{"shape":"GetBotVersionsRequest"}, + "output":{"shape":"GetBotVersionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets information about all of the versions of a bot.

The GetBotVersions operation returns a BotMetadata object for each version of a bot. For example, if a bot has three numbered versions, the GetBotVersions operation returns four BotMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetBotVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetBotVersions action.

" + }, + "GetBots":{ + "name":"GetBots", + "http":{ + "method":"GET", + "requestUri":"/bots/", + "responseCode":200 + }, + "input":{"shape":"GetBotsRequest"}, + "output":{"shape":"GetBotsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns bot information as follows:

  • If you provide the nameContains field, the response includes information for the $LATEST version of all bots whose name contains the specified string.

  • If you don't specify the nameContains field, the operation returns information about the $LATEST version of all of your bots.

This operation requires permission for the lex:GetBots action.

" + }, + "GetBuiltinIntent":{ + "name":"GetBuiltinIntent", + "http":{ + "method":"GET", + "requestUri":"/builtins/intents/{signature}", + "responseCode":200 + }, + "input":{"shape":"GetBuiltinIntentRequest"}, + "output":{"shape":"GetBuiltinIntentResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns information about a built-in intent.

This operation requires permission for the lex:GetBuiltinIntent action.

" + }, + "GetBuiltinIntents":{ + "name":"GetBuiltinIntents", + "http":{ + "method":"GET", + "requestUri":"/builtins/intents/", + "responseCode":200 + }, + "input":{"shape":"GetBuiltinIntentsRequest"}, + "output":{"shape":"GetBuiltinIntentsResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets a list of built-in intents that meet the specified criteria.

This operation requires permission for the lex:GetBuiltinIntents action.

" + }, + "GetBuiltinSlotTypes":{ + "name":"GetBuiltinSlotTypes", + "http":{ + "method":"GET", + "requestUri":"/builtins/slottypes/", + "responseCode":200 + }, + "input":{"shape":"GetBuiltinSlotTypesRequest"}, + "output":{"shape":"GetBuiltinSlotTypesResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets a list of built-in slot types that meet the specified criteria.

For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

This operation requires permission for the lex:GetBuiltInSlotTypes action.

" + }, + "GetIntent":{ + "name":"GetIntent", + "http":{ + "method":"GET", + "requestUri":"/intents/{name}/versions/{version}", + "responseCode":200 + }, + "input":{"shape":"GetIntentRequest"}, + "output":{"shape":"GetIntentResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns information about an intent. In addition to the intent name, you must specify the intent version.

This operation requires permissions to perform the lex:GetIntent action.

" + }, + "GetIntentVersions":{ + "name":"GetIntentVersions", + "http":{ + "method":"GET", + "requestUri":"/intents/{name}/versions/", + "responseCode":200 + }, + "input":{"shape":"GetIntentVersionsRequest"}, + "output":{"shape":"GetIntentVersionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets information about all of the versions of an intent.

The GetIntentVersions operation returns an IntentMetadata object for each version of an intent. For example, if an intent has three numbered versions, the GetIntentVersions operation returns four IntentMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetIntentVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetIntentVersions action.

" + }, + "GetIntents":{ + "name":"GetIntents", + "http":{ + "method":"GET", + "requestUri":"/intents/", + "responseCode":200 + }, + "input":{"shape":"GetIntentsRequest"}, + "output":{"shape":"GetIntentsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns intent information as follows:

  • If you specify the nameContains field, returns the $LATEST version of all intents that contain the specified string.

  • If you don't specify the nameContains field, returns information about the $LATEST version of all intents.

The operation requires permission for the lex:GetIntents action.

" + }, + "GetSlotType":{ + "name":"GetSlotType", + "http":{ + "method":"GET", + "requestUri":"/slottypes/{name}/versions/{version}", + "responseCode":200 + }, + "input":{"shape":"GetSlotTypeRequest"}, + "output":{"shape":"GetSlotTypeResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns information about a specific version of a slot type. In addition to specifying the slot type name, you must specify the slot type version.

This operation requires permissions for the lex:GetSlotType action.

" + }, + "GetSlotTypeVersions":{ + "name":"GetSlotTypeVersions", + "http":{ + "method":"GET", + "requestUri":"/slottypes/{name}/versions/", + "responseCode":200 + }, + "input":{"shape":"GetSlotTypeVersionsRequest"}, + "output":{"shape":"GetSlotTypeVersionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets information about all versions of a slot type.

The GetSlotTypeVersions operation returns a SlotTypeMetadata object for each version of a slot type. For example, if a slot type has three numbered versions, the GetSlotTypeVersions operation returns four SlotTypeMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetSlotTypeVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetSlotTypeVersions action.

" + }, + "GetSlotTypes":{ + "name":"GetSlotTypes", + "http":{ + "method":"GET", + "requestUri":"/slottypes/", + "responseCode":200 + }, + "input":{"shape":"GetSlotTypesRequest"}, + "output":{"shape":"GetSlotTypesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns slot type information as follows:

  • If you specify the nameContains field, returns the $LATEST version of all slot types that contain the specified string.

  • If you don't specify the nameContains field, returns information about the $LATEST version of all slot types.

The operation requires permission for the lex:GetSlotTypes action.

" + }, + "GetUtterancesView":{ + "name":"GetUtterancesView", + "http":{ + "method":"GET", + "requestUri":"/bots/{botname}/utterances?view=aggregation", + "responseCode":200 + }, + "input":{"shape":"GetUtterancesViewRequest"}, + "output":{"shape":"GetUtterancesViewResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Use the GetUtterancesView operation to get information about the utterances that your users have made to your bot. You can use this list to tune the utterances that your bot responds to.

For example, say that you have created a bot to order flowers. After your users have used your bot for a while, use the GetUtterancesView operation to see the requests that they have made and whether they have been successful. You might find that the utterance \"I want flowers\" is not being recognized. You could add this utterance to the OrderFlowers intent so that your bot recognizes that utterance.

After you publish a new version of a bot, you can get information about the old version and the new so that you can compare the performance across the two versions.

Data is available for the last 15 days. You can request information for up to 5 versions in each request. The response contains information about a maximum of 100 utterances for each version.

If the bot's childDirected field is set to true, utterances for the bot are not stored and cannot be retrieved with the GetUtterancesView operation. For more information, see .

This operation requires permissions for the lex:GetUtterancesView action.

" + }, + "PutBot":{ + "name":"PutBot", + "http":{ + "method":"PUT", + "requestUri":"/bots/{name}/versions/$LATEST", + "responseCode":200 + }, + "input":{"shape":"PutBotRequest"}, + "output":{"shape":"PutBotResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates an Amazon Lex conversational bot or replaces an existing bot. When you create or update a bot you only required to specify a name. You can use this to add intents later, or to remove intents from an existing bot. When you create a bot with a name only, the bot is created or updated but Amazon Lex returns the response FAILED. You can build the bot after you add one or more intents. For more information about Amazon Lex bots, see how-it-works.

If you specify the name of an existing bot, the fields in the request replace the existing values in the $LATEST version of the bot. Amazon Lex removes any fields that you don't provide values for in the request, except for the idleTTLInSeconds and privacySettings fields, which are set to their default values. If you don't specify values for required fields, Amazon Lex throws an exception.

This operation requires permissions for the lex:PutBot action. For more information, see auth-and-access-control.

" + }, + "PutBotAlias":{ + "name":"PutBotAlias", + "http":{ + "method":"PUT", + "requestUri":"/bots/{botName}/aliases/{name}", + "responseCode":200 + }, + "input":{"shape":"PutBotAliasRequest"}, + "output":{"shape":"PutBotAliasResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates an alias for the specified version of the bot or replaces an alias for the specified bot. To change the version of the bot that the alias points to, replace the alias. For more information about aliases, see versioning-aliases.

This operation requires permissions for the lex:PutBotAlias action.

" + }, + "PutIntent":{ + "name":"PutIntent", + "http":{ + "method":"PUT", + "requestUri":"/intents/{name}/versions/$LATEST", + "responseCode":200 + }, + "input":{"shape":"PutIntentRequest"}, + "output":{"shape":"PutIntentResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates an intent or replaces an existing intent.

To define the interaction between the user and your bot, you use one or more intents. For a pizza ordering bot, for example, you would create an OrderPizza intent.

To create an intent or replace an existing intent, you must provide the following:

  • Intent name. For example, OrderPizza.

  • Sample utterances. For example, \"Can I order a pizza, please.\" and \"I want to order a pizza.\"

  • Information to be gathered. You specify slot types for the information that your bot will request from the user. You can specify standard slot types, such as a date or a time, or custom slot types such as the size and crust of a pizza.

  • How the intent will be fulfilled. You can provide a Lambda function or configure the intent to return the intent information to the client application. If you use a Lambda function, when all of the intent information is available, Amazon Lex invokes your Lambda function. If you configure your intent to return the intent information to the client application.

You can specify other optional information in the request, such as:

  • A confirmation prompt to ask the user to confirm an intent. For example, \"Shall I order your pizza?\"

  • A conclusion statement to send to the user after the intent has been fulfilled. For example, \"I placed your pizza order.\"

  • A follow-up prompt that asks the user for additional activity. For example, asking \"Do you want to order a drink with your pizza?\"

If you specify an existing intent name to update the intent, Amazon Lex replaces the values in the $LATEST version of the slot type with the values in the request. Amazon Lex removes fields that you don't provide in the request. If you don't specify the required fields, Amazon Lex throws an exception.

For more information, see how-it-works.

This operation requires permissions for the lex:PutIntent action.

" + }, + "PutSlotType":{ + "name":"PutSlotType", + "http":{ + "method":"PUT", + "requestUri":"/slottypes/{name}/versions/$LATEST", + "responseCode":200 + }, + "input":{"shape":"PutSlotTypeRequest"}, + "output":{"shape":"PutSlotTypeResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates a custom slot type or replaces an existing custom slot type.

To create a custom slot type, specify a name for the slot type and a set of enumeration values, which are the values that a slot of this type can assume. For more information, see how-it-works.

If you specify the name of an existing slot type, the fields in the request replace the existing values in the $LATEST version of the slot type. Amazon Lex removes the fields that you don't provide in the request. If you don't specify required fields, Amazon Lex throws an exception.

This operation requires permissions for the lex:PutSlotType action.

" + } + }, + "shapes":{ + "AliasName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + }, + "AliasNameOrListAll":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^(-|^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*))$" + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Boolean":{"type":"boolean"}, + "BotAliasMetadata":{ + "type":"structure", + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the bot alias.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot alias.

" + }, + "botVersion":{ + "shape":"Version", + "documentation":"

The version of the Amazon Lex bot to which the alias points.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot to which the alias points.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was updated. When you create a resource, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was created.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the bot alias.

" + } + }, + "documentation":"

Provides information about a bot alias.

" + }, + "BotAliasMetadataList":{ + "type":"list", + "member":{"shape":"BotAliasMetadata"} + }, + "BotChannelAssociation":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotChannelName", + "documentation":"

The name of the association between the bot and the channel.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A text description of the association you are creating.

" + }, + "botAlias":{ + "shape":"AliasName", + "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot to which this association is being made.

Currently, Amazon Lex supports associations with Facebook and Slack, and Twilio.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the association between the Amazon Lex bot and the channel was created.

" + }, + "type":{ + "shape":"ChannelType", + "documentation":"

Specifies the type of association by indicating the type of channel being established between the Amazon Lex bot and the external messaging platform.

" + }, + "botConfiguration":{ + "shape":"ChannelConfigurationMap", + "documentation":"

Provides information necessary to communicate with the messaging platform.

" + } + }, + "documentation":"

Represents an association between an Amazon Lex bot and an external messaging platform.

" + }, + "BotChannelAssociationList":{ + "type":"list", + "member":{"shape":"BotChannelAssociation"} + }, + "BotChannelName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + }, + "BotMetadata":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the bot.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was updated. When you create a bot, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the bot. For a new bot, the version is always $LATEST.

" + } + }, + "documentation":"

Provides information about a bot. .

" + }, + "BotMetadataList":{ + "type":"list", + "member":{"shape":"BotMetadata"} + }, + "BotName":{ + "type":"string", + "max":50, + "min":2, + "pattern":"^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + }, + "BotVersions":{ + "type":"list", + "member":{"shape":"Version"}, + "max":5, + "min":1 + }, + "BuiltinIntentMetadata":{ + "type":"structure", + "members":{ + "signature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

A unique identifier for the built-in intent. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

" + }, + "supportedLocales":{ + "shape":"LocaleList", + "documentation":"

A list of identifiers for the locales that the intent supports.

" + } + }, + "documentation":"

Provides metadata for a built-in intent.

" + }, + "BuiltinIntentMetadataList":{ + "type":"list", + "member":{"shape":"BuiltinIntentMetadata"} + }, + "BuiltinIntentSignature":{"type":"string"}, + "BuiltinIntentSlot":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

A list of the slots defined for the intent.

" + } + }, + "documentation":"

Provides information about a slot used in a built-in intent.

" + }, + "BuiltinIntentSlotList":{ + "type":"list", + "member":{"shape":"BuiltinIntentSlot"} + }, + "BuiltinSlotTypeMetadata":{ + "type":"structure", + "members":{ + "signature":{ + "shape":"BuiltinSlotTypeSignature", + "documentation":"

A unique identifier for the built-in slot type. To find the signature for a slot type, see Slot Type Reference in the Alexa Skills Kit.

" + }, + "supportedLocales":{ + "shape":"LocaleList", + "documentation":"

A list of target locales for the slot.

" + } + }, + "documentation":"

Provides information about a built in slot type.

" + }, + "BuiltinSlotTypeMetadataList":{ + "type":"list", + "member":{"shape":"BuiltinSlotTypeMetadata"} + }, + "BuiltinSlotTypeSignature":{"type":"string"}, + "ChannelConfigurationMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"}, + "max":10, + "min":1 + }, + "ChannelType":{ + "type":"string", + "enum":[ + "Facebook", + "Slack", + "Twilio-Sms" + ] + }, + "CodeHook":{ + "type":"structure", + "required":[ + "uri", + "messageVersion" + ], + "members":{ + "uri":{ + "shape":"LambdaARN", + "documentation":"

The Amazon Resource Name (ARN) of the Lambda function.

" + }, + "messageVersion":{ + "shape":"MessageVersion", + "documentation":"

The version of the request-response that you want Amazon Lex to use to invoke your Lambda function. For more information, see using-lambda.

" + } + }, + "documentation":"

Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot..

" + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

There was a conflict processing the request. Try your request again.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ContentString":{ + "type":"string", + "max":1000, + "min":1 + }, + "ContentType":{ + "type":"string", + "enum":[ + "PlainText", + "SSML" + ] + }, + "Count":{"type":"integer"}, + "CreateBotVersionRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot that you want to create a new version of. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "checksum":{ + "shape":"String", + "documentation":"

Identifies a specific revision of the $LATEST version of the bot. If you specify a checksum and the $LATEST version of the bot has a different checksum, a PreconditionFailedException exception is returned and Amazon Lex doesn't publish a new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST version.

" + } + } + }, + "CreateBotVersionResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot.

" + }, + "intents":{ + "shape":"IntentList", + "documentation":"

An array of Intent objects. For more information, see .

" + }, + "clarificationPrompt":{ + "shape":"Prompt", + "documentation":"

The message that Amazon Lex uses when it doesn't understand the user's request. For more information, see .

" + }, + "abortStatement":{ + "shape":"Statement", + "documentation":"

The message that Amazon Lex uses to abort a conversation. For more information, see .

" + }, + "status":{ + "shape":"Status", + "documentation":"

When you send a request to create or update a bot, Amazon Lex sets the status response element to BUILDING. After Amazon Lex builds the bot, it sets status to READY. If Amazon Lex can't build the bot, it sets status to FAILED. Amazon Lex returns the reason for the failure in the failureReason response element.

" + }, + "failureReason":{ + "shape":"String", + "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to build the bot.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date when the $LATEST version of this bot was updated.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date when the bot version was created.

" + }, + "idleSessionTTLInSeconds":{ + "shape":"SessionTTL", + "documentation":"

The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see .

" + }, + "voiceId":{ + "shape":"String", + "documentation":"

The Amazon Polly voice ID that Amazon Lex uses for voice interactions with the user.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum identifying the version of the bot that was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the bot.

" + }, + "locale":{ + "shape":"Locale", + "documentation":"

Specifies the target locale for the bot.

" + }, + "childDirected":{ + "shape":"Boolean", + "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" + } + } + }, + "CreateIntentVersionRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent that you want to create a new version of. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the $LATEST version of the intent that should be used to create the new version. If you specify a checksum and the $LATEST version of the intent has a different checksum, Amazon Lex returns a PreconditionFailedException exception and doesn't publish a new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST version.

" + } + } + }, + "CreateIntentVersionResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the intent.

" + }, + "slots":{ + "shape":"SlotList", + "documentation":"

An array of slot types that defines the information required to fulfill the intent.

" + }, + "sampleUtterances":{ + "shape":"IntentUtteranceList", + "documentation":"

An array of sample utterances configured for the intent.

" + }, + "confirmationPrompt":{ + "shape":"Prompt", + "documentation":"

If defined, the prompt that Amazon Lex uses to confirm the user's intent before fulfilling it.

" + }, + "rejectionStatement":{ + "shape":"Statement", + "documentation":"

If the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" + }, + "followUpPrompt":{ + "shape":"FollowUpPrompt", + "documentation":"

If defined, Amazon Lex uses this prompt to solicit additional user activity after the intent is fulfilled.

" + }, + "conclusionStatement":{ + "shape":"Statement", + "documentation":"

After the Lambda function specified in the fulfillmentActivity field fulfills the intent, Amazon Lex conveys this statement to the user.

" + }, + "dialogCodeHook":{ + "shape":"CodeHook", + "documentation":"

If defined, Amazon Lex invokes this Lambda function for each user input.

" + }, + "fulfillmentActivity":{ + "shape":"FulfillmentActivity", + "documentation":"

Describes how the intent is fulfilled.

" + }, + "parentIntentSignature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

A unique identifier for a built-in intent.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was updated.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version number assigned to the new version of the intent.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the intent version created.

" + } + } + }, + "CreateSlotTypeVersionRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type that you want to create a new version for. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum for the $LATEST version of the slot type that you want to publish. If you specify a checksum and the $LATEST version of the slot type has a different checksum, Amazon Lex returns a PreconditionFailedException exception and doesn't publish the new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST version.

" + } + } + }, + "CreateSlotTypeVersionResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot type.

" + }, + "enumerationValues":{ + "shape":"EnumerationValues", + "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was updated. When you create a resource, the creation date and last update date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version assigned to the new slot type version.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the $LATEST version of the slot type.

" + } + } + }, + "CustomOrBuiltinSlotTypeName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^([a-zA-Z]|AMAZON.)+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + }, + "DeleteBotAliasRequest":{ + "type":"structure", + "required":[ + "name", + "botName" + ], + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the alias to delete. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that the alias points to.

", + "location":"uri", + "locationName":"botName" + } + } + }, + "DeleteBotChannelAssociationRequest":{ + "type":"structure", + "required":[ + "name", + "botName", + "botAlias" + ], + "members":{ + "name":{ + "shape":"BotChannelName", + "documentation":"

The name of the association. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"AliasName", + "documentation":"

An alias that points to the specific version of the Amazon Lex bot to which this association is being made.

", + "location":"uri", + "locationName":"aliasName" + } + } + }, + "DeleteBotRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteBotVersionRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"NumericalVersion", + "documentation":"

The version of the bot to delete. You cannot delete the $LATEST version of the bot. To delete the $LATEST version, use the operation.

", + "location":"uri", + "locationName":"version" + } + } + }, + "DeleteIntentRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteIntentVersionRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"NumericalVersion", + "documentation":"

The version of the intent to delete. You cannot delete the $LATEST version of the intent. To delete the $LATEST version, use the operation.

", + "location":"uri", + "locationName":"version" + } + } + }, + "DeleteSlotTypeRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteSlotTypeVersionRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"NumericalVersion", + "documentation":"

The version of the slot type to delete. You cannot delete the $LATEST version of the slot type. To delete the $LATEST version, use the operation.

", + "location":"uri", + "locationName":"version" + } + } + }, + "DeleteUtterancesRequest":{ + "type":"structure", + "required":[ + "botName", + "userId" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that stored the utterances.

", + "location":"uri", + "locationName":"botName" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The unique identifier for the user that made the utterances. This is the user ID that was sent in the or operation request that contained the utterance.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "Description":{ + "type":"string", + "max":200, + "min":0 + }, + "EnumerationValue":{ + "type":"structure", + "required":["value"], + "members":{ + "value":{ + "shape":"Value", + "documentation":"

The value of the slot type.

" + } + }, + "documentation":"

Each slot type can have a set of values. Each enumeration value represents a value the slot type can take.

For example, a pizza ordering bot could have a slot type that specifies the type of crust that the pizza should have. The slot type could include the values

  • thick

  • thin

  • stuffed

" + }, + "EnumerationValues":{ + "type":"list", + "member":{"shape":"EnumerationValue"}, + "max":10000, + "min":1 + }, + "FollowUpPrompt":{ + "type":"structure", + "required":[ + "prompt", + "rejectionStatement" + ], + "members":{ + "prompt":{ + "shape":"Prompt", + "documentation":"

Obtains information from the user.

" + }, + "rejectionStatement":{ + "shape":"Statement", + "documentation":"

If the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" + } + }, + "documentation":"

After an intent is fulfilled, you might prompt the user for additional activity. For example, after the OrderPizza intent is fulfilled (the pizza order is placed with a pizzeria), you might prompt the user to find out whether the user wants to order drinks (another intent you defined in your bot).

" + }, + "FulfillmentActivity":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"FulfillmentActivityType", + "documentation":"

How the intent should be fulfilled, either by running a Lambda function or by returning the slot data to the client application.

" + }, + "codeHook":{ + "shape":"CodeHook", + "documentation":"

A description of the Lambda function that is run to fulfill the intent.

" + } + }, + "documentation":"

Describes how the intent is fulfilled after the user provides all of the information required for the intent. You can provide a Lambda function to process the intent, or you can return the intent information to the client application. We recommend that you use a Lambda function so that the relevant logic lives in the Cloud and limit the client-side code primarily to presentation. If you need to update the logic, you only update the Lambda function; you don't need to upgrade your client application.

Consider the following examples:

  • In a pizza ordering application, after the user provides all of the information for placing an order, you use a Lambda function to place an order with a pizzeria.

  • In a gaming application, when a user says \"pick up a rock,\" this information must go back to the client application so that it can perform the operation and update the graphics. In this case, you want Amazon Lex to return the intent data to the client.

" + }, + "FulfillmentActivityType":{ + "type":"string", + "enum":[ + "ReturnIntent", + "CodeHook" + ] + }, + "GetBotAliasRequest":{ + "type":"structure", + "required":[ + "name", + "botName" + ], + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the bot alias. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot.

", + "location":"uri", + "locationName":"botName" + } + } + }, + "GetBotAliasResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the bot alias.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot alias.

" + }, + "botVersion":{ + "shape":"Version", + "documentation":"

The version of the bot that the alias points to.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that the alias points to.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was created.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the bot alias.

" + } + } + }, + "GetBotAliasesRequest":{ + "type":"structure", + "required":["botName"], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot.

", + "location":"uri", + "locationName":"botName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of aliases. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of aliases, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of aliases to return in the response. The default is 50. .

", + "location":"querystring", + "locationName":"maxResults" + }, + "nameContains":{ + "shape":"AliasName", + "documentation":"

Substring to match in bot alias names. An alias will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "location":"querystring", + "locationName":"nameContains" + } + } + }, + "GetBotAliasesResponse":{ + "type":"structure", + "members":{ + "BotAliases":{ + "shape":"BotAliasMetadataList", + "documentation":"

An array of BotAliasMetadata objects, each describing a bot alias.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching next page of aliases. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of aliases, specify the pagination token in the next request.

" + } + } + }, + "GetBotChannelAssociationRequest":{ + "type":"structure", + "required":[ + "name", + "botName", + "botAlias" + ], + "members":{ + "name":{ + "shape":"BotChannelName", + "documentation":"

The name of the association between the bot and the channel. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"AliasName", + "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

", + "location":"uri", + "locationName":"aliasName" + } + } + }, + "GetBotChannelAssociationResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotChannelName", + "documentation":"

The name of the association between the bot and the channel.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the association between the bot and the channel.

" + }, + "botAlias":{ + "shape":"AliasName", + "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the association between the bot and the channel was created.

" + }, + "type":{ + "shape":"ChannelType", + "documentation":"

The type of the messaging platform.

" + }, + "botConfiguration":{ + "shape":"ChannelConfigurationMap", + "documentation":"

Provides information that the messaging platform needs to communicate with the Amazon Lex bot.

" + } + } + }, + "GetBotChannelAssociationsRequest":{ + "type":"structure", + "required":[ + "botName", + "botAlias" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot in the association.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"AliasNameOrListAll", + "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

", + "location":"uri", + "locationName":"aliasName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of associations. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of associations, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of associations to return in the response. The default is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nameContains":{ + "shape":"BotChannelName", + "documentation":"

Substring to match in channel association names. An association will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To return all bot channel associations, use a hyphen (\"-\") as the nameContains parameter.

", + "location":"querystring", + "locationName":"nameContains" + } + } + }, + "GetBotChannelAssociationsResponse":{ + "type":"structure", + "members":{ + "botChannelAssociations":{ + "shape":"BotChannelAssociationList", + "documentation":"

An array of objects, one for each association, that provides information about the Amazon Lex bot and its association with the channel.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of associations. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of associations, specify the pagination token in the next request.

" + } + } + }, + "GetBotRequest":{ + "type":"structure", + "required":[ + "name", + "versionOrAlias" + ], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "versionOrAlias":{ + "shape":"String", + "documentation":"

The version or alias of the bot.

", + "location":"uri", + "locationName":"versionoralias" + } + } + }, + "GetBotResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot.

" + }, + "intents":{ + "shape":"IntentList", + "documentation":"

An array of intent objects. For more information, see .

" + }, + "clarificationPrompt":{ + "shape":"Prompt", + "documentation":"

The message Amazon Lex uses when it doesn't understand the user's request. For more information, see .

" + }, + "abortStatement":{ + "shape":"Statement", + "documentation":"

The message that Amazon Lex returns when the user elects to end the conversation without completing it. For more information, see .

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the bot. If the bot is ready to run, the status is READY. If there was a problem with building the bot, the status is FAILED and the failureReason explains why the bot did not build. If the bot was saved but not built, the status is NOT BUILT.

" + }, + "failureReason":{ + "shape":"String", + "documentation":"

If status is FAILED, Amazon Lex explains why it failed to build the bot.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was created.

" + }, + "idleSessionTTLInSeconds":{ + "shape":"SessionTTL", + "documentation":"

The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see .

" + }, + "voiceId":{ + "shape":"String", + "documentation":"

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see .

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the bot used to identify a specific revision of the bot's $LATEST version.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the bot. For a new bot, the version is always $LATEST.

" + }, + "locale":{ + "shape":"Locale", + "documentation":"

The target locale for the bot.

" + }, + "childDirected":{ + "shape":"Boolean", + "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" + } + } + }, + "GetBotVersionsRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot for which versions should be returned.

", + "location":"uri", + "locationName":"name" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of bot versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of bot versions to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetBotVersionsResponse":{ + "type":"structure", + "members":{ + "bots":{ + "shape":"BotMetadataList", + "documentation":"

An array of BotMetadata objects, one for each numbered version of the bot plus one for the $LATEST version.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of bot versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

" + } + } + }, + "GetBotsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of bots. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of bots, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of bots to return in the response that the request will return. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nameContains":{ + "shape":"BotName", + "documentation":"

Substring to match in bot names. A bot will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "location":"querystring", + "locationName":"nameContains" + } + } + }, + "GetBotsResponse":{ + "type":"structure", + "members":{ + "bots":{ + "shape":"BotMetadataList", + "documentation":"

An array of botMetadata objects, with one entry for each bot.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, it includes a pagination token that you can specify in your next request to fetch the next page of bots.

" + } + } + }, + "GetBuiltinIntentRequest":{ + "type":"structure", + "required":["signature"], + "members":{ + "signature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

The unique identifier for a built-in intent. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

", + "location":"uri", + "locationName":"signature" + } + } + }, + "GetBuiltinIntentResponse":{ + "type":"structure", + "members":{ + "signature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

The unique identifier for a built-in intent.

" + }, + "supportedLocales":{ + "shape":"LocaleList", + "documentation":"

A list of locales that the intent supports.

" + }, + "slots":{ + "shape":"BuiltinIntentSlotList", + "documentation":"

An array of BuiltinIntentSlot objects, one entry for each slot type in the intent.

" + } + } + }, + "GetBuiltinIntentsRequest":{ + "type":"structure", + "members":{ + "locale":{ + "shape":"Locale", + "documentation":"

A list of locales that the intent supports.

", + "location":"querystring", + "locationName":"locale" + }, + "signatureContains":{ + "shape":"String", + "documentation":"

Substring to match in built-in intent signatures. An intent will be returned if any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

", + "location":"querystring", + "locationName":"signatureContains" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of intents. If this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, use the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of intents to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetBuiltinIntentsResponse":{ + "type":"structure", + "members":{ + "intents":{ + "shape":"BuiltinIntentMetadataList", + "documentation":"

An array of builtinIntentMetadata objects, one for each intent in the response.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of intents. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, specify the pagination token in the next request.

" + } + } + }, + "GetBuiltinSlotTypesRequest":{ + "type":"structure", + "members":{ + "locale":{ + "shape":"Locale", + "documentation":"

A list of locales that the slot type supports.

", + "location":"querystring", + "locationName":"locale" + }, + "signatureContains":{ + "shape":"String", + "documentation":"

Substring to match in built-in slot type signatures. A slot type will be returned if any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "location":"querystring", + "locationName":"signatureContains" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of slot types. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of slot types, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of slot types to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetBuiltinSlotTypesResponse":{ + "type":"structure", + "members":{ + "slotTypes":{ + "shape":"BuiltinSlotTypeMetadataList", + "documentation":"

An array of BuiltInSlotTypeMetadata objects, one entry for each slot type returned.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, the response includes a pagination token that you can use in your next request to fetch the next page of slot types.

" + } + } + }, + "GetIntentRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the intent.

", + "location":"uri", + "locationName":"version" + } + } + }, + "GetIntentResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the intent.

" + }, + "slots":{ + "shape":"SlotList", + "documentation":"

An array of intent slots configured for the intent.

" + }, + "sampleUtterances":{ + "shape":"IntentUtteranceList", + "documentation":"

An array of sample utterances configured for the intent.

" + }, + "confirmationPrompt":{ + "shape":"Prompt", + "documentation":"

If defined in the bot, Amazon Lex uses prompt to confirm the intent before fulfilling the user's request. For more information, see .

" + }, + "rejectionStatement":{ + "shape":"Statement", + "documentation":"

If the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" + }, + "followUpPrompt":{ + "shape":"FollowUpPrompt", + "documentation":"

If defined in the bot, Amazon Lex uses this prompt to solicit additional user activity after the intent is fulfilled. For more information, see .

" + }, + "conclusionStatement":{ + "shape":"Statement", + "documentation":"

After the Lambda function specified in the fulfillmentActivity element fulfills the intent, Amazon Lex conveys this statement to the user.

" + }, + "dialogCodeHook":{ + "shape":"CodeHook", + "documentation":"

If defined in the bot, Amazon Amazon Lex invokes this Lambda function for each user input. For more information, see .

" + }, + "fulfillmentActivity":{ + "shape":"FulfillmentActivity", + "documentation":"

Describes how the intent is fulfilled. For more information, see .

" + }, + "parentIntentSignature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

A unique identifier for a built-in intent.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was updated. When you create a resource, the creation date and the last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the intent.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the intent.

" + } + } + }, + "GetIntentVersionsRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent for which versions should be returned.

", + "location":"uri", + "locationName":"name" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of intent versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of intent versions to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetIntentVersionsResponse":{ + "type":"structure", + "members":{ + "intents":{ + "shape":"IntentMetadataList", + "documentation":"

An array of IntentMetadata objects, one for each numbered version of the intent plus one for the $LATEST version.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of intent versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

" + } + } + }, + "GetIntentsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of intents. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of intents to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nameContains":{ + "shape":"IntentName", + "documentation":"

Substring to match in intent names. An intent will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "location":"querystring", + "locationName":"nameContains" + } + } + }, + "GetIntentsResponse":{ + "type":"structure", + "members":{ + "intents":{ + "shape":"IntentMetadataList", + "documentation":"

An array of Intent objects. For more information, see .

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, the response includes a pagination token that you can specify in your next request to fetch the next page of intents.

" + } + } + }, + "GetSlotTypeRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the slot type.

", + "location":"uri", + "locationName":"version" + } + } + }, + "GetSlotTypeResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot type.

" + }, + "enumerationValues":{ + "shape":"EnumerationValues", + "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was updated. When you create a resource, the creation date and last update date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the slot type.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the $LATEST version of the slot type.

" + } + } + }, + "GetSlotTypeVersionsRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type for which versions should be returned.

", + "location":"uri", + "locationName":"name" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of slot type versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of slot type versions to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetSlotTypeVersionsResponse":{ + "type":"structure", + "members":{ + "slotTypes":{ + "shape":"SlotTypeMetadataList", + "documentation":"

An array of SlotTypeMetadata objects, one for each numbered version of the slot type plus one for the $LATEST version.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of slot type versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

" + } + } + }, + "GetSlotTypesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of slot types. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch next page of slot types, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of slot types to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nameContains":{ + "shape":"SlotTypeName", + "documentation":"

Substring to match in slot type names. A slot type will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "location":"querystring", + "locationName":"nameContains" + } + } + }, + "GetSlotTypesResponse":{ + "type":"structure", + "members":{ + "slotTypes":{ + "shape":"SlotTypeMetadataList", + "documentation":"

An array of objects, one for each slot type, that provides information such as the name of the slot type, the version, and a description.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, it includes a pagination token that you can specify in your next request to fetch the next page of slot types.

" + } + } + }, + "GetUtterancesViewRequest":{ + "type":"structure", + "required":[ + "botName", + "botVersions", + "statusType" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot for which utterance information should be returned.

", + "location":"uri", + "locationName":"botname" + }, + "botVersions":{ + "shape":"BotVersions", + "documentation":"

An array of bot versions for which utterance information should be returned. The limit is 5 versions per request.

", + "location":"querystring", + "locationName":"bot_versions" + }, + "statusType":{ + "shape":"StatusType", + "documentation":"

To return utterances that were recognized and handled, useDetected. To return utterances that were not recognized, use Missed.

", + "location":"querystring", + "locationName":"status_type" + } + } + }, + "GetUtterancesViewResponse":{ + "type":"structure", + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot for which utterance information was returned.

" + }, + "utterances":{ + "shape":"ListsOfUtterances", + "documentation":"

An array of objects, each containing a list of objects describing the utterances that were processed by your bot. The response contains a maximum of 100 UtteranceData objects for each version.

" + } + } + }, + "Intent":{ + "type":"structure", + "required":[ + "intentName", + "intentVersion" + ], + "members":{ + "intentName":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "intentVersion":{ + "shape":"Version", + "documentation":"

The version of the intent.

" + } + }, + "documentation":"

Identifies the specific version of an intent.

" + }, + "IntentList":{ + "type":"list", + "member":{"shape":"Intent"}, + "max":100, + "min":1 + }, + "IntentMetadata":{ + "type":"structure", + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the intent.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was updated. When you create an intent, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the intent.

" + } + }, + "documentation":"

Provides information about an intent.

" + }, + "IntentMetadataList":{ + "type":"list", + "member":{"shape":"IntentMetadata"} + }, + "IntentName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + }, + "IntentUtteranceList":{ + "type":"list", + "member":{"shape":"Utterance"}, + "max":1500, + "min":0 + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

An internal Amazon Lex error occurred. Try your request again.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "LambdaARN":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws:lambda:[a-z]+-[a-z]+-[0-9]:[0-9]{12}:function:[a-zA-Z0-9-_]+(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?(:[a-zA-Z0-9-_]+)?" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"String", + "location":"header", + "locationName":"Retry-After" + }, + "message":{"shape":"String"} + }, + "documentation":"

The request exceeded a limit. Try your request again.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "ListOfUtterance":{ + "type":"list", + "member":{"shape":"UtteranceData"} + }, + "ListsOfUtterances":{ + "type":"list", + "member":{"shape":"UtteranceList"} + }, + "Locale":{ + "type":"string", + "enum":["en-US"] + }, + "LocaleList":{ + "type":"list", + "member":{"shape":"Locale"} + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "Message":{ + "type":"structure", + "required":[ + "contentType", + "content" + ], + "members":{ + "contentType":{ + "shape":"ContentType", + "documentation":"

The content type of the message string.

" + }, + "content":{ + "shape":"ContentString", + "documentation":"

The text of the message.

" + } + }, + "documentation":"

The message object that provides the message text and its type.

" + }, + "MessageList":{ + "type":"list", + "member":{"shape":"Message"}, + "max":5, + "min":1 + }, + "MessageVersion":{ + "type":"string", + "max":5, + "min":1 + }, + "Name":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z]+" + }, + "NextToken":{"type":"string"}, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The resource specified in the request was not found. Check the resource and try again.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NumericalVersion":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[0-9]+" + }, + "PreconditionFailedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The checksum of the resource that you are trying to change does not match the checksum in the request. Check the resource's checksum and try again.

", + "error":{"httpStatusCode":412}, + "exception":true + }, + "Priority":{ + "type":"integer", + "max":100, + "min":0 + }, + "ProcessBehavior":{ + "type":"string", + "enum":[ + "SAVE", + "BUILD" + ] + }, + "Prompt":{ + "type":"structure", + "required":[ + "messages", + "maxAttempts" + ], + "members":{ + "messages":{ + "shape":"MessageList", + "documentation":"

An array of objects, each of which provides a message string and its type. You can specify the message string in plain text or in Speech Synthesis Markup Language (SSML).

" + }, + "maxAttempts":{ + "shape":"PromptMaxAttempts", + "documentation":"

The number of times to prompt the user for information.

" + }, + "responseCard":{ + "shape":"ResponseCard", + "documentation":"

A response card. Amazon Lex uses this prompt at runtime, in the PostText API response. It substitutes session attributes and slot values for placeholders in the response card. For more information, see ex-resp-card.

" + } + }, + "documentation":"

Obtains information from the user. To define a prompt, provide one or more messages and specify the number of attempts to get information from the user. If you provide more than one message, Amazon Lex chooses one of the messages to use to prompt the user. For more information, see how-it-works.

" + }, + "PromptMaxAttempts":{ + "type":"integer", + "max":5, + "min":1 + }, + "PutBotAliasRequest":{ + "type":"structure", + "required":[ + "name", + "botVersion", + "botName" + ], + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the alias. The name is not case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the alias.

" + }, + "botVersion":{ + "shape":"Version", + "documentation":"

The version of the bot.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot.

", + "location":"uri", + "locationName":"botName" + }, + "checksum":{ + "shape":"String", + "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new bot alias, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a bot alias, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" + } + } + }, + "PutBotAliasResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the alias.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the alias.

" + }, + "botVersion":{ + "shape":"Version", + "documentation":"

The version of the bot that the alias points to.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that the alias points to.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was created.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

The checksum for the current version of the alias.

" + } + } + }, + "PutBotRequest":{ + "type":"structure", + "required":[ + "name", + "locale", + "childDirected" + ], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot. The name is not case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot.

" + }, + "intents":{ + "shape":"IntentList", + "documentation":"

An array of Intent objects. Each intent represents a command that a user can express. For example, a pizza ordering bot might support an OrderPizza intent. For more information, see how-it-works.

" + }, + "clarificationPrompt":{ + "shape":"Prompt", + "documentation":"

When Amazon Lex doesn't understand the user's intent, it uses one of these messages to get clarification. For example, \"Sorry, I didn't understand. Please repeat.\" Amazon Lex repeats the clarification prompt the number of times specified in maxAttempts. If Amazon Lex still can't understand, it sends the message specified in abortStatement.

" + }, + "abortStatement":{ + "shape":"Statement", + "documentation":"

When Amazon Lex can't understand the user's input in context, it tries to elicit the information a few times. After that, Amazon Lex sends the message defined in abortStatement to the user, and then aborts the conversation. To set the number of retries, use the valueElicitationPrompt field for the slot type.

For example, in a pizza ordering bot, Amazon Lex might ask a user \"What type of crust would you like?\" If the user's response is not one of the expected responses (for example, \"thin crust, \"deep dish,\" etc.), Amazon Lex tries to elicit a correct response a few more times.

For example, in a pizza ordering application, OrderPizza might be one of the intents. This intent might require the CrustType slot. You specify the valueElicitationPrompt field when you create the CrustType slot.

" + }, + "idleSessionTTLInSeconds":{ + "shape":"SessionTTL", + "documentation":"

The maximum time in seconds that Amazon Lex retains the data gathered in a conversation.

A user interaction session remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Lex deletes any data provided before the timeout.

For example, suppose that a user chooses the OrderPizza intent, but gets sidetracked halfway through placing an order. If the user doesn't complete the order within the specified time, Amazon Lex discards the slot information that it gathered, and the user must start over.

If you don't include the idleSessionTTLInSeconds element in a PutBot operation request, Amazon Lex uses the default value. This is also true if the request replaces an existing bot.

The default is 300 seconds (5 minutes).

" + }, + "voiceId":{ + "shape":"String", + "documentation":"

The Amazon Polly voice ID that you want Amazon Lex to use for voice interactions with the user. The locale configured for the voice must match the locale of the bot. For more information, see Voice in the Amazon Polly Developer Guide.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new bot, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a bot, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" + }, + "processBehavior":{ + "shape":"ProcessBehavior", + "documentation":"

If you set the processBehavior element to Build, Amazon Lex builds the bot so that it can be run. If you set the element to SaveAmazon Lex saves the bot, but doesn't build it.

If you don't specify this value, the default value is Save.

" + }, + "locale":{ + "shape":"Locale", + "documentation":"

Specifies the target locale for the bot. Any intent used in the bot must be compatible with the locale of the bot.

The default is en-US.

" + }, + "childDirected":{ + "shape":"Boolean", + "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" + } + } + }, + "PutBotResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot.

" + }, + "intents":{ + "shape":"IntentList", + "documentation":"

An array of Intent objects. For more information, see .

" + }, + "clarificationPrompt":{ + "shape":"Prompt", + "documentation":"

The prompts that Amazon Lex uses when it doesn't understand the user's intent. For more information, see .

" + }, + "abortStatement":{ + "shape":"Statement", + "documentation":"

The message that Amazon Lex uses to abort a conversation. For more information, see .

" + }, + "status":{ + "shape":"Status", + "documentation":"

When you send a request to create a bot with processBehavior set to BUILD, Amazon Lex sets the status response element to BUILDING. After Amazon Lex builds the bot, it sets status to READY. If Amazon Lex can't build the bot, Amazon Lex sets status to FAILED. Amazon Lex returns the reason for the failure in the failureReason response element.

When you set processBehaviorto SAVE, Amazon Lex sets the status code to NOT BUILT.

" + }, + "failureReason":{ + "shape":"String", + "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to build the bot.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was created.

" + }, + "idleSessionTTLInSeconds":{ + "shape":"SessionTTL", + "documentation":"

The maximum length of time that Amazon Lex retains the data gathered in a conversation. For more information, see .

" + }, + "voiceId":{ + "shape":"String", + "documentation":"

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see .

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the bot that you created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the bot. For a new bot, the version is always $LATEST.

" + }, + "locale":{ + "shape":"Locale", + "documentation":"

The target locale for the bot.

" + }, + "childDirected":{ + "shape":"Boolean", + "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" + } + } + }, + "PutIntentRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent. The name is not case sensitive.

The name can't match a built-in intent name, or a built-in intent name with \"AMAZON.\" removed. For example, because there is a built-in intent called AMAZON.HelpIntent, you can't create a custom intent called HelpIntent.

For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit.

", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the intent.

" + }, + "slots":{ + "shape":"SlotList", + "documentation":"

An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined in the slots. For more information, see <xref linkend=\"how-it-works\"/>.

" + }, + "sampleUtterances":{ + "shape":"IntentUtteranceList", + "documentation":"

An array of utterances (strings) that a user might say to signal the intent. For example, \"I want {PizzaSize} pizza\", \"Order {Quantity} {PizzaSize} pizzas\".

In each utterance, a slot name is enclosed in curly braces.

" + }, + "confirmationPrompt":{ + "shape":"Prompt", + "documentation":"

Prompts the user to confirm the intent. This question should have a yes or no answer.

Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For example, with the OrderPizza intent, you might want to confirm that the order is correct before placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask the user for confirmation before providing the information.

You you must provide both the rejectionStatement and the confirmationPrompt, or neither.

" + }, + "rejectionStatement":{ + "shape":"Statement", + "documentation":"

When the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

You must provide both the rejectionStatement and the confirmationPrompt, or neither.

" + }, + "followUpPrompt":{ + "shape":"FollowUpPrompt", + "documentation":"

A user prompt for additional activity after an intent is fulfilled. For example, after the OrderPizza intent is fulfilled (your Lambda function placed an order with a pizzeria), you might prompt the user to find if they want to order a drink (assuming that you have defined an OrderDrink intent in your bot).

The followUpPrompt and conclusionStatement are mutually exclusive. You can specify only one. For example, your bot may not solicit both the following:

Follow up prompt - \"$session.FirstName, your pizza order has been placed. Would you like to order a drink or a dessert?\"

Conclusion statement - \"$session.FirstName, your pizza order has been placed.\"

" + }, + "conclusionStatement":{ + "shape":"Statement", + "documentation":"

The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the Lambda function.

This element is relevant only if you provide a Lambda function in the fulfillmentActivity. If you return the intent to the client application, you can't specify this element.

The followUpPrompt and conclusionStatement are mutually exclusive. You can specify only one.

" + }, + "dialogCodeHook":{ + "shape":"CodeHook", + "documentation":"

Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize user interaction.

For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's information from a backend database and prepopulate some of the values. For example, if you find that John is gluten intolerant, you might set the corresponding intent slot, GlutenIntolerant, to true. You might find John's phone number and set the corresponding session attribute.

" + }, + "fulfillmentActivity":{ + "shape":"FulfillmentActivity", + "documentation":"

Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, fulfillmentActivity defines how the bot places an order with a local pizza store.

You might configure Amazon Lex to return all of the intent information to the client application, or direct it to invoke a Lambda function that can process the intent (for example, place an order with a pizzeria).

" + }, + "parentIntentSignature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new intent, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a intent, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" + } + } + }, + "PutIntentResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the intent.

" + }, + "slots":{ + "shape":"SlotList", + "documentation":"

An array of intent slots that are configured for the intent.

" + }, + "sampleUtterances":{ + "shape":"IntentUtteranceList", + "documentation":"

An array of sample utterances that are configured for the intent.

" + }, + "confirmationPrompt":{ + "shape":"Prompt", + "documentation":"

If defined in the intent, Amazon Lex prompts the user to confirm the intent before fulfilling it.

" + }, + "rejectionStatement":{ + "shape":"Statement", + "documentation":"

If the user answers \"no\" to the question defined in confirmationPrompt Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" + }, + "followUpPrompt":{ + "shape":"FollowUpPrompt", + "documentation":"

If defined in the intent, Amazon Lex uses this prompt to solicit additional user activity after the intent is fulfilled.

" + }, + "conclusionStatement":{ + "shape":"Statement", + "documentation":"

After the Lambda function specified in thefulfillmentActivityintent fulfills the intent, Amazon Lex conveys this statement to the user.

" + }, + "dialogCodeHook":{ + "shape":"CodeHook", + "documentation":"

If defined in the intent, Amazon Lex invokes this Lambda function for each user input.

" + }, + "fulfillmentActivity":{ + "shape":"FulfillmentActivity", + "documentation":"

If defined in the intent, Amazon Lex invokes this Lambda function to fulfill the intent after the user provides all of the information required by the intent.

" + }, + "parentIntentSignature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

A unique identifier for the built-in intent that this intent is based on.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was updated. When you create a resource, the creation date and last update dates are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the intent. For a new intent, the version is always $LATEST.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the $LATESTversion of the intent created or updated.

" + } + } + }, + "PutSlotTypeRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type. The name is not case sensitive.

The name can't match a built-in slot type name, or a built-in slot type name with \"AMAZON.\" removed. For example, because there is a built-in slot type called AMAZON.DATE, you can't create a custom slot type called DATE.

For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot type.

" + }, + "enumerationValues":{ + "shape":"EnumerationValues", + "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new slot type, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a slot type, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" + } + } + }, + "PutSlotTypeResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot type.

" + }, + "enumerationValues":{ + "shape":"EnumerationValues", + "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was updated. When you create a slot type, the creation date and last update date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the slot type. For a new slot type, the version is always $LATEST.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the $LATEST version of the slot type.

" + } + } + }, + "ReferenceType":{ + "type":"string", + "enum":[ + "Intent", + "Bot", + "BotAlias", + "BotChannel" + ] + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "referenceType":{"shape":"ReferenceType"}, + "exampleReference":{"shape":"ResourceReference"} + }, + "documentation":"

The resource that you are attempting to delete is referred to by another resource. Use this information to remove references to the resource that you are trying to delete.

The body of the exception contains a JSON object that describes the resource.

{ \"resourceType\": BOT | BOTALIAS | BOTCHANNEL | INTENT,

\"resourceReference\": {

\"name\": string, \"version\": string } }

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceReference":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the resource that is using the resource that you are trying to delete.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the resource that is using the resource that you are trying to delete.

" + } + }, + "documentation":"

Describes the resource that refers to the resource that you are attempting to delete. This object is returned as part of the ResourceInUseException exception.

" + }, + "ResponseCard":{ + "type":"string", + "max":50000, + "min":1 + }, + "SessionTTL":{ + "type":"integer", + "max":86400, + "min":60 + }, + "Slot":{ + "type":"structure", + "required":[ + "name", + "slotConstraint" + ], + "members":{ + "name":{ + "shape":"SlotName", + "documentation":"

The name of the slot.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot.

" + }, + "slotConstraint":{ + "shape":"SlotConstraint", + "documentation":"

Specifies whether the slot is required or optional.

" + }, + "slotType":{ + "shape":"CustomOrBuiltinSlotTypeName", + "documentation":"

The type of the slot, either a custom slot type that you defined or one of the built-in slot types.

" + }, + "slotTypeVersion":{ + "shape":"Version", + "documentation":"

The version of the slot type.

" + }, + "valueElicitationPrompt":{ + "shape":"Prompt", + "documentation":"

The prompt that Amazon Lex uses to elicit the slot value from the user.

" + }, + "priority":{ + "shape":"Priority", + "documentation":"

Directs Lex the order in which to elicit this slot value from the user. For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for the slot with priority 1.

If multiple slots share the same priority, the order in which Lex elicits values is arbitrary.

" + }, + "sampleUtterances":{ + "shape":"SlotUtteranceList", + "documentation":"

If you know a specific pattern with which users might respond to an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This is optional. In most cases, Amazon Lex is capable of understanding user utterances.

" + }, + "responseCard":{ + "shape":"ResponseCard", + "documentation":"

A set of possible responses for the slot type used by text-based clients. A user chooses an option from the response card, instead of using text to reply.

" + } + }, + "documentation":"

Identifies the version of a specific slot.

" + }, + "SlotConstraint":{ + "type":"string", + "enum":[ + "Required", + "Optional" + ] + }, + "SlotList":{ + "type":"list", + "member":{"shape":"Slot"}, + "max":100, + "min":0 + }, + "SlotName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z]+(((_|.)[a-zA-Z]+)*|([a-zA-Z]+(_|.))*|(_|.))" + }, + "SlotTypeMetadata":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot type.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was updated. When you create a resource, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the slot type.

" + } + }, + "documentation":"

Provides information about a slot type..

" + }, + "SlotTypeMetadataList":{ + "type":"list", + "member":{"shape":"SlotTypeMetadata"} + }, + "SlotTypeName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)" + }, + "SlotUtteranceList":{ + "type":"list", + "member":{"shape":"Utterance"}, + "max":10, + "min":0 + }, + "Statement":{ + "type":"structure", + "required":["messages"], + "members":{ + "messages":{ + "shape":"MessageList", + "documentation":"

A collection of message objects.

" + }, + "responseCard":{ + "shape":"ResponseCard", + "documentation":"

At runtime, if the client is using the API, Amazon Lex includes the response card in the response. It substitutes all of the session attributes and slot values for placeholders in the response card.

" + } + }, + "documentation":"

A collection of messages that convey information to the user. At runtime, Amazon Lex selects the message to convey.

" + }, + "Status":{ + "type":"string", + "enum":[ + "BUILDING", + "READY", + "FAILED", + "NOT_BUILT" + ] + }, + "StatusType":{ + "type":"string", + "enum":[ + "Detected", + "Missed" + ] + }, + "String":{"type":"string"}, + "Timestamp":{"type":"timestamp"}, + "UserId":{ + "type":"string", + "max":100, + "min":2 + }, + "Utterance":{ + "type":"string", + "max":200, + "min":1 + }, + "UtteranceData":{ + "type":"structure", + "members":{ + "utteranceString":{ + "shape":"UtteranceString", + "documentation":"

The text that was entered by the user or the text representation of an audio clip.

" + }, + "count":{ + "shape":"Count", + "documentation":"

The number of times that the utterance was processed.

" + }, + "distinctUsers":{ + "shape":"Count", + "documentation":"

The total number of individuals that used the utterance.

" + }, + "firstUtteredDate":{ + "shape":"Timestamp", + "documentation":"

The date that the utterance was first recorded.

" + }, + "lastUtteredDate":{ + "shape":"Timestamp", + "documentation":"

The date that the utterance was last recorded.

" + } + }, + "documentation":"

Provides information about a single utterance that was made to your bot.

" + }, + "UtteranceList":{ + "type":"structure", + "members":{ + "botVersion":{ + "shape":"Version", + "documentation":"

The version of the bot that processed the list.

" + }, + "utterances":{ + "shape":"ListOfUtterance", + "documentation":"

One or more objects that contain information about the utterances that have been made to a bot. The maximum number of object is 100.

" + } + }, + "documentation":"

Provides a list of utterances that have been made to a specific version of your bot. The list contains a maximum of 100 utterances.

" + }, + "UtteranceString":{ + "type":"string", + "max":2000, + "min":1 + }, + "Value":{ + "type":"string", + "max":140, + "min":1 + }, + "Version":{ + "type":"string", + "max":64, + "min":1, + "pattern":"\\$LATEST|[0-9]+" + } + }, + "documentation":"Amazon Lex Build-Time Actions

Amazon Lex is an AWS service for building conversational voice and text interfaces. Use these actions to create, update, and delete conversational bots for new and existing client applications.

" +} diff --git a/botocore/data/lex-runtime/2016-11-28/paginators-1.json b/botocore/data/lex-runtime/2016-11-28/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/lex-runtime/2016-11-28/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/lex-runtime/2016-11-28/service-2.json b/botocore/data/lex-runtime/2016-11-28/service-2.json new file mode 100644 index 00000000..d211b9f8 --- /dev/null +++ b/botocore/data/lex-runtime/2016-11-28/service-2.json @@ -0,0 +1,487 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-11-28", + "endpointPrefix":"runtime.lex", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Lex Runtime Service", + "signatureVersion":"v4", + "signingName":"lex", + "uid":"runtime.lex-2016-11-28" + }, + "operations":{ + "PostContent":{ + "name":"PostContent", + "http":{ + "method":"POST", + "requestUri":"/bot/{botName}/alias/{botAlias}/user/{userId}/content" + }, + "input":{"shape":"PostContentRequest"}, + "output":{"shape":"PostContentResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"}, + {"shape":"UnsupportedMediaTypeException"}, + {"shape":"NotAcceptableException"}, + {"shape":"RequestTimeoutException"}, + {"shape":"DependencyFailedException"}, + {"shape":"BadGatewayException"}, + {"shape":"LoopDetectedException"} + ], + "documentation":"

Sends user input (text or speech) to Amazon Lex. Clients use this API to send requests to Amazon Lex at runtime. Amazon Lex interprets the user input using the machine learning model that it built for the bot.

In response, Amazon Lex returns the next message to convey to the user. Consider the following example messages:

  • For a user input \"I would like a pizza,\" Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): \"What size pizza would you like?\".

  • After the user provides all of the pizza order information, Amazon Lex might return a response with a message to get user confirmation: \"Order the pizza?\".

  • After the user replies \"Yes\" to the confirmation prompt, Amazon Lex might return a conclusion statement: \"Thank you, your cheese pizza has been ordered.\".

Not all Amazon Lex messages require a response from the user. For example, conclusion statements do not require a response. Some messages require only a yes or no response. In addition to the message, Amazon Lex provides additional context about the message in the response that you can use to enhance client behavior, such as displaying the appropriate client user interface. Consider the following examples:

  • If the message is to elicit slot data, Amazon Lex returns the following context information:

    • x-amz-lex-dialog-state header set to ElicitSlot

    • x-amz-lex-intent-name header set to the intent name in the current context

    • x-amz-lex-slot-to-elicit header set to the slot name for which the message is eliciting information

    • x-amz-lex-slots header set to a map of slots configured for the intent with their current values

  • If the message is a confirmation prompt, the x-amz-lex-dialog-state header is set to Confirmation and the x-amz-lex-slot-to-elicit header is omitted.

  • If the message is a clarification prompt configured for the intent, indicating that the user intent is not understood, the x-amz-dialog-state header is set to ElicitIntent and the x-amz-slot-to-elicit header is omitted.

In addition, Amazon Lex also returns your application-specific sessionAttributes. For more information, see Managing Conversation Context.

", + "authtype":"v4-unsigned-body" + }, + "PostText":{ + "name":"PostText", + "http":{ + "method":"POST", + "requestUri":"/bot/{botName}/alias/{botAlias}/user/{userId}/text" + }, + "input":{"shape":"PostTextRequest"}, + "output":{"shape":"PostTextResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"}, + {"shape":"DependencyFailedException"}, + {"shape":"BadGatewayException"}, + {"shape":"LoopDetectedException"} + ], + "documentation":"

Sends user input (text-only) to Amazon Lex. Client applications can use this API to send requests to Amazon Lex at runtime. Amazon Lex then interprets the user input using the machine learning model it built for the bot.

In response, Amazon Lex returns the next message to convey to the user an optional responseCard to display. Consider the following example messages:

  • For a user input \"I would like a pizza\", Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): \"What size pizza would you like?\"

  • After the user provides all of the pizza order information, Amazon Lex might return a response with a message to obtain user confirmation \"Proceed with the pizza order?\".

  • After the user replies to a confirmation prompt with a \"yes\", Amazon Lex might return a conclusion statement: \"Thank you, your cheese pizza has been ordered.\".

Not all Amazon Lex messages require a user response. For example, a conclusion statement does not require a response. Some messages require only a \"yes\" or \"no\" user response. In addition to the message, Amazon Lex provides additional context about the message in the response that you might use to enhance client behavior, for example, to display the appropriate client user interface. These are the slotToElicit, dialogState, intentName, and slots fields in the response. Consider the following examples:

  • If the message is to elicit slot data, Amazon Lex returns the following context information:

    • dialogState set to ElicitSlot

    • intentName set to the intent name in the current context

    • slotToElicit set to the slot name for which the message is eliciting information

    • slots set to a map of slots, configured for the intent, with currently known values

  • If the message is a confirmation prompt, the dialogState is set to ConfirmIntent and SlotToElicit is set to null.

  • If the message is a clarification prompt (configured for the intent) that indicates that user intent is not understood, the dialogState is set to ElicitIntent and slotToElicit is set to null.

In addition, Amazon Lex also returns your application-specific sessionAttributes. For more information, see Managing Conversation Context.

" + } + }, + "shapes":{ + "Accept":{"type":"string"}, + "BadGatewayException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Either the Amazon Lex bot is still building, or one of the dependent services (Amazon Polly, AWS Lambda) failed with an internal service error.

", + "error":{"httpStatusCode":502}, + "exception":true + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Request validation failed, there is no usable message in the context, or the bot build failed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "BlobStream":{ + "type":"blob", + "streaming":true + }, + "BotAlias":{"type":"string"}, + "BotName":{"type":"string"}, + "Button":{ + "type":"structure", + "required":[ + "text", + "value" + ], + "members":{ + "text":{ + "shape":"ButtonTextStringWithLength", + "documentation":"

Text that is visible to the user on the button.

" + }, + "value":{ + "shape":"ButtonValueStringWithLength", + "documentation":"

The value sent to Amazon Lex when a user chooses the button. For example, consider button text \"NYC.\" When the user chooses the button, the value sent can be \"New York City.\"

" + } + }, + "documentation":"

Represents an option to be shown on the client platform (Facebook, Slack, etc.)

" + }, + "ButtonTextStringWithLength":{ + "type":"string", + "max":15, + "min":1 + }, + "ButtonValueStringWithLength":{ + "type":"string", + "max":1000, + "min":1 + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Two clients are using the same AWS account, Amazon Lex bot, and user ID.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ContentType":{ + "type":"string", + "enum":["application/vnd.amazonaws.card.generic"] + }, + "DependencyFailedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

One of the downstream dependencies, such as AWS Lambda or Amazon Polly, threw an exception. For example, if Amazon Lex does not have sufficient permissions to call a Lambda function, it results in Lambda throwing an exception.

", + "error":{"httpStatusCode":424}, + "exception":true + }, + "DialogState":{ + "type":"string", + "enum":[ + "ElicitIntent", + "ConfirmIntent", + "ElicitSlot", + "Fulfilled", + "ReadyForFulfillment", + "Failed" + ] + }, + "ErrorMessage":{"type":"string"}, + "GenericAttachment":{ + "type":"structure", + "members":{ + "title":{ + "shape":"StringWithLength", + "documentation":"

The title of the option.

" + }, + "subTitle":{ + "shape":"StringWithLength", + "documentation":"

The subtitle shown below the title.

" + }, + "attachmentLinkUrl":{ + "shape":"StringUrlWithLength", + "documentation":"

The URL of an attachment to the response card.

" + }, + "imageUrl":{ + "shape":"StringUrlWithLength", + "documentation":"

The URL of an image that is displayed to the user.

" + }, + "buttons":{ + "shape":"listOfButtons", + "documentation":"

The list of options to show to the user.

" + } + }, + "documentation":"

Represents an option rendered to the user when a prompt is shown. It could be an image, a button, a link, or text.

" + }, + "HttpContentType":{"type":"string"}, + "IntentName":{"type":"string"}, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Internal service error. Retry the call.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"String", + "location":"header", + "locationName":"Retry-After" + }, + "message":{"shape":"String"} + }, + "documentation":"

Exceeded a limit.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "LoopDetectedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Lambda fulfilment function returned DelegateDialogAction to Amazon Lex without changing any slot values.

", + "error":{"httpStatusCode":508}, + "exception":true + }, + "NotAcceptableException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The accept header in the request does not have a valid value.

", + "error":{"httpStatusCode":406}, + "exception":true + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The resource (such as the Amazon Lex bot or an alias) that is referred to is not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "PostContentRequest":{ + "type":"structure", + "required":[ + "botName", + "botAlias", + "userId", + "contentType", + "inputStream" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

Name of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"BotAlias", + "documentation":"

Alias of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botAlias" + }, + "userId":{ + "shape":"UserId", + "documentation":"

ID of the client application user. Typically, each of your application users should have a unique ID. The application developer decides the user IDs. At runtime, each request must include the user ID. Note the following considerations:

  • If you want a user to start conversation on one device and continue the conversation on another device, you might choose a user-specific identifier, such as the user's login, or Amazon Cognito user ID (assuming your application is using Amazon Cognito).

  • If you want the same user to be able to have two independent conversations on two different devices, you might choose device-specific identifier, such as device ID, or some globally unique identifier.

", + "location":"uri", + "locationName":"userId" + }, + "sessionAttributes":{ + "shape":"String", + "documentation":"

You pass this value in the x-amz-lex-session-attributes HTTP header. The value must be map (keys and values must be strings) that is JSON serialized and then base64 encoded.

A session represents dialog between a user and Amazon Lex. At runtime, a client application can pass contextual information, in the request to Amazon Lex. For example,

  • You might use session attributes to track the requestID of user requests.

  • In Getting Started Exercise 1, the example bot uses the price session attribute to maintain the price of flowers ordered (for example, \"price\":25). The code hook (Lambda function) sets this attribute based on the type of flowers ordered. For more information, see Review the Details of Information Flow.

  • In the BookTrip bot exercise, the bot uses the currentReservation session attribute to maintains the slot data during the in-progress conversation to book a hotel or book a car. For more information, see Details of Information Flow.

Amazon Lex passes these session attributes to the Lambda functions configured for the intent In the your Lambda function, you can use the session attributes for initialization and customization (prompts). Some examples are:

  • Initialization - In a pizza ordering bot, if you pass user location (for example, \"Location : 111 Maple Street\"), then your Lambda function might use this information to determine the closest pizzeria to place the order (and perhaps set the storeAddress slot value as well).

    Personalized prompts - For example, you can configure prompts to refer to the user by name (for example, \"Hey [firstName], what toppings would you like?\"). You can pass the user's name as a session attribute (\"firstName\": \"Joe\") so that Amazon Lex can substitute the placeholder to provide a personalized prompt to the user (\"Hey Joe, what toppings would you like?\").

Amazon Lex does not persist session attributes.

If you configured a code hook for the intent, Amazon Lex passes the incoming session attributes to the Lambda function. The Lambda function must return these session attributes if you want Amazon Lex to return them to the client.

If there is no code hook configured for the intent Amazon Lex simply returns the session attributes to the client application.

", + "jsonvalue":true, + "location":"header", + "locationName":"x-amz-lex-session-attributes" + }, + "contentType":{ + "shape":"HttpContentType", + "documentation":"

You pass this values as the Content-Type HTTP header.

Indicates the audio format or text. The header value must start with one of the following prefixes:

  • PCM format

    • audio/l16; rate=16000; channels=1

    • audio/x-l16; sample-rate=16000; channel-count=1

  • Opus format

    • audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=1; frame-size-milliseconds=1.1

  • Text format

    • text/plain; charset=utf-8

", + "location":"header", + "locationName":"Content-Type" + }, + "accept":{ + "shape":"Accept", + "documentation":"

You pass this value as the Accept HTTP header.

The message Amazon Lex returns in the response can be either text or speech based on the Accept HTTP header value in the request.

  • If the value is text/plain; charset=utf-8, Amazon Lex returns text in the response.

  • If the value begins with audio/, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in the Accept header). For example, if you specify audio/mpeg as the value, Amazon Lex returns speech in the MPEG format.

    The following are the accepted values:

    • audio/mpeg

    • audio/ogg

    • audio/pcm

    • text/plain; charset=utf-8

    • audio/* (defaults to mpeg)

", + "location":"header", + "locationName":"Accept" + }, + "inputStream":{ + "shape":"BlobStream", + "documentation":"

User input in PCM or Opus audio format or text format as described in the Content-Type HTTP header.

" + } + }, + "payload":"inputStream" + }, + "PostContentResponse":{ + "type":"structure", + "members":{ + "contentType":{ + "shape":"HttpContentType", + "documentation":"

Content type as specified in the Accept HTTP header in the request.

", + "location":"header", + "locationName":"Content-Type" + }, + "intentName":{ + "shape":"IntentName", + "documentation":"

Current user intent that Amazon Lex is aware of.

", + "location":"header", + "locationName":"x-amz-lex-intent-name" + }, + "slots":{ + "shape":"String", + "documentation":"

Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input during the conversation.

", + "jsonvalue":true, + "location":"header", + "locationName":"x-amz-lex-slots" + }, + "sessionAttributes":{ + "shape":"String", + "documentation":"

Map of key/value pairs representing the session-specific context information.

", + "jsonvalue":true, + "location":"header", + "locationName":"x-amz-lex-session-attributes" + }, + "message":{ + "shape":"Text", + "documentation":"

Message to convey to the user. It can come from the bot's configuration or a code hook (Lambda function). If the current intent is not configured with a code hook or if the code hook returned Delegate as the dialogAction.type in its response, then Amazon Lex decides the next course of action and selects an appropriate message from the bot configuration based on the current user interaction context. For example, if Amazon Lex is not able to understand the user input, it uses a clarification prompt message (For more information, see the Error Handling section in the Amazon Lex console). Another example: if the intent requires confirmation before fulfillment, then Amazon Lex uses the confirmation prompt message in the intent configuration. If the code hook returns a message, Amazon Lex passes it as-is in its response to the client.

", + "location":"header", + "locationName":"x-amz-lex-message" + }, + "dialogState":{ + "shape":"DialogState", + "documentation":"

Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState. The client can optionally use this information to customize the user interface.

  • ElicitIntent – Amazon Lex wants to elicit the user's intent. Consider the following examples:

    For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialog state.

  • ConfirmIntent – Amazon Lex is expecting a \"yes\" or \"no\" response.

    For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a simple \"yes\" or \"no\" response, a user might respond with additional information. For example, \"yes, but make it a thick crust pizza\" or \"no, I want to order a drink.\" Amazon Lex can process such additional information (in these examples, update the crust type slot or change the intent from OrderPizza to OrderDrink).

  • ElicitSlot – Amazon Lex is expecting the value of a slot for the current intent.

    For example, suppose that in the response Amazon Lex sends this message: \"What size pizza would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might also provide additional information in the response (e.g., \"medium thick crust pizza\"). Amazon Lex can process such additional information appropriately.

  • Fulfilled – Conveys that the Lambda function has successfully fulfilled the intent.

  • ReadyForFulfillment – Conveys that the client has to fullfill the request.

  • Failed – Conveys that the conversation with the user failed.

    This can happen for various reasons, including that the user does not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or if the Lambda function fails to fulfill the intent.

", + "location":"header", + "locationName":"x-amz-lex-dialog-state" + }, + "slotToElicit":{ + "shape":"String", + "documentation":"

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", + "location":"header", + "locationName":"x-amz-lex-slot-to-elicit" + }, + "inputTranscript":{ + "shape":"String", + "documentation":"

Transcript of the voice input to the operation.

", + "location":"header", + "locationName":"x-amz-lex-input-transcript" + }, + "audioStream":{ + "shape":"BlobStream", + "documentation":"

The prompt (or statement) to convey to the user. This is based on the bot configuration and context. For example, if Amazon Lex did not understand the user intent, it sends the clarificationPrompt configured for the bot. If the intent requires confirmation before taking the fulfillment action, it sends the confirmationPrompt. Another example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message to convey to the user. Then Amazon Lex sends that message in the response.

" + } + }, + "payload":"audioStream" + }, + "PostTextRequest":{ + "type":"structure", + "required":[ + "botName", + "botAlias", + "userId", + "inputText" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"BotAlias", + "documentation":"

The alias of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botAlias" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The ID of the client application user. The application developer decides the user IDs. At runtime, each request must include the user ID. Typically, each of your application users should have a unique ID. Note the following considerations:

  • If you want a user to start a conversation on one device and continue the conversation on another device, you might choose a user-specific identifier, such as a login or Amazon Cognito user ID (assuming your application is using Amazon Cognito).

  • If you want the same user to be able to have two independent conversations on two different devices, you might choose a device-specific identifier, such as device ID, or some globally unique identifier.

", + "location":"uri", + "locationName":"userId" + }, + "sessionAttributes":{ + "shape":"StringMap", + "documentation":"

By using session attributes, a client application can pass contextual information in the request to Amazon Lex For example,

  • In Getting Started Exercise 1, the example bot uses the price session attribute to maintain the price of the flowers ordered (for example, \"Price\":25). The code hook (the Lambda function) sets this attribute based on the type of flowers ordered. For more information, see Review the Details of Information Flow.

  • In the BookTrip bot exercise, the bot uses the currentReservation session attribute to maintain slot data during the in-progress conversation to book a hotel or book a car. For more information, see Details of Information Flow.

  • You might use the session attributes (key, value pairs) to track the requestID of user requests.

Amazon Lex simply passes these session attributes to the Lambda functions configured for the intent.

In your Lambda function, you can also use the session attributes for initialization and customization (prompts and response cards). Some examples are:

  • Initialization - In a pizza ordering bot, if you can pass the user location as a session attribute (for example, \"Location\" : \"111 Maple street\"), then your Lambda function might use this information to determine the closest pizzeria to place the order (perhaps to set the storeAddress slot value).

  • Personalize prompts - For example, you can configure prompts to refer to the user name. (For example, \"Hey [FirstName], what toppings would you like?\"). You can pass the user name as a session attribute (\"FirstName\" : \"Joe\") so that Amazon Lex can substitute the placeholder to provide a personalize prompt to the user (\"Hey Joe, what toppings would you like?\").

Amazon Lex does not persist session attributes.

If you configure a code hook for the intent, Amazon Lex passes the incoming session attributes to the Lambda function. If you want Amazon Lex to return these session attributes back to the client, the Lambda function must return them.

If there is no code hook configured for the intent, Amazon Lex simply returns the session attributes back to the client application.

" + }, + "inputText":{ + "shape":"Text", + "documentation":"

The text that the user entered (Amazon Lex interprets this text).

" + } + } + }, + "PostTextResponse":{ + "type":"structure", + "members":{ + "intentName":{ + "shape":"IntentName", + "documentation":"

The current user intent that Amazon Lex is aware of.

" + }, + "slots":{ + "shape":"StringMap", + "documentation":"

The intent slots (name/value pairs) that Amazon Lex detected so far from the user input in the conversation.

" + }, + "sessionAttributes":{ + "shape":"StringMap", + "documentation":"

A map of key-value pairs representing the session-specific context information.

" + }, + "message":{ + "shape":"Text", + "documentation":"

A message to convey to the user. It can come from the bot's configuration or a code hook (Lambda function). If the current intent is not configured with a code hook or the code hook returned Delegate as the dialogAction.type in its response, then Amazon Lex decides the next course of action and selects an appropriate message from the bot configuration based on the current user interaction context. For example, if Amazon Lex is not able to understand the user input, it uses a clarification prompt message (for more information, see the Error Handling section in the Amazon Lex console). Another example: if the intent requires confirmation before fulfillment, then Amazon Lex uses the confirmation prompt message in the intent configuration. If the code hook returns a message, Amazon Lex passes it as-is in its response to the client.

" + }, + "dialogState":{ + "shape":"DialogState", + "documentation":"

Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState. The client can optionally use this information to customize the user interface.

  • ElicitIntent – Amazon Lex wants to elicit user intent.

    For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialogState.

  • ConfirmIntent – Amazon Lex is expecting a \"yes\" or \"no\" response.

    For example, Amazon Lex wants user confirmation before fulfilling an intent.

    Instead of a simple \"yes\" or \"no,\" a user might respond with additional information. For example, \"yes, but make it thick crust pizza\" or \"no, I want to order a drink\". Amazon Lex can process such additional information (in these examples, update the crust type slot value, or change intent from OrderPizza to OrderDrink).

  • ElicitSlot – Amazon Lex is expecting a slot value for the current intent.

    For example, suppose that in the response Amazon Lex sends this message: \"What size pizza would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might also provide additional information in the response (e.g., \"medium thick crust pizza\"). Amazon Lex can process such additional information appropriately.

  • Fulfilled – Conveys that the Lambda function configured for the intent has successfully fulfilled the intent.

  • ReadyForFulfillment – Conveys that the client has to fulfill the intent.

  • Failed – Conveys that the conversation with the user failed.

    This can happen for various reasons including that the user did not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or the Lambda function failed to fulfill the intent.

" + }, + "slotToElicit":{ + "shape":"String", + "documentation":"

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

" + }, + "responseCard":{ + "shape":"ResponseCard", + "documentation":"

Represents the options that the user has to respond to the current prompt. Response Card can come from the bot configuration (in the Amazon Lex console, choose the settings button next to a slot) or from a code hook (Lambda function).

" + } + } + }, + "RequestTimeoutException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The input speech is too long.

", + "error":{"httpStatusCode":408}, + "exception":true + }, + "ResponseCard":{ + "type":"structure", + "members":{ + "version":{ + "shape":"String", + "documentation":"

The version of the response card format.

" + }, + "contentType":{ + "shape":"ContentType", + "documentation":"

The content type of the response.

" + }, + "genericAttachments":{ + "shape":"genericAttachmentList", + "documentation":"

An array of attachment objects representing options.

" + } + }, + "documentation":"

If you configure a response card when creating your bots, Amazon Lex substitutes the session attributes and slot values that are available, and then returns it. The response card can also come from a Lambda function ( dialogCodeHook and fulfillmentActivity on an intent).

" + }, + "String":{"type":"string"}, + "StringMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "StringUrlWithLength":{ + "type":"string", + "max":2048, + "min":1 + }, + "StringWithLength":{ + "type":"string", + "max":80, + "min":1 + }, + "Text":{ + "type":"string", + "max":1024, + "min":1 + }, + "UnsupportedMediaTypeException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The Content-Type header (PostContent API) has an invalid value.

", + "error":{"httpStatusCode":415}, + "exception":true + }, + "UserId":{ + "type":"string", + "max":100, + "min":2, + "pattern":"[0-9a-zA-Z._:-]+" + }, + "genericAttachmentList":{ + "type":"list", + "member":{"shape":"GenericAttachment"}, + "max":10, + "min":0 + }, + "listOfButtons":{ + "type":"list", + "member":{"shape":"Button"}, + "max":5, + "min":0 + } + }, + "documentation":"

Amazon Lex provides both build and runtime endpoints. Each endpoint provides a set of operations (API). Your conversational bot uses the runtime API to understand user utterances (user input text or voice). For example, suppose a user says \"I want pizza\", your bot sends this input to Amazon Lex using the runtime API. Amazon Lex recognizes that the user request is for the OrderPizza intent (one of the intents defined in the bot). Then Amazon Lex engages in user conversation on behalf of the bot to elicit required information (slot values, such as pizza size and crust type), and then performs fulfillment activity (that you configured when you created the bot). You use the build-time API to create and manage your Amazon Lex bot. For a list of build-time operations, see the build-time API, .

" +} diff --git a/botocore/data/lightsail/2016-11-28/examples-1.json b/botocore/data/lightsail/2016-11-28/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/lightsail/2016-11-28/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/lightsail/2016-11-28/paginators-1.json b/botocore/data/lightsail/2016-11-28/paginators-1.json index 98294362..7c9c475f 100644 --- a/botocore/data/lightsail/2016-11-28/paginators-1.json +++ b/botocore/data/lightsail/2016-11-28/paginators-1.json @@ -1,54 +1,49 @@ { - "pagination": { - "GetActiveNames": { - "input_token": "pageToken", - "output_token": "nextPageToken", - "result_key": "activeNames" - }, - "GetBlueprints": { - "input_token": "pageToken", - "output_token": "nextPageToken", - "result_key": "blueprints" - }, - "GetBundles": { - "input_token": "pageToken", - "output_token": "nextPageToken", - "result_key": "bundles" - }, - "GetDomains": { - "input_token": "pageToken", - "output_token": "nextPageToken", - "result_key": "domains" - }, - "GetInstanceSnapshots": { - "input_token": "pageToken", - "output_token": "nextPageToken", - "result_key": "instanceSnapshots" - }, - "GetInstances": { - "input_token": "pageToken", - "output_token": "nextPageToken", - "result_key": "instances" - }, - "GetKeyPairs": { - "input_token": "pageToken", - "output_token": "nextPageToken", - "result_key": "keyPairs" - }, - "GetOperations": { - "input_token": "pageToken", - "output_token": "nextPageToken", - "result_key": "operations" - }, - "GetStaticIps": { - "input_token": "pageToken", - "output_token": "nextPageToken", - "result_key": "staticIps" - }, - "GetActiveNames": { - "input_token": "pageToken", - "output_token": "nextPageToken", - "result_key": "activeNames" - } + "pagination": { + "GetActiveNames": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "activeNames" + }, + "GetBlueprints": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "blueprints" + }, + "GetBundles": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "bundles" + }, + "GetDomains": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "domains" + }, + "GetInstanceSnapshots": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "instanceSnapshots" + }, + "GetInstances": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "instances" + }, + "GetKeyPairs": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "keyPairs" + }, + "GetOperations": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "operations" + }, + "GetStaticIps": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "staticIps" } + } } diff --git a/botocore/data/lightsail/2016-11-28/service-2.json b/botocore/data/lightsail/2016-11-28/service-2.json index 287f46ff..dc0512f2 100644 --- a/botocore/data/lightsail/2016-11-28/service-2.json +++ b/botocore/data/lightsail/2016-11-28/service-2.json @@ -674,7 +674,7 @@ {"shape":"AccountSetupInProgressException"}, {"shape":"UnauthenticatedException"} ], - "documentation":"

Returns a list of all valid regions for Amazon Lightsail.

" + "documentation":"

Returns a list of all valid regions for Amazon Lightsail. Use the include availability zones parameter to also return the availability zones in a region.

" }, "GetStaticIp":{ "name":"GetStaticIp", @@ -790,6 +790,25 @@ ], "documentation":"

Tries to peer the Lightsail VPC with the user's default VPC.

" }, + "PutInstancePublicPorts":{ + "name":"PutInstancePublicPorts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutInstancePublicPortsRequest"}, + "output":{"shape":"PutInstancePublicPortsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Sets the specified open ports for an Amazon Lightsail instance, and closes all ports for every protocol not included in the current request.

" + }, "RebootInstance":{ "name":"RebootInstance", "http":{ @@ -985,7 +1004,7 @@ "members":{ "zoneName":{ "shape":"NonEmptyString", - "documentation":"

The name of the Availability Zone.

" + "documentation":"

The name of the Availability Zone. The format is us-east-1a (case-sensitive).

" }, "state":{ "shape":"NonEmptyString", @@ -1222,7 +1241,7 @@ }, "availabilityZone":{ "shape":"string", - "documentation":"

The Availability Zone where you want to create your instances. Use the following formatting: us-east-1a (case sensitive).

" + "documentation":"

The Availability Zone where you want to create your instances. Use the following formatting: us-east-1a (case sensitive). You can get a list of availability zones by using the get regions operation. Be sure to add the include availability zones parameter to your request.

" }, "instanceSnapshotName":{ "shape":"ResourceName", @@ -1266,11 +1285,12 @@ }, "availabilityZone":{ "shape":"string", - "documentation":"

The Availability Zone in which to create your instance. Use the following format: us-east-1a (case sensitive).

" + "documentation":"

The Availability Zone in which to create your instance. Use the following format: us-east-1a (case sensitive). You can get a list of availability zones by using the get regions operation. Be sure to add the include availability zones parameter to your request.

" }, "customImageName":{ "shape":"ResourceName", - "documentation":"

The name for your custom image.

" + "documentation":"

(Deprecated) The name for your custom image.

In releases prior to June 12, 2017, this parameter was ignored by the API. It is now deprecated.

", + "deprecated":true }, "blueprintId":{ "shape":"NonEmptyString", @@ -1818,7 +1838,7 @@ "type":"structure", "members":{ "portStates":{ - "shape":"PortStateList", + "shape":"InstancePortStateList", "documentation":"

Information about the port states resulting from your request.

" } } @@ -2007,7 +2027,12 @@ }, "nextPageCount":{ "shape":"string", - "documentation":"

Returns the number of pages of results that remain.

" + "documentation":"

(Deprecated) Returns the number of pages of results that remain.

In releases prior to June 12, 2017, this parameter returned null by the API. It is now deprecated, and the API returns the nextPageToken parameter instead.

", + "deprecated":true + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } } }, @@ -2301,7 +2326,7 @@ }, "protocol":{ "shape":"NetworkProtocol", - "documentation":"

The protocol.

" + "documentation":"

The protocol being used. Can be one of the following.

  • tcp - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.

  • all - All transport layer protocol types. For more general information, see Transport layer on Wikipedia.

  • udp - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.

" }, "accessFrom":{ "shape":"string", @@ -2326,6 +2351,32 @@ "type":"list", "member":{"shape":"InstancePortInfo"} }, + "InstancePortState":{ + "type":"structure", + "members":{ + "fromPort":{ + "shape":"Port", + "documentation":"

The first port in the range.

" + }, + "toPort":{ + "shape":"Port", + "documentation":"

The last port in the range.

" + }, + "protocol":{ + "shape":"NetworkProtocol", + "documentation":"

The protocol being used. Can be one of the following.

  • tcp - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.

  • all - All transport layer protocol types. For more general information, see Transport layer on Wikipedia.

  • udp - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.

" + }, + "state":{ + "shape":"PortState", + "documentation":"

Specifies whether the instance port is open or closed.

" + } + }, + "documentation":"

Describes the port state.

" + }, + "InstancePortStateList":{ + "type":"list", + "member":{"shape":"InstancePortState"} + }, "InstanceSnapshot":{ "type":"structure", "members":{ @@ -2418,7 +2469,7 @@ "message":{"shape":"string"}, "tip":{"shape":"string"} }, - "documentation":"

Lightsail throws this exception when user input does not conform to the validation rules of an input field.

", + "documentation":"

Lightsail throws this exception when user input does not conform to the validation rules of an input field.

Domain-related APIs are only available in the N. Virginia (us-east-1) Region. Please set your Region configuration to us-east-1 to create, view, or edit these resources.

", "exception":true }, "IpAddress":{ @@ -2717,6 +2768,7 @@ "StartInstance", "RebootInstance", "OpenInstancePublicPorts", + "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", @@ -2775,6 +2827,10 @@ }, "documentation":"

Describes information about the ports on your virtual private server (or instance).

" }, + "PortInfoList":{ + "type":"list", + "member":{"shape":"PortInfo"} + }, "PortState":{ "type":"string", "enum":[ @@ -2782,9 +2838,31 @@ "closed" ] }, - "PortStateList":{ - "type":"list", - "member":{"shape":"PortState"} + "PutInstancePublicPortsRequest":{ + "type":"structure", + "required":[ + "portInfos", + "instanceName" + ], + "members":{ + "portInfos":{ + "shape":"PortInfoList", + "documentation":"

Specifies information about the public port(s).

" + }, + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The Lightsail instance name of the public port(s) you are setting.

" + } + } + }, + "PutInstancePublicPortsResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

Describes metadata about the operation you just executed.

" + } + } }, "RebootInstanceRequest":{ "type":"structure", @@ -2826,7 +2904,7 @@ }, "availabilityZones":{ "shape":"AvailabilityZoneList", - "documentation":"

The Availability Zones.

" + "documentation":"

The Availability Zones. Follows the format us-east-1a (case-sensitive).

" } }, "documentation":"

Describes the AWS Region.

" @@ -2839,6 +2917,7 @@ "type":"string", "enum":[ "us-east-1", + "us-east-2", "us-west-1", "us-west-2", "eu-west-1", @@ -2874,7 +2953,7 @@ "members":{ "availabilityZone":{ "shape":"string", - "documentation":"

The Availability Zone.

" + "documentation":"

The Availability Zone. Follows the format us-east-1a (case-sensitive).

" }, "regionName":{ "shape":"RegionName", @@ -2907,7 +2986,8 @@ "tip":{"shape":"string"} }, "documentation":"

A general service exception.

", - "exception":true + "exception":true, + "fault":true }, "StartInstanceRequest":{ "type":"structure", @@ -3055,5 +3135,5 @@ "string":{"type":"string"}, "timestamp":{"type":"timestamp"} }, - "documentation":"

Amazon Lightsail is the easiest way to get started with AWS for developers who just need virtual private servers. Lightsail includes everything you need to launch your project quickly - a virtual machine, SSD-based storage, data transfer, DNS management, and a static IP - for a low, predictable price. You manage those Lightsail servers through the Lightsail console or by using the API or command-line interface (CLI).

For more information about Lightsail concepts and tasks, see the Lightsail Dev Guide.

To use the Lightsail API or the CLI, you will need to use AWS Identity and Access Management (IAM) to generate access keys. For details about how to set this up, see the Lightsail Dev Guide.

" + "documentation":"

Amazon Lightsail is the easiest way to get started with AWS for developers who just need virtual private servers. Lightsail includes everything you need to launch your project quickly - a virtual machine, SSD-based storage, data transfer, DNS management, and a static IP - for a low, predictable price. You manage those Lightsail servers through the Lightsail console or by using the API or command-line interface (CLI).

For more information about Lightsail concepts and tasks, see the Lightsail Dev Guide.

To use the Lightsail API or the CLI, you will need to use AWS Identity and Access Management (IAM) to generate access keys. For details about how to set this up, see the Lightsail Dev Guide.

" } diff --git a/botocore/data/logs/2014-03-28/examples-1.json b/botocore/data/logs/2014-03-28/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/logs/2014-03-28/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/logs/2014-03-28/service-2.json b/botocore/data/logs/2014-03-28/service-2.json index 57dfd9e3..3d60d0ec 100644 --- a/botocore/data/logs/2014-03-28/service-2.json +++ b/botocore/data/logs/2014-03-28/service-2.json @@ -387,7 +387,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination that belongs to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

There can only be one subscription filter associated with a log group.

" + "documentation":"

Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination that belongs to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

There can only be one subscription filter associated with a log group. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call will fail because you cannot associate a second filter with a log group.

" }, "TagLogGroup":{ "name":"TagLogGroup", @@ -723,7 +723,7 @@ }, "orderBy":{ "shape":"OrderBy", - "documentation":"

If the value is LogStreamName, the results are ordered by log stream name. If the value is LastEventTime, the results are ordered by the event time. The default value is LogStreamName.

If you order the results by event time, you cannot specify the logStreamNamePrefix parameter.

" + "documentation":"

If the value is LogStreamName, the results are ordered by log stream name. If the value is LastEventTime, the results are ordered by the event time. The default value is LogStreamName.

If you order the results by event time, you cannot specify the logStreamNamePrefix parameter.

lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in some rare situations.

" }, "descending":{ "shape":"Descending", @@ -845,7 +845,7 @@ }, "creationTime":{ "shape":"Timestamp", - "documentation":"

The creation time of the destination.

" + "documentation":"

The creation time of the destination, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" } }, "documentation":"

Represents a cross-account destination that receives subscription log events.

" @@ -935,11 +935,11 @@ "members":{ "creationTime":{ "shape":"Timestamp", - "documentation":"

The creation time of the export task.

" + "documentation":"

The creation time of the export task, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" }, "completionTime":{ "shape":"Timestamp", - "documentation":"

The completion time of the export task.

" + "documentation":"

The completion time of the export task, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" } }, "documentation":"

Represents the status of an export task.

" @@ -1074,7 +1074,7 @@ }, "ingestionTime":{ "shape":"Timestamp", - "documentation":"

The time the event was ingested.

" + "documentation":"

The time the event was ingested, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" }, "eventId":{ "shape":"EventId", @@ -1230,7 +1230,7 @@ }, "creationTime":{ "shape":"Timestamp", - "documentation":"

The creation time of the log group.

" + "documentation":"

The creation time of the log group, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" }, "retentionInDays":{"shape":"Days"}, "metricFilterCount":{ @@ -1267,7 +1267,7 @@ }, "creationTime":{ "shape":"Timestamp", - "documentation":"

The creation time of the stream.

" + "documentation":"

The creation time of the stream, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" }, "firstEventTimestamp":{ "shape":"Timestamp", @@ -1275,11 +1275,11 @@ }, "lastEventTimestamp":{ "shape":"Timestamp", - "documentation":"

The time of the last event, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" + "documentation":"

the time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTime updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in some rare situations.

" }, "lastIngestionTime":{ "shape":"Timestamp", - "documentation":"

The ingestion time.

" + "documentation":"

The ingestion time, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" }, "uploadSequenceToken":{ "shape":"SequenceToken", @@ -1321,7 +1321,7 @@ }, "creationTime":{ "shape":"Timestamp", - "documentation":"

The creation time of the metric filter.

" + "documentation":"

The creation time of the metric filter, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" }, "logGroupName":{ "shape":"LogGroupName", @@ -1437,7 +1437,7 @@ }, "ingestionTime":{ "shape":"Timestamp", - "documentation":"

The time the event was ingested.

" + "documentation":"

The time the event was ingested, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" } }, "documentation":"

Represents a log event.

" @@ -1589,7 +1589,7 @@ }, "filterName":{ "shape":"FilterName", - "documentation":"

A name for the subscription filter.

" + "documentation":"

A name for the subscription filter. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call will fail because you cannot associate a second filter with a log group. To find the name of the filter currently associated with a log group, use DescribeSubscriptionFilters.

" }, "filterPattern":{ "shape":"FilterPattern", @@ -1706,7 +1706,7 @@ }, "creationTime":{ "shape":"Timestamp", - "documentation":"

The creation time of the subscription filter.

" + "documentation":"

The creation time of the subscription filter, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" } }, "documentation":"

Represents a subscription filter.

" diff --git a/botocore/data/machinelearning/2014-12-12/examples-1.json b/botocore/data/machinelearning/2014-12-12/examples-1.json new file mode 100644 index 00000000..faff7689 --- /dev/null +++ b/botocore/data/machinelearning/2014-12-12/examples-1.json @@ -0,0 +1,5 @@ +{ + "version":"1.0", + "examples":{ + } +} diff --git a/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json b/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/marketplace-entitlement/2017-01-11/service-2.json b/botocore/data/marketplace-entitlement/2017-01-11/service-2.json new file mode 100644 index 00000000..4825b42b --- /dev/null +++ b/botocore/data/marketplace-entitlement/2017-01-11/service-2.json @@ -0,0 +1,182 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-01-11", + "endpointPrefix":"entitlement.marketplace", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Marketplace Entitlement Service", + "signatureVersion":"v4", + "signingName":"aws-marketplace", + "targetPrefix":"AWSMPEntitlementService", + "uid":"entitlement.marketplace-2017-01-11" + }, + "operations":{ + "GetEntitlements":{ + "name":"GetEntitlements", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEntitlementsRequest"}, + "output":{"shape":"GetEntitlementsResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

GetEntitlements retrieves entitlement values for a given product. The results can be filtered based on customer identifier or product dimensions.

" + } + }, + "shapes":{ + "Boolean":{"type":"boolean"}, + "Double":{"type":"double"}, + "Entitlement":{ + "type":"structure", + "members":{ + "ProductCode":{ + "shape":"ProductCode", + "documentation":"

The product code for which the given entitlement applies. Product codes are provided by AWS Marketplace when the product listing is created.

" + }, + "Dimension":{ + "shape":"NonEmptyString", + "documentation":"

The dimension for which the given entitlement applies. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace.

" + }, + "CustomerIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

The customer identifier is a handle to each unique customer in an application. Customer identifiers are obtained through the ResolveCustomer operation in AWS Marketplace Metering Service.

" + }, + "Value":{ + "shape":"EntitlementValue", + "documentation":"

The EntitlementValue represents the amount of capacity that the customer is entitled to for the product.

" + }, + "ExpirationDate":{ + "shape":"Timestamp", + "documentation":"

The expiration date represents the minimum date through which this entitlement is expected to remain valid. For contractual products listed on AWS Marketplace, the expiration date is the date at which the customer will renew or cancel their contract. Customers who are opting to renew their contract will still have entitlements with an expiration date.

" + } + }, + "documentation":"

An entitlement represents capacity in a product owned by the customer. For example, a customer might own some number of users or seats in an SaaS application or some amount of data capacity in a multi-tenant database.

" + }, + "EntitlementList":{ + "type":"list", + "member":{"shape":"Entitlement"}, + "min":0 + }, + "EntitlementValue":{ + "type":"structure", + "members":{ + "IntegerValue":{ + "shape":"Integer", + "documentation":"

The IntegerValue field will be populated with an integer value when the entitlement is an integer type. Otherwise, the field will not be set.

" + }, + "DoubleValue":{ + "shape":"Double", + "documentation":"

The DoubleValue field will be populated with a double value when the entitlement is a double type. Otherwise, the field will not be set.

" + }, + "BooleanValue":{ + "shape":"Boolean", + "documentation":"

The BooleanValue field will be populated with a boolean value when the entitlement is a boolean type. Otherwise, the field will not be set.

" + }, + "StringValue":{ + "shape":"String", + "documentation":"

The StringValue field will be populated with a string value when the entitlement is a string type. Otherwise, the field will not be set.

" + } + }, + "documentation":"

The EntitlementValue represents the amount of capacity that the customer is entitled to for the product.

" + }, + "ErrorMessage":{"type":"string"}, + "FilterValue":{"type":"string"}, + "FilterValueList":{ + "type":"list", + "member":{"shape":"FilterValue"}, + "min":1 + }, + "GetEntitlementFilterName":{ + "type":"string", + "enum":[ + "CUSTOMER_IDENTIFIER", + "DIMENSION" + ] + }, + "GetEntitlementFilters":{ + "type":"map", + "key":{"shape":"GetEntitlementFilterName"}, + "value":{"shape":"FilterValueList"} + }, + "GetEntitlementsRequest":{ + "type":"structure", + "required":["ProductCode"], + "members":{ + "ProductCode":{ + "shape":"ProductCode", + "documentation":"

Product code is used to uniquely identify a product in AWS Marketplace. The product code will be provided by AWS Marketplace when the product listing is created.

" + }, + "Filter":{ + "shape":"GetEntitlementFilters", + "documentation":"

Filter is used to return entitlements for a specific customer or for a specific dimension. Filters are described as keys mapped to a lists of values. Filtered requests are unioned for each value in the value list, and then intersected for each filter key.

" + }, + "NextToken":{ + "shape":"NonEmptyString", + "documentation":"

For paginated calls to GetEntitlements, pass the NextToken from the previous GetEntitlementsResult.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of items to retrieve from the GetEntitlements operation. For pagination, use the NextToken field in subsequent calls to GetEntitlements.

" + } + }, + "documentation":"

The GetEntitlementsRequest contains parameters for the GetEntitlements operation.

" + }, + "GetEntitlementsResult":{ + "type":"structure", + "members":{ + "Entitlements":{ + "shape":"EntitlementList", + "documentation":"

The set of entitlements found through the GetEntitlements operation. If the result contains an empty set of entitlements, NextToken might still be present and should be used.

" + }, + "NextToken":{ + "shape":"NonEmptyString", + "documentation":"

For paginated results, use NextToken in subsequent calls to GetEntitlements. If the result contains an empty set of entitlements, NextToken might still be present and should be used.

" + } + }, + "documentation":"

The GetEntitlementsRequest contains results from the GetEntitlements operation.

" + }, + "Integer":{"type":"integer"}, + "InternalServiceErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

An internal error has occurred. Retry your request. If the problem persists, post a message with details on the AWS forums.

", + "exception":true, + "fault":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

One or more parameters in your request was invalid.

", + "exception":true + }, + "NonEmptyString":{ + "type":"string", + "pattern":"\\S+" + }, + "ProductCode":{ + "type":"string", + "max":255, + "min":1 + }, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The calls to the GetEntitlements API are throttled.

", + "exception":true + }, + "Timestamp":{"type":"timestamp"} + }, + "documentation":"AWS Marketplace Entitlement Service

This reference provides descriptions of the AWS Marketplace Entitlement Service API.

AWS Marketplace Entitlement Service is used to determine the entitlement of a customer to a given product. An entitlement represents capacity in a product owned by the customer. For example, a customer might own some number of users or seats in an SaaS application or some amount of data capacity in a multi-tenant database.

Getting Entitlement Records

  • GetEntitlements- Gets the entitlements for a Marketplace product.

" +} diff --git a/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json b/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json b/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json b/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json index f247a660..ce18c64a 100644 --- a/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json +++ b/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json @@ -71,7 +71,8 @@ "customer_profile_by_industry", "customer_profile_by_revenue", "customer_profile_by_geography", - "sales_compensation_billed_revenue" + "sales_compensation_billed_revenue", + "us_sales_and_use_tax_records" ], "max":255, "min":1 @@ -95,7 +96,7 @@ "members":{ "dataSetType":{ "shape":"DataSetType", - "documentation":"

The desired data set type.

  • customer_subscriber_hourly_monthly_subscriptions - Available daily by 5:00 PM Pacific Time since 2014-07-21.
  • customer_subscriber_annual_subscriptions - Available daily by 5:00 PM Pacific Time since 2014-07-21.
  • daily_business_usage_by_instance_type - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_fees - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_free_trial_conversions - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_new_instances - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_new_product_subscribers - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_canceled_product_subscribers - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • monthly_revenue_billing_and_revenue_data - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2015-02.
  • monthly_revenue_annual_subscriptions - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2015-02.
  • disbursed_amount_by_product - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
  • disbursed_amount_by_product_with_uncollected_funds -This data set is only available from 2012-04-19 until 2015-01-25. After 2015-01-25, this data set was split into three data sets: disbursed_amount_by_product, disbursed_amount_by_age_of_uncollected_funds, and disbursed_amount_by_age_of_disbursed_funds.
  • disbursed_amount_by_instance_hours - Available every 30 days by 5:00 PM Pacific Time since 2012-09-04.
  • disbursed_amount_by_customer_geo - Available every 30 days by 5:00 PM Pacific Time since 2012-04-19.
  • disbursed_amount_by_age_of_uncollected_funds - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
  • disbursed_amount_by_age_of_disbursed_funds - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
  • customer_profile_by_industry - Available daily by 5:00 PM Pacific Time since 2015-10-01.
  • customer_profile_by_revenue - Available daily by 5:00 PM Pacific Time since 2015-10-01.
  • customer_profile_by_geography - Available daily by 5:00 PM Pacific Time since 2015-10-01.
  • sales_compensation_billed_revenue - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2016-12.

" + "documentation":"

The desired data set type.

  • customer_subscriber_hourly_monthly_subscriptions - Available daily by 5:00 PM Pacific Time since 2014-07-21.
  • customer_subscriber_annual_subscriptions - Available daily by 5:00 PM Pacific Time since 2014-07-21.
  • daily_business_usage_by_instance_type - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_fees - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_free_trial_conversions - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_new_instances - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_new_product_subscribers - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_canceled_product_subscribers - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • monthly_revenue_billing_and_revenue_data - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2015-02.
  • monthly_revenue_annual_subscriptions - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2015-02.
  • disbursed_amount_by_product - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
  • disbursed_amount_by_product_with_uncollected_funds -This data set is only available from 2012-04-19 until 2015-01-25. After 2015-01-25, this data set was split into three data sets: disbursed_amount_by_product, disbursed_amount_by_age_of_uncollected_funds, and disbursed_amount_by_age_of_disbursed_funds.
  • disbursed_amount_by_instance_hours - Available every 30 days by 5:00 PM Pacific Time since 2012-09-04.
  • disbursed_amount_by_customer_geo - Available every 30 days by 5:00 PM Pacific Time since 2012-04-19.
  • disbursed_amount_by_age_of_uncollected_funds - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
  • disbursed_amount_by_age_of_disbursed_funds - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
  • customer_profile_by_industry - Available daily by 5:00 PM Pacific Time since 2015-10-01.
  • customer_profile_by_revenue - Available daily by 5:00 PM Pacific Time since 2015-10-01.
  • customer_profile_by_geography - Available daily by 5:00 PM Pacific Time since 2015-10-01.
  • sales_compensation_billed_revenue - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2016-12.
  • us_sales_and_use_tax_records - Available monthly on the 15th day of the month by 5:00 PM Pacific Time since 2017-02-15.

" }, "dataSetPublicationDate":{ "shape":"DataSetPublicationDate", @@ -137,7 +138,10 @@ "MarketplaceCommerceAnalyticsException":{ "type":"structure", "members":{ - "message":{"shape":"ExceptionMessage"} + "message":{ + "shape":"ExceptionMessage", + "documentation":"This message describes details of the error." + } }, "documentation":"This exception is thrown when an internal service error occurs.", "exception":true, diff --git a/botocore/data/meteringmarketplace/2016-01-14/examples-1.json b/botocore/data/meteringmarketplace/2016-01-14/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/meteringmarketplace/2016-01-14/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/mturk/2017-01-17/paginators-1.json b/botocore/data/mturk/2017-01-17/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/mturk/2017-01-17/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/mturk/2017-01-17/service-2.json b/botocore/data/mturk/2017-01-17/service-2.json new file mode 100644 index 00000000..d2c77095 --- /dev/null +++ b/botocore/data/mturk/2017-01-17/service-2.json @@ -0,0 +1,2537 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-01-17", + "endpointPrefix":"mturk-requester", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"Amazon MTurk", + "serviceFullName":"Amazon Mechanical Turk", + "signatureVersion":"v4", + "targetPrefix":"MTurkRequesterServiceV20170117", + "uid":"mturk-requester-2017-01-17" + }, + "operations":{ + "AcceptQualificationRequest":{ + "name":"AcceptQualificationRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptQualificationRequestRequest"}, + "output":{"shape":"AcceptQualificationRequestResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The AcceptQualificationRequest operation approves a Worker's request for a Qualification.

Only the owner of the Qualification type can grant a Qualification request for that type.

A successful request for the AcceptQualificationRequest operation returns with no errors and an empty body.

" + }, + "ApproveAssignment":{ + "name":"ApproveAssignment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ApproveAssignmentRequest"}, + "output":{"shape":"ApproveAssignmentResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ApproveAssignment operation approves the results of a completed assignment.

Approving an assignment initiates two payments from the Requester's Amazon.com account

  • The Worker who submitted the results is paid the reward specified in the HIT.

  • Amazon Mechanical Turk fees are debited.

If the Requester's account does not have adequate funds for these payments, the call to ApproveAssignment returns an exception, and the approval is not processed. You can include an optional feedback message with the approval, which the Worker can see in the Status section of the web site.

You can also call this operation for assignments that were previous rejected and approve them by explicitly overriding the previous rejection. This only works on rejected assignments that were submitted within the previous 30 days and only if the assignment's related HIT has not been deleted.

", + "idempotent":true + }, + "AssociateQualificationWithWorker":{ + "name":"AssociateQualificationWithWorker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateQualificationWithWorkerRequest"}, + "output":{"shape":"AssociateQualificationWithWorkerResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The AssociateQualificationWithWorker operation gives a Worker a Qualification. AssociateQualificationWithWorker does not require that the Worker submit a Qualification request. It gives the Qualification directly to the Worker.

You can only assign a Qualification of a Qualification type that you created (using the CreateQualificationType operation).

Note: AssociateQualificationWithWorker does not affect any pending Qualification requests for the Qualification by the Worker. If you assign a Qualification to a Worker, then later grant a Qualification request made by the Worker, the granting of the request may modify the Qualification score. To resolve a pending Qualification request without affecting the Qualification the Worker already has, reject the request with the RejectQualificationRequest operation.

" + }, + "CreateAdditionalAssignmentsForHIT":{ + "name":"CreateAdditionalAssignmentsForHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAdditionalAssignmentsForHITRequest"}, + "output":{"shape":"CreateAdditionalAssignmentsForHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateAdditionalAssignmentsForHIT operation increases the maximum number of assignments of an existing HIT.

To extend the maximum number of assignments, specify the number of additional assignments.

  • HITs created with fewer than 10 assignments cannot be extended to have 10 or more assignments. Attempting to add assignments in a way that brings the total number of assignments for a HIT from fewer than 10 assignments to 10 or more assignments will result in an AWS.MechanicalTurk.InvalidMaximumAssignmentsIncrease exception.

  • HITs that were created before July 22, 2015 cannot be extended. Attempting to extend HITs that were created before July 22, 2015 will result in an AWS.MechanicalTurk.HITTooOldForExtension exception.

" + }, + "CreateHIT":{ + "name":"CreateHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHITRequest"}, + "output":{"shape":"CreateHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateHIT operation creates a new Human Intelligence Task (HIT). The new HIT is made available for Workers to find and accept on the Amazon Mechanical Turk website.

This operation allows you to specify a new HIT by passing in values for the properties of the HIT, such as its title, reward amount and number of assignments. When you pass these values to CreateHIT, a new HIT is created for you, with a new HITTypeID. The HITTypeID can be used to create additional HITs in the future without needing to specify common parameters such as the title, description and reward amount each time.

An alternative way to create HITs is to first generate a HITTypeID using the CreateHITType operation and then call the CreateHITWithHITType operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.

CreateHIT also supports several ways to provide question data: by providing a value for the Question parameter that fully specifies the contents of the HIT, or by providing a HitLayoutId and associated HitLayoutParameters.

If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see Amazon Mechanical Turk Pricing.

" + }, + "CreateHITType":{ + "name":"CreateHITType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHITTypeRequest"}, + "output":{"shape":"CreateHITTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateHITType operation creates a new HIT type. This operation allows you to define a standard set of HIT properties to use when creating HITs. If you register a HIT type with values that match an existing HIT type, the HIT type ID of the existing type will be returned.

", + "idempotent":true + }, + "CreateHITWithHITType":{ + "name":"CreateHITWithHITType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHITWithHITTypeRequest"}, + "output":{"shape":"CreateHITWithHITTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateHITWithHITType operation creates a new Human Intelligence Task (HIT) using an existing HITTypeID generated by the CreateHITType operation.

This is an alternative way to create HITs from the CreateHIT operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.

CreateHITWithHITType also supports several ways to provide question data: by providing a value for the Question parameter that fully specifies the contents of the HIT, or by providing a HitLayoutId and associated HitLayoutParameters.

If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see Amazon Mechanical Turk Pricing.

" + }, + "CreateQualificationType":{ + "name":"CreateQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateQualificationTypeRequest"}, + "output":{"shape":"CreateQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateQualificationType operation creates a new Qualification type, which is represented by a QualificationType data structure.

" + }, + "CreateWorkerBlock":{ + "name":"CreateWorkerBlock", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWorkerBlockRequest"}, + "output":{"shape":"CreateWorkerBlockResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateWorkerBlock operation allows you to prevent a Worker from working on your HITs. For example, you can block a Worker who is producing poor quality work. You can block up to 100,000 Workers.

" + }, + "DeleteHIT":{ + "name":"DeleteHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteHITRequest"}, + "output":{"shape":"DeleteHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The DeleteHIT operation is used to delete HIT that is no longer needed. Only the Requester who created the HIT can delete it.

You can only dispose of HITs that are in the Reviewable state, with all of their submitted assignments already either approved or rejected. If you call the DeleteHIT operation on a HIT that is not in the Reviewable state (for example, that has not expired, or still has active assignments), or on a HIT that is Reviewable but without all of its submitted assignments already approved or rejected, the service will return an error.

  • HITs are automatically disposed of after 120 days.

  • After you dispose of a HIT, you can no longer approve the HIT's rejected assignments.

  • Disposed HITs are not returned in results for the ListHITs operation.

  • Disposing HITs can improve the performance of operations such as ListReviewableHITs and ListHITs.

", + "idempotent":true + }, + "DeleteQualificationType":{ + "name":"DeleteQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteQualificationTypeRequest"}, + "output":{"shape":"DeleteQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The DeleteQualificationType deletes a Qualification type and deletes any HIT types that are associated with the Qualification type.

This operation does not revoke Qualifications already assigned to Workers because the Qualifications might be needed for active HITs. If there are any pending requests for the Qualification type, Amazon Mechanical Turk rejects those requests. After you delete a Qualification type, you can no longer use it to create HITs or HIT types.

DeleteQualificationType must wait for all the HITs that use the deleted Qualification type to be deleted before completing. It may take up to 48 hours before DeleteQualificationType completes and the unique name of the Qualification type is available for reuse with CreateQualificationType.

", + "idempotent":true + }, + "DeleteWorkerBlock":{ + "name":"DeleteWorkerBlock", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWorkerBlockRequest"}, + "output":{"shape":"DeleteWorkerBlockResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The DeleteWorkerBlock operation allows you to reinstate a blocked Worker to work on your HITs. This operation reverses the effects of the CreateWorkerBlock operation. You need the Worker ID to use this operation. If the Worker ID is missing or invalid, this operation fails and returns the message “WorkerId is invalid.” If the specified Worker is not blocked, this operation returns successfully.

", + "idempotent":true + }, + "DisassociateQualificationFromWorker":{ + "name":"DisassociateQualificationFromWorker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateQualificationFromWorkerRequest"}, + "output":{"shape":"DisassociateQualificationFromWorkerResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The DisassociateQualificationFromWorker revokes a previously granted Qualification from a user.

You can provide a text message explaining why the Qualification was revoked. The user who had the Qualification can see this message.

" + }, + "GetAccountBalance":{ + "name":"GetAccountBalance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAccountBalanceRequest"}, + "output":{"shape":"GetAccountBalanceResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetAccountBalance operation retrieves the amount of money in your Amazon Mechanical Turk account.

", + "idempotent":true + }, + "GetAssignment":{ + "name":"GetAssignment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAssignmentRequest"}, + "output":{"shape":"GetAssignmentResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetAssignment operation retrieves the details of the specified Assignment.

", + "idempotent":true + }, + "GetFileUploadURL":{ + "name":"GetFileUploadURL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFileUploadURLRequest"}, + "output":{"shape":"GetFileUploadURLResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetFileUploadURL operation generates and returns a temporary URL. You use the temporary URL to retrieve a file uploaded by a Worker as an answer to a FileUploadAnswer question for a HIT. The temporary URL is generated the instant the GetFileUploadURL operation is called, and is valid for 60 seconds. You can get a temporary file upload URL any time until the HIT is disposed. After the HIT is disposed, any uploaded files are deleted, and cannot be retrieved.

", + "idempotent":true + }, + "GetHIT":{ + "name":"GetHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetHITRequest"}, + "output":{"shape":"GetHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetHIT operation retrieves the details of the specified HIT.

", + "idempotent":true + }, + "GetQualificationScore":{ + "name":"GetQualificationScore", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQualificationScoreRequest"}, + "output":{"shape":"GetQualificationScoreResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetQualificationScore operation returns the value of a Worker's Qualification for a given Qualification type.

To get a Worker's Qualification, you must know the Worker's ID. The Worker's ID is included in the assignment data returned by the ListAssignmentsForHIT operation.

Only the owner of a Qualification type can query the value of a Worker's Qualification of that type.

", + "idempotent":true + }, + "GetQualificationType":{ + "name":"GetQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQualificationTypeRequest"}, + "output":{"shape":"GetQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetQualificationTypeoperation retrieves information about a Qualification type using its ID.

", + "idempotent":true + }, + "ListAssignmentsForHIT":{ + "name":"ListAssignmentsForHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAssignmentsForHITRequest"}, + "output":{"shape":"ListAssignmentsForHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListAssignmentsForHIT operation retrieves completed assignments for a HIT. You can use this operation to retrieve the results for a HIT.

You can get assignments for a HIT at any time, even if the HIT is not yet Reviewable. If a HIT requested multiple assignments, and has received some results but has not yet become Reviewable, you can still retrieve the partial results with this operation.

Use the AssignmentStatus parameter to control which set of assignments for a HIT are returned. The ListAssignmentsForHIT operation can return submitted assignments awaiting approval, or it can return assignments that have already been approved or rejected. You can set AssignmentStatus=Approved,Rejected to get assignments that have already been approved and rejected together in one result set.

Only the Requester who created the HIT can retrieve the assignments for that HIT.

Results are sorted and divided into numbered pages and the operation returns a single page of results. You can use the parameters of the operation to control sorting and pagination.

", + "idempotent":true + }, + "ListBonusPayments":{ + "name":"ListBonusPayments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBonusPaymentsRequest"}, + "output":{"shape":"ListBonusPaymentsResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListBonusPayments operation retrieves the amounts of bonuses you have paid to Workers for a given HIT or assignment.

", + "idempotent":true + }, + "ListHITs":{ + "name":"ListHITs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHITsRequest"}, + "output":{"shape":"ListHITsResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListHITs operation returns all of a Requester's HITs. The operation returns HITs of any status, except for HITs that have been deleted of with the DeleteHIT operation or that have been auto-deleted.

", + "idempotent":true + }, + "ListHITsForQualificationType":{ + "name":"ListHITsForQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHITsForQualificationTypeRequest"}, + "output":{"shape":"ListHITsForQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListHITsForQualificationType operation returns the HITs that use the given Qualification type for a Qualification requirement. The operation returns HITs of any status, except for HITs that have been deleted with the DeleteHIT operation or that have been auto-deleted.

", + "idempotent":true + }, + "ListQualificationRequests":{ + "name":"ListQualificationRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListQualificationRequestsRequest"}, + "output":{"shape":"ListQualificationRequestsResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListQualificationRequests operation retrieves requests for Qualifications of a particular Qualification type. The owner of the Qualification type calls this operation to poll for pending requests, and accepts them using the AcceptQualification operation.

", + "idempotent":true + }, + "ListQualificationTypes":{ + "name":"ListQualificationTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListQualificationTypesRequest"}, + "output":{"shape":"ListQualificationTypesResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListQualificationRequests operation retrieves requests for Qualifications of a particular Qualification type. The owner of the Qualification type calls this operation to poll for pending requests, and accepts them using the AcceptQualification operation.

", + "idempotent":true + }, + "ListReviewPolicyResultsForHIT":{ + "name":"ListReviewPolicyResultsForHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListReviewPolicyResultsForHITRequest"}, + "output":{"shape":"ListReviewPolicyResultsForHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListReviewPolicyResultsForHIT operation retrieves the computed results and the actions taken in the course of executing your Review Policies for a given HIT. For information about how to specify Review Policies when you call CreateHIT, see Review Policies. The ListReviewPolicyResultsForHIT operation can return results for both Assignment-level and HIT-level review results.

", + "idempotent":true + }, + "ListReviewableHITs":{ + "name":"ListReviewableHITs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListReviewableHITsRequest"}, + "output":{"shape":"ListReviewableHITsResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListReviewableHITs operation retrieves the HITs with Status equal to Reviewable or Status equal to Reviewing that belong to the Requester calling the operation.

", + "idempotent":true + }, + "ListWorkerBlocks":{ + "name":"ListWorkerBlocks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWorkerBlocksRequest"}, + "output":{"shape":"ListWorkerBlocksResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListWorkersBlocks operation retrieves a list of Workers who are blocked from working on your HITs.

", + "idempotent":true + }, + "ListWorkersWithQualificationType":{ + "name":"ListWorkersWithQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWorkersWithQualificationTypeRequest"}, + "output":{"shape":"ListWorkersWithQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListWorkersWithQualificationType operation returns all of the Workers that have been associated with a given Qualification type.

", + "idempotent":true + }, + "NotifyWorkers":{ + "name":"NotifyWorkers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"NotifyWorkersRequest"}, + "output":{"shape":"NotifyWorkersResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The NotifyWorkers operation sends an email to one or more Workers that you specify with the Worker ID. You can specify up to 100 Worker IDs to send the same message with a single call to the NotifyWorkers operation. The NotifyWorkers operation will send a notification email to a Worker only if you have previously approved or rejected work from the Worker.

" + }, + "RejectAssignment":{ + "name":"RejectAssignment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectAssignmentRequest"}, + "output":{"shape":"RejectAssignmentResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The RejectAssignment operation rejects the results of a completed assignment.

You can include an optional feedback message with the rejection, which the Worker can see in the Status section of the web site. When you include a feedback message with the rejection, it helps the Worker understand why the assignment was rejected, and can improve the quality of the results the Worker submits in the future.

Only the Requester who created the HIT can reject an assignment for the HIT.

", + "idempotent":true + }, + "RejectQualificationRequest":{ + "name":"RejectQualificationRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectQualificationRequestRequest"}, + "output":{"shape":"RejectQualificationRequestResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The RejectQualificationRequest operation rejects a user's request for a Qualification.

You can provide a text message explaining why the request was rejected. The Worker who made the request can see this message.

" + }, + "SendBonus":{ + "name":"SendBonus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendBonusRequest"}, + "output":{"shape":"SendBonusResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The SendBonus operation issues a payment of money from your account to a Worker. This payment happens separately from the reward you pay to the Worker when you approve the Worker's assignment. The SendBonus operation requires the Worker's ID and the assignment ID as parameters to initiate payment of the bonus. You must include a message that explains the reason for the bonus payment, as the Worker may not be expecting the payment. Amazon Mechanical Turk collects a fee for bonus payments, similar to the HIT listing fee. This operation fails if your account does not have enough funds to pay for both the bonus and the fees.

" + }, + "SendTestEventNotification":{ + "name":"SendTestEventNotification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendTestEventNotificationRequest"}, + "output":{"shape":"SendTestEventNotificationResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The SendTestEventNotification operation causes Amazon Mechanical Turk to send a notification message as if a HIT event occurred, according to the provided notification specification. This allows you to test notifications without setting up notifications for a real HIT type and trying to trigger them using the website. When you call this operation, the service attempts to send the test notification immediately.

" + }, + "UpdateExpirationForHIT":{ + "name":"UpdateExpirationForHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateExpirationForHITRequest"}, + "output":{"shape":"UpdateExpirationForHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The UpdateExpirationForHIT operation allows you update the expiration time of a HIT. If you update it to a time in the past, the HIT will be immediately expired.

", + "idempotent":true + }, + "UpdateHITReviewStatus":{ + "name":"UpdateHITReviewStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateHITReviewStatusRequest"}, + "output":{"shape":"UpdateHITReviewStatusResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The UpdateHITReviewStatus operation updates the status of a HIT. If the status is Reviewable, this operation can update the status to Reviewing, or it can revert a Reviewing HIT back to the Reviewable status.

", + "idempotent":true + }, + "UpdateHITTypeOfHIT":{ + "name":"UpdateHITTypeOfHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateHITTypeOfHITRequest"}, + "output":{"shape":"UpdateHITTypeOfHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The UpdateHITTypeOfHIT operation allows you to change the HITType properties of a HIT. This operation disassociates the HIT from its old HITType properties and associates it with the new HITType properties. The HIT takes on the properties of the new HITType in place of the old ones.

", + "idempotent":true + }, + "UpdateNotificationSettings":{ + "name":"UpdateNotificationSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNotificationSettingsRequest"}, + "output":{"shape":"UpdateNotificationSettingsResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The UpdateNotificationSettings operation creates, updates, disables or re-enables notifications for a HIT type. If you call the UpdateNotificationSettings operation for a HIT type that already has a notification specification, the operation replaces the old specification with a new one. You can call the UpdateNotificationSettings operation to enable or disable notifications for the HIT type, without having to modify the notification specification itself by providing updates to the Active status without specifying a new notification specification. To change the Active status of a HIT type's notifications, the HIT type must already have a notification specification, or one must be provided in the same call to UpdateNotificationSettings.

", + "idempotent":true + }, + "UpdateQualificationType":{ + "name":"UpdateQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateQualificationTypeRequest"}, + "output":{"shape":"UpdateQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The UpdateQualificationType operation modifies the attributes of an existing Qualification type, which is represented by a QualificationType data structure. Only the owner of a Qualification type can modify its attributes.

Most attributes of a Qualification type can be changed after the type has been created. However, the Name and Keywords fields cannot be modified. The RetryDelayInSeconds parameter can be modified or added to change the delay or to enable retries, but RetryDelayInSeconds cannot be used to disable retries.

You can use this operation to update the test for a Qualification type. The test is updated based on the values specified for the Test, TestDurationInSeconds and AnswerKey parameters. All three parameters specify the updated test. If you are updating the test for a type, you must specify the Test and TestDurationInSeconds parameters. The AnswerKey parameter is optional; omitting it specifies that the updated test does not have an answer key.

If you omit the Test parameter, the test for the Qualification type is unchanged. There is no way to remove a test from a Qualification type that has one. If the type already has a test, you cannot update it to be AutoGranted. If the Qualification type does not have a test and one is provided by an update, the type will henceforth have a test.

If you want to update the test duration or answer key for an existing test without changing the questions, you must specify a Test parameter with the original questions, along with the updated values.

If you provide an updated Test but no AnswerKey, the new test will not have an answer key. Requests for such Qualifications must be granted manually.

You can also update the AutoGranted and AutoGrantedValue attributes of the Qualification type.

" + } + }, + "shapes":{ + "AcceptQualificationRequestRequest":{ + "type":"structure", + "required":["QualificationRequestId"], + "members":{ + "QualificationRequestId":{ + "shape":"String", + "documentation":"

The ID of the Qualification request, as returned by the GetQualificationRequests operation.

" + }, + "IntegerValue":{ + "shape":"Integer", + "documentation":"

The value of the Qualification. You can omit this value if you are using the presence or absence of the Qualification as the basis for a HIT requirement.

" + } + } + }, + "AcceptQualificationRequestResponse":{ + "type":"structure", + "members":{ + } + }, + "ApproveAssignmentRequest":{ + "type":"structure", + "required":["AssignmentId"], + "members":{ + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment. The assignment must correspond to a HIT created by the Requester.

" + }, + "RequesterFeedback":{ + "shape":"String", + "documentation":"

A message for the Worker, which the Worker can see in the Status section of the web site.

" + }, + "OverrideRejection":{ + "shape":"Boolean", + "documentation":"

A flag indicating that an assignment should be approved even if it was previously rejected. Defaults to False.

" + } + } + }, + "ApproveAssignmentResponse":{ + "type":"structure", + "members":{ + } + }, + "Assignment":{ + "type":"structure", + "members":{ + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

A unique identifier for the assignment.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker who accepted the HIT.

" + }, + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT.

" + }, + "AssignmentStatus":{ + "shape":"AssignmentStatus", + "documentation":"

The status of the assignment.

" + }, + "AutoApprovalTime":{ + "shape":"Timestamp", + "documentation":"

If results have been submitted, AutoApprovalTime is the date and time the results of the assignment results are considered Approved automatically if they have not already been explicitly approved or rejected by the Requester. This value is derived from the auto-approval delay specified by the Requester in the HIT. This value is omitted from the assignment if the Worker has not yet submitted results.

" + }, + "AcceptTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the Worker accepted the assignment.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

If the Worker has submitted results, SubmitTime is the date and time the assignment was submitted. This value is omitted from the assignment if the Worker has not yet submitted results.

" + }, + "ApprovalTime":{ + "shape":"Timestamp", + "documentation":"

If the Worker has submitted results and the Requester has approved the results, ApprovalTime is the date and time the Requester approved the results. This value is omitted from the assignment if the Requester has not yet approved the results.

" + }, + "RejectionTime":{ + "shape":"Timestamp", + "documentation":"

If the Worker has submitted results and the Requester has rejected the results, RejectionTime is the date and time the Requester rejected the results.

" + }, + "Deadline":{ + "shape":"Timestamp", + "documentation":"

The date and time of the deadline for the assignment. This value is derived from the deadline specification for the HIT and the date and time the Worker accepted the HIT.

" + }, + "Answer":{ + "shape":"String", + "documentation":"

The Worker's answers submitted for the HIT contained in a QuestionFormAnswers document, if the Worker provides an answer. If the Worker does not provide any answers, Answer may contain a QuestionFormAnswers document, or Answer may be empty.

" + }, + "RequesterFeedback":{ + "shape":"String", + "documentation":"

The feedback string included with the call to the ApproveAssignment operation or the RejectAssignment operation, if the Requester approved or rejected the assignment and specified feedback.

" + } + }, + "documentation":"

The Assignment data structure represents a single assignment of a HIT to a Worker. The assignment tracks the Worker's efforts to complete the HIT, and contains the results for later retrieval.

" + }, + "AssignmentList":{ + "type":"list", + "member":{"shape":"Assignment"} + }, + "AssignmentStatus":{ + "type":"string", + "enum":[ + "Submitted", + "Approved", + "Rejected" + ] + }, + "AssignmentStatusList":{ + "type":"list", + "member":{"shape":"AssignmentStatus"} + }, + "AssociateQualificationWithWorkerRequest":{ + "type":"structure", + "required":[ + "QualificationTypeId", + "WorkerId" + ], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type to use for the assigned Qualification.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker to whom the Qualification is being assigned. Worker IDs are included with submitted HIT assignments and Qualification requests.

" + }, + "IntegerValue":{ + "shape":"Integer", + "documentation":"

The value of the Qualification to assign.

" + }, + "SendNotification":{ + "shape":"Boolean", + "documentation":"

Specifies whether to send a notification email message to the Worker saying that the qualification was assigned to the Worker. Note: this is true by default.

" + } + } + }, + "AssociateQualificationWithWorkerResponse":{ + "type":"structure", + "members":{ + } + }, + "BonusPayment":{ + "type":"structure", + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker to whom the bonus was paid.

" + }, + "BonusAmount":{"shape":"NumericValue"}, + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment associated with this bonus payment.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

The Reason text given when the bonus was granted, if any.

" + }, + "GrantTime":{ + "shape":"Timestamp", + "documentation":"

The date and time of when the bonus was granted.

" + } + }, + "documentation":"

An object representing a Bonus payment paid to a Worker.

" + }, + "BonusPaymentList":{ + "type":"list", + "member":{"shape":"BonusPayment"} + }, + "Boolean":{"type":"boolean"}, + "Comparator":{ + "type":"string", + "enum":[ + "LessThan", + "LessThanOrEqualTo", + "GreaterThan", + "GreaterThanOrEqualTo", + "EqualTo", + "NotEqualTo", + "Exists", + "DoesNotExist", + "In", + "NotIn" + ] + }, + "CountryParameters":{ + "type":"string", + "max":2, + "min":2 + }, + "CreateAdditionalAssignmentsForHITRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT to extend.

" + }, + "NumberOfAdditionalAssignments":{ + "shape":"Integer", + "documentation":"

The number of additional assignments to request for this HIT.

" + }, + "UniqueRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique identifier for this request, which allows you to retry the call on error without extending the HIT multiple times. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the extend HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return an error with a message containing the request ID.

" + } + } + }, + "CreateAdditionalAssignmentsForHITResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateHITRequest":{ + "type":"structure", + "required":[ + "LifetimeInSeconds", + "AssignmentDurationInSeconds", + "Reward", + "Title", + "Description" + ], + "members":{ + "MaxAssignments":{ + "shape":"Integer", + "documentation":"

The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

" + }, + "AutoApprovalDelayInSeconds":{ + "shape":"Long", + "documentation":"

The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it.

" + }, + "LifetimeInSeconds":{ + "shape":"Long", + "documentation":"

An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted.

" + }, + "AssignmentDurationInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept.

" + }, + "Reward":{ + "shape":"NumericValue", + "documentation":"

The amount of money the Requester will pay a Worker for successfully completing the HIT.

" + }, + "Title":{ + "shape":"String", + "documentation":"

The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned.

" + }, + "Keywords":{ + "shape":"String", + "documentation":"

One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it.

" + }, + "Question":{ + "shape":"String", + "documentation":"

The data the person completing the HIT uses to produce the results.

Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, or an HTMLQuestion data structure. The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace.

Either a Question parameter or a HITLayoutId parameter must be provided.

" + }, + "RequesterAnnotation":{ + "shape":"String", + "documentation":"

An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester's application that corresponds with the HIT.

The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester.

The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped.

" + }, + "QualificationRequirements":{ + "shape":"QualificationRequirementList", + "documentation":"

A condition that a Worker's Qualifications must meet before the Worker is allowed to accept and complete the HIT.

" + }, + "UniqueRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique identifier for this request which allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId.

Note: It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs.

" + }, + "AssignmentReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" + }, + "HITReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" + }, + "HITLayoutId":{ + "shape":"EntityId", + "documentation":"

The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters.

Constraints: Either a Question parameter or a HITLayoutId parameter must be provided.

" + }, + "HITLayoutParameters":{ + "shape":"HITLayoutParameterList", + "documentation":"

If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout.

" + } + } + }, + "CreateHITResponse":{ + "type":"structure", + "members":{ + "HIT":{ + "shape":"HIT", + "documentation":"

Contains the newly created HIT data. For a description of the HIT data structure as it appears in responses, see the HIT Data Structure documentation.

" + } + } + }, + "CreateHITTypeRequest":{ + "type":"structure", + "required":[ + "AssignmentDurationInSeconds", + "Reward", + "Title", + "Description" + ], + "members":{ + "AutoApprovalDelayInSeconds":{ + "shape":"Long", + "documentation":"

The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it.

" + }, + "AssignmentDurationInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept.

" + }, + "Reward":{ + "shape":"NumericValue", + "documentation":"

The amount of money the Requester will pay a Worker for successfully completing the HIT.

" + }, + "Title":{ + "shape":"String", + "documentation":"

The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned.

" + }, + "Keywords":{ + "shape":"String", + "documentation":"

One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it.

" + }, + "QualificationRequirements":{ + "shape":"QualificationRequirementList", + "documentation":"

A condition that a Worker's Qualifications must meet before the Worker is allowed to accept and complete the HIT.

" + } + } + }, + "CreateHITTypeResponse":{ + "type":"structure", + "members":{ + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the newly registered HIT type.

" + } + } + }, + "CreateHITWithHITTypeRequest":{ + "type":"structure", + "required":[ + "HITTypeId", + "LifetimeInSeconds" + ], + "members":{ + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The HIT type ID you want to create this HIT with.

" + }, + "MaxAssignments":{ + "shape":"Integer", + "documentation":"

The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

" + }, + "LifetimeInSeconds":{ + "shape":"Long", + "documentation":"

An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted.

" + }, + "Question":{ + "shape":"String", + "documentation":"

The data the person completing the HIT uses to produce the results.

Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, or an HTMLQuestion data structure. The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace.

Either a Question parameter or a HITLayoutId parameter must be provided.

" + }, + "RequesterAnnotation":{ + "shape":"String", + "documentation":"

An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester's application that corresponds with the HIT.

The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester.

The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped.

" + }, + "UniqueRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique identifier for this request which allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId.

Note: It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs.

" + }, + "AssignmentReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" + }, + "HITReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" + }, + "HITLayoutId":{ + "shape":"EntityId", + "documentation":"

The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters.

Constraints: Either a Question parameter or a HITLayoutId parameter must be provided.

" + }, + "HITLayoutParameters":{ + "shape":"HITLayoutParameterList", + "documentation":"

If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout.

" + } + } + }, + "CreateHITWithHITTypeResponse":{ + "type":"structure", + "members":{ + "HIT":{ + "shape":"HIT", + "documentation":"

Contains the newly created HIT data. For a description of the HIT data structure as it appears in responses, see the HIT Data Structure documentation.

" + } + } + }, + "CreateQualificationTypeRequest":{ + "type":"structure", + "required":[ + "Name", + "Description", + "QualificationTypeStatus" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name you give to the Qualification type. The type name is used to represent the Qualification to Workers, and to find the type using a Qualification type search. It must be unique across all of your Qualification types.

" + }, + "Keywords":{ + "shape":"String", + "documentation":"

One or more words or phrases that describe the Qualification type, separated by commas. The keywords of a type make the type easier to find during a search.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A long description for the Qualification type. On the Amazon Mechanical Turk website, the long description is displayed when a Worker examines a Qualification type.

" + }, + "QualificationTypeStatus":{ + "shape":"QualificationTypeStatus", + "documentation":"

The initial status of the Qualification type.

Constraints: Valid values are: Active | Inactive

" + }, + "RetryDelayInSeconds":{ + "shape":"Long", + "documentation":"

The number of seconds that a Worker must wait after requesting a Qualification of the Qualification type before the worker can retry the Qualification request.

Constraints: None. If not specified, retries are disabled and Workers can request a Qualification of this type only once, even if the Worker has not been granted the Qualification. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must delete existing retry-enabled Qualification type and then create a new Qualification type with retries disabled.

" + }, + "Test":{ + "shape":"String", + "documentation":"

The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds must also be specified.

Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.

Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.

" + }, + "AnswerKey":{ + "shape":"String", + "documentation":"

The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.

Constraints: Must not be longer than 65535 bytes.

Constraints: None. If not specified, you must process Qualification requests manually.

" + }, + "TestDurationInSeconds":{ + "shape":"Long", + "documentation":"

The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.

" + }, + "AutoGranted":{ + "shape":"Boolean", + "documentation":"

Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test.

Constraints: If the Test parameter is specified, this parameter cannot be true.

" + }, + "AutoGrantedValue":{ + "shape":"Integer", + "documentation":"

The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.

" + } + } + }, + "CreateQualificationTypeResponse":{ + "type":"structure", + "members":{ + "QualificationType":{ + "shape":"QualificationType", + "documentation":"

The created Qualification type, returned as a QualificationType data structure.

" + } + } + }, + "CreateWorkerBlockRequest":{ + "type":"structure", + "required":[ + "WorkerId", + "Reason" + ], + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker to block.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A message explaining the reason for blocking the Worker. This parameter enables you to keep track of your Workers. The Worker does not see this message.

" + } + } + }, + "CreateWorkerBlockResponse":{ + "type":"structure", + "members":{ + } + }, + "CustomerId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^A[A-Z0-9]+$" + }, + "CustomerIdList":{ + "type":"list", + "member":{"shape":"CustomerId"} + }, + "DeleteHITRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT to be deleted.

" + } + } + }, + "DeleteHITResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteQualificationTypeRequest":{ + "type":"structure", + "required":["QualificationTypeId"], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the QualificationType to dispose.

" + } + } + }, + "DeleteQualificationTypeResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteWorkerBlockRequest":{ + "type":"structure", + "required":["WorkerId"], + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker to unblock.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A message that explains the reason for unblocking the Worker. The Worker does not see this message.

" + } + } + }, + "DeleteWorkerBlockResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateQualificationFromWorkerRequest":{ + "type":"structure", + "required":[ + "WorkerId", + "QualificationTypeId" + ], + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker who possesses the Qualification to be revoked.

" + }, + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type of the Qualification to be revoked.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A text message that explains why the Qualification was revoked. The user who had the Qualification sees this message.

" + } + } + }, + "DisassociateQualificationFromWorkerResponse":{ + "type":"structure", + "members":{ + } + }, + "EntityId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[A-Z0-9]+$" + }, + "EventType":{ + "type":"string", + "enum":[ + "AssignmentAccepted", + "AssignmentAbandoned", + "AssignmentReturned", + "AssignmentSubmitted", + "AssignmentRejected", + "AssignmentApproved", + "HITCreated", + "HITExpired", + "HITReviewable", + "HITExtended", + "HITDisposed", + "Ping" + ] + }, + "EventTypeList":{ + "type":"list", + "member":{"shape":"EventType"} + }, + "ExceptionMessage":{"type":"string"}, + "GetAccountBalanceRequest":{ + "type":"structure", + "members":{ + } + }, + "GetAccountBalanceResponse":{ + "type":"structure", + "members":{ + "AvailableBalance":{"shape":"NumericValue"}, + "OnHoldBalance":{"shape":"NumericValue"} + } + }, + "GetAssignmentRequest":{ + "type":"structure", + "required":["AssignmentId"], + "members":{ + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the Assignment to be retrieved.

" + } + } + }, + "GetAssignmentResponse":{ + "type":"structure", + "members":{ + "Assignment":{ + "shape":"Assignment", + "documentation":"

The assignment. The response includes one Assignment element.

" + }, + "HIT":{ + "shape":"HIT", + "documentation":"

The HIT associated with this assignment. The response includes one HIT element.

" + } + } + }, + "GetFileUploadURLRequest":{ + "type":"structure", + "required":[ + "AssignmentId", + "QuestionIdentifier" + ], + "members":{ + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment that contains the question with a FileUploadAnswer.

" + }, + "QuestionIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the question with a FileUploadAnswer, as specified in the QuestionForm of the HIT.

" + } + } + }, + "GetFileUploadURLResponse":{ + "type":"structure", + "members":{ + "FileUploadURL":{ + "shape":"String", + "documentation":"

A temporary URL for the file that the Worker uploaded for the answer.

" + } + } + }, + "GetHITRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT to be retrieved.

" + } + } + }, + "GetHITResponse":{ + "type":"structure", + "members":{ + "HIT":{ + "shape":"HIT", + "documentation":"

Contains the requested HIT data.

" + } + } + }, + "GetQualificationScoreRequest":{ + "type":"structure", + "required":[ + "QualificationTypeId", + "WorkerId" + ], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the QualificationType.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker whose Qualification is being updated.

" + } + } + }, + "GetQualificationScoreResponse":{ + "type":"structure", + "members":{ + "Qualification":{ + "shape":"Qualification", + "documentation":"

The Qualification data structure of the Qualification assigned to a user, including the Qualification type and the value (score).

" + } + } + }, + "GetQualificationTypeRequest":{ + "type":"structure", + "required":["QualificationTypeId"], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the QualificationType.

" + } + } + }, + "GetQualificationTypeResponse":{ + "type":"structure", + "members":{ + "QualificationType":{ + "shape":"QualificationType", + "documentation":"

The returned Qualification Type

" + } + } + }, + "HIT":{ + "type":"structure", + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

A unique identifier for the HIT.

" + }, + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT type of this HIT

" + }, + "HITGroupId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT Group of this HIT.

" + }, + "HITLayoutId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT Layout of this HIT.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the HIT was created.

" + }, + "Title":{ + "shape":"String", + "documentation":"

The title of the HIT.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A general description of the HIT.

" + }, + "Question":{ + "shape":"String", + "documentation":"

The data the Worker completing the HIT uses produce the results. This is either either a QuestionForm, HTMLQuestion or an ExternalQuestion data structure.

" + }, + "Keywords":{ + "shape":"String", + "documentation":"

One or more words or phrases that describe the HIT, separated by commas. Search terms similar to the keywords of a HIT are more likely to have the HIT in the search results.

" + }, + "HITStatus":{ + "shape":"HITStatus", + "documentation":"

The status of the HIT and its assignments. Valid Values are Assignable | Unassignable | Reviewable | Reviewing | Disposed.

" + }, + "MaxAssignments":{ + "shape":"Integer", + "documentation":"

The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

" + }, + "Reward":{"shape":"NumericValue"}, + "AutoApprovalDelayInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, after the Worker submits an assignment for the HIT that the results are automatically approved by Amazon Mechanical Turk. This is the amount of time the Requester has to reject an assignment submitted by a Worker before the assignment is auto-approved and the Worker is paid.

" + }, + "Expiration":{ + "shape":"Timestamp", + "documentation":"

The date and time the HIT expires.

" + }, + "AssignmentDurationInSeconds":{ + "shape":"Long", + "documentation":"

The length of time, in seconds, that a Worker has to complete the HIT after accepting it.

" + }, + "RequesterAnnotation":{ + "shape":"String", + "documentation":"

An arbitrary data field the Requester who created the HIT can use. This field is visible only to the creator of the HIT.

" + }, + "QualificationRequirements":{ + "shape":"QualificationRequirementList", + "documentation":"

A condition that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met by a Worker's Qualifications for the Worker to accept the HIT.

" + }, + "HITReviewStatus":{ + "shape":"HITReviewStatus", + "documentation":"

Indicates the review status of the HIT. Valid Values are NotReviewed | MarkedForReview | ReviewedAppropriate | ReviewedInappropriate.

" + }, + "NumberOfAssignmentsPending":{ + "shape":"Integer", + "documentation":"

The number of assignments for this HIT that are being previewed or have been accepted by Workers, but have not yet been submitted, returned, or abandoned.

" + }, + "NumberOfAssignmentsAvailable":{ + "shape":"Integer", + "documentation":"

The number of assignments for this HIT that are available for Workers to accept.

" + }, + "NumberOfAssignmentsCompleted":{ + "shape":"Integer", + "documentation":"

The number of assignments for this HIT that have been approved or rejected.

" + } + }, + "documentation":"

The HIT data structure represents a single HIT, including all the information necessary for a Worker to accept and complete the HIT.

" + }, + "HITLayoutParameter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the parameter in the HITLayout.

" + }, + "Value":{ + "shape":"String", + "documentation":"

The value substituted for the parameter referenced in the HITLayout.

" + } + }, + "documentation":"

The HITLayoutParameter data structure defines parameter values used with a HITLayout. A HITLayout is a reusable Amazon Mechanical Turk project template used to provide Human Intelligence Task (HIT) question data for CreateHIT.

" + }, + "HITLayoutParameterList":{ + "type":"list", + "member":{"shape":"HITLayoutParameter"} + }, + "HITList":{ + "type":"list", + "member":{"shape":"HIT"} + }, + "HITReviewStatus":{ + "type":"string", + "enum":[ + "NotReviewed", + "MarkedForReview", + "ReviewedAppropriate", + "ReviewedInappropriate" + ] + }, + "HITStatus":{ + "type":"string", + "enum":[ + "Assignable", + "Unassignable", + "Reviewable", + "Reviewing", + "Disposed" + ] + }, + "IdempotencyToken":{ + "type":"string", + "max":64, + "min":1 + }, + "Integer":{"type":"integer"}, + "IntegerList":{ + "type":"list", + "member":{"shape":"Integer"} + }, + "ListAssignmentsForHITRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token

" + }, + "MaxResults":{"shape":"ResultSize"}, + "AssignmentStatuses":{ + "shape":"AssignmentStatusList", + "documentation":"

The status of the assignments to return: Submitted | Approved | Rejected

" + } + } + }, + "ListAssignmentsForHITResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of assignments on the page in the filtered results list, equivalent to the number of assignments returned by this call.

" + }, + "Assignments":{ + "shape":"AssignmentList", + "documentation":"

The collection of Assignment data structures returned by this call.

" + } + } + }, + "ListBonusPaymentsRequest":{ + "type":"structure", + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT associated with the bonus payments to retrieve. If not specified, all bonus payments for all assignments for the given HIT are returned. Either the HITId parameter or the AssignmentId parameter must be specified

" + }, + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment associated with the bonus payments to retrieve. If specified, only bonus payments for the given assignment are returned. Either the HITId parameter or the AssignmentId parameter must be specified

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token

" + }, + "MaxResults":{"shape":"ResultSize"} + } + }, + "ListBonusPaymentsResponse":{ + "type":"structure", + "members":{ + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of bonus payments on this page in the filtered results list, equivalent to the number of bonus payments being returned by this call.

" + }, + "NextToken":{"shape":"PaginationToken"}, + "BonusPayments":{ + "shape":"BonusPaymentList", + "documentation":"

A successful request to the ListBonusPayments operation returns a list of BonusPayment objects.

" + } + } + }, + "ListHITsForQualificationTypeRequest":{ + "type":"structure", + "required":["QualificationTypeId"], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type to use when querying HITs.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination Token

" + }, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

Limit the number of results returned.

" + } + } + }, + "ListHITsForQualificationTypeResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of HITs on this page in the filtered results list, equivalent to the number of HITs being returned by this call.

" + }, + "HITs":{ + "shape":"HITList", + "documentation":"

The list of HIT elements returned by the query.

" + } + } + }, + "ListHITsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token

" + }, + "MaxResults":{"shape":"ResultSize"} + } + }, + "ListHITsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of HITs on this page in the filtered results list, equivalent to the number of HITs being returned by this call.

" + }, + "HITs":{ + "shape":"HITList", + "documentation":"

The list of HIT elements returned by the query.

" + } + } + }, + "ListQualificationRequestsRequest":{ + "type":"structure", + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the QualificationType.

" + }, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

The maximum number of results to return in a single call.

" + } + } + }, + "ListQualificationRequestsResponse":{ + "type":"structure", + "members":{ + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of Qualification requests on this page in the filtered results list, equivalent to the number of Qualification requests being returned by this call.

" + }, + "NextToken":{"shape":"PaginationToken"}, + "QualificationRequests":{ + "shape":"QualificationRequestList", + "documentation":"

The Qualification request. The response includes one QualificationRequest element for each Qualification request returned by the query.

" + } + } + }, + "ListQualificationTypesRequest":{ + "type":"structure", + "required":["MustBeRequestable"], + "members":{ + "Query":{ + "shape":"String", + "documentation":"

A text query against all of the searchable attributes of Qualification types.

" + }, + "MustBeRequestable":{ + "shape":"Boolean", + "documentation":"

Specifies that only Qualification types that a user can request through the Amazon Mechanical Turk web site, such as by taking a Qualification test, are returned as results of the search. Some Qualification types, such as those assigned automatically by the system, cannot be requested directly by users. If false, all Qualification types, including those managed by the system, are considered. Valid values are True | False.

" + }, + "MustBeOwnedByCaller":{ + "shape":"Boolean", + "documentation":"

Specifies that only Qualification types that the Requester created are returned. If false, the operation returns all Qualification types.

" + }, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

The maximum number of results to return in a single call.

" + } + } + }, + "ListQualificationTypesResponse":{ + "type":"structure", + "members":{ + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of Qualification types on this page in the filtered results list, equivalent to the number of types this operation returns.

" + }, + "NextToken":{"shape":"PaginationToken"}, + "QualificationTypes":{ + "shape":"QualificationTypeList", + "documentation":"

The list of QualificationType elements returned by the query.

" + } + } + }, + "ListReviewPolicyResultsForHITRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The unique identifier of the HIT to retrieve review results for.

" + }, + "PolicyLevels":{ + "shape":"ReviewPolicyLevelList", + "documentation":"

The Policy Level(s) to retrieve review results for - HIT or Assignment. If omitted, the default behavior is to retrieve all data for both policy levels. For a list of all the described policies, see Review Policies.

" + }, + "RetrieveActions":{ + "shape":"Boolean", + "documentation":"

Specify if the operation should retrieve a list of the actions taken executing the Review Policies and their outcomes.

" + }, + "RetrieveResults":{ + "shape":"Boolean", + "documentation":"

Specify if the operation should retrieve a list of the results computed by the Review Policies.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token

" + }, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

Limit the number of results returned.

" + } + } + }, + "ListReviewPolicyResultsForHITResponse":{ + "type":"structure", + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The HITId of the HIT for which results have been returned.

" + }, + "AssignmentReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The name of the Assignment-level Review Policy. This contains only the PolicyName element.

" + }, + "HITReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The name of the HIT-level Review Policy. This contains only the PolicyName element.

" + }, + "AssignmentReviewReport":{ + "shape":"ReviewReport", + "documentation":"

Contains both ReviewResult and ReviewAction elements for an Assignment.

" + }, + "HITReviewReport":{ + "shape":"ReviewReport", + "documentation":"

Contains both ReviewResult and ReviewAction elements for a particular HIT.

" + }, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListReviewableHITsRequest":{ + "type":"structure", + "members":{ + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT type of the HITs to consider for the query. If not specified, all HITs for the Reviewer are considered

" + }, + "Status":{ + "shape":"ReviewableHITStatus", + "documentation":"

Can be either Reviewable or Reviewing. Reviewable is the default value.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination Token

" + }, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

Limit the number of results returned.

" + } + } + }, + "ListReviewableHITsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of HITs on this page in the filtered results list, equivalent to the number of HITs being returned by this call.

" + }, + "HITs":{ + "shape":"HITList", + "documentation":"

The list of HIT elements returned by the query.

" + } + } + }, + "ListWorkerBlocksRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token

" + }, + "MaxResults":{"shape":"ResultSize"} + } + }, + "ListWorkerBlocksResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of assignments on the page in the filtered results list, equivalent to the number of assignments returned by this call.

" + }, + "WorkerBlocks":{ + "shape":"WorkerBlockList", + "documentation":"

The list of WorkerBlocks, containing the collection of Worker IDs and reasons for blocking.

" + } + } + }, + "ListWorkersWithQualificationTypeRequest":{ + "type":"structure", + "required":["QualificationTypeId"], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type of the Qualifications to return.

" + }, + "Status":{ + "shape":"QualificationStatus", + "documentation":"

The status of the Qualifications to return. Can be Granted | Revoked.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination Token

" + }, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

Limit the number of results returned.

" + } + } + }, + "ListWorkersWithQualificationTypeResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of Qualifications on this page in the filtered results list, equivalent to the number of Qualifications being returned by this call.

" + }, + "Qualifications":{ + "shape":"QualificationList", + "documentation":"

The list of Qualification elements returned by this call.

" + } + } + }, + "Locale":{ + "type":"structure", + "required":["Country"], + "members":{ + "Country":{ + "shape":"CountryParameters", + "documentation":"

The country of the locale. Must be a valid ISO 3166 country code. For example, the code US refers to the United States of America.

" + }, + "Subdivision":{ + "shape":"CountryParameters", + "documentation":"

The state or subdivision of the locale. A valid ISO 3166-2 subdivision code. For example, the code WA refers to the state of Washington.

" + } + }, + "documentation":"

The Locale data structure represents a geographical region or location.

" + }, + "LocaleList":{ + "type":"list", + "member":{"shape":"Locale"} + }, + "Long":{"type":"long"}, + "NotificationSpecification":{ + "type":"structure", + "required":[ + "Destination", + "Transport" + ], + "members":{ + "Destination":{ + "shape":"String", + "documentation":"

The destination for notification messages. or email notifications (if Transport is Email), this is an email address. For Amazon Simple Queue Service (Amazon SQS) notifications (if Transport is SQS), this is the URL for your Amazon SQS queue.

" + }, + "Transport":{ + "shape":"NotificationTransport", + "documentation":"

The method Amazon Mechanical Turk uses to send the notification. Valid Values: Email | SQS.

" + }, + "Version":{ + "shape":"String", + "documentation":"

The version of the Notification API to use. Valid value is 2006-05-05.

" + }, + "EventTypes":{ + "shape":"EventTypeList", + "documentation":"

The list of events that should cause notifications to be sent. Valid Values: AssignmentAccepted | AssignmentAbandoned | AssignmentReturned | AssignmentSubmitted | AssignmentRejected | AssignmentApproved | HITCreated | HITExtended | HITDisposed | HITReviewable | HITExpired | Ping. The Ping event is only valid for the SendTestEventNotification operation.

" + } + }, + "documentation":"

The NotificationSpecification data structure describes a HIT event notification for a HIT type.

" + }, + "NotificationTransport":{ + "type":"string", + "enum":[ + "Email", + "SQS" + ] + }, + "NotifyWorkersFailureCode":{ + "type":"string", + "enum":[ + "SoftFailure", + "HardFailure" + ] + }, + "NotifyWorkersFailureStatus":{ + "type":"structure", + "members":{ + "NotifyWorkersFailureCode":{ + "shape":"NotifyWorkersFailureCode", + "documentation":"

Encoded value for the failure type.

" + }, + "NotifyWorkersFailureMessage":{ + "shape":"String", + "documentation":"

A message detailing the reason the Worker could not be notified.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker.

" + } + }, + "documentation":"

When MTurk encounters an issue with notifying the Workers you specified, it returns back this object with failure details.

" + }, + "NotifyWorkersFailureStatusList":{ + "type":"list", + "member":{"shape":"NotifyWorkersFailureStatus"} + }, + "NotifyWorkersRequest":{ + "type":"structure", + "required":[ + "Subject", + "MessageText", + "WorkerIds" + ], + "members":{ + "Subject":{ + "shape":"String", + "documentation":"

The subject line of the email message to send. Can include up to 200 characters.

" + }, + "MessageText":{ + "shape":"String", + "documentation":"

The text of the email message to send. Can include up to 4,096 characters

" + }, + "WorkerIds":{ + "shape":"CustomerIdList", + "documentation":"

A list of Worker IDs you wish to notify. You can notify upto 100 Workers at a time.

" + } + } + }, + "NotifyWorkersResponse":{ + "type":"structure", + "members":{ + "NotifyWorkersFailureStatuses":{ + "shape":"NotifyWorkersFailureStatusList", + "documentation":"

When MTurk sends notifications to the list of Workers, it returns back any failures it encounters in this list of NotifyWorkersFailureStatus objects.

" + } + } + }, + "NumericValue":{ + "type":"string", + "documentation":"

A string representing a numeric value.

", + "pattern":"^[0-9]+(\\.)?[0-9]*$" + }, + "PaginationToken":{ + "type":"string", + "documentation":"

If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

", + "max":255, + "min":1 + }, + "ParameterMapEntry":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The QuestionID from the HIT that is used to identify which question requires Mechanical Turk to score as part of the ScoreMyKnownAnswers/2011-09-01 Review Policy.

" + }, + "Values":{ + "shape":"StringList", + "documentation":"

The list of answers to the question specified in the MapEntry Key element. The Worker must match all values in order for the answer to be scored correctly.

" + } + }, + "documentation":"

This data structure is the data type for the AnswerKey parameter of the ScoreMyKnownAnswers/2011-09-01 Review Policy.

" + }, + "ParameterMapEntryList":{ + "type":"list", + "member":{"shape":"ParameterMapEntry"} + }, + "PolicyParameter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

Name of the parameter from the list of Review Polices.

" + }, + "Values":{ + "shape":"StringList", + "documentation":"

The list of values of the Parameter

" + }, + "MapEntries":{ + "shape":"ParameterMapEntryList", + "documentation":"

List of ParameterMapEntry objects.

" + } + }, + "documentation":"

Name of the parameter from the Review policy.

" + }, + "PolicyParameterList":{ + "type":"list", + "member":{"shape":"PolicyParameter"} + }, + "Qualification":{ + "type":"structure", + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type for the Qualification.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker who possesses the Qualification.

" + }, + "GrantTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the Qualification was granted to the Worker. If the Worker's Qualification was revoked, and then re-granted based on a new Qualification request, GrantTime is the date and time of the last call to the AcceptQualificationRequest operation.

" + }, + "IntegerValue":{ + "shape":"Integer", + "documentation":"

The value (score) of the Qualification, if the Qualification has an integer value.

" + }, + "LocaleValue":{"shape":"Locale"}, + "Status":{ + "shape":"QualificationStatus", + "documentation":"

The status of the Qualification. Valid values are Granted | Revoked.

" + } + }, + "documentation":"

The Qualification data structure represents a Qualification assigned to a user, including the Qualification type and the value (score).

" + }, + "QualificationList":{ + "type":"list", + "member":{"shape":"Qualification"} + }, + "QualificationRequest":{ + "type":"structure", + "members":{ + "QualificationRequestId":{ + "shape":"String", + "documentation":"

The ID of the Qualification request, a unique identifier generated when the request was submitted.

" + }, + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type the Worker is requesting, as returned by the CreateQualificationType operation.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker requesting the Qualification.

" + }, + "Test":{ + "shape":"String", + "documentation":"

The contents of the Qualification test that was presented to the Worker, if the type has a test and the Worker has submitted answers. This value is identical to the QuestionForm associated with the Qualification type at the time the Worker requests the Qualification.

" + }, + "Answer":{ + "shape":"String", + "documentation":"

The Worker's answers for the Qualification type's test contained in a QuestionFormAnswers document, if the type has a test and the Worker has submitted answers. If the Worker does not provide any answers, Answer may be empty.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the Qualification request had a status of Submitted. This is either the time the Worker submitted answers for a Qualification test, or the time the Worker requested the Qualification if the Qualification type does not have a test.

" + } + }, + "documentation":"

The QualificationRequest data structure represents a request a Worker has made for a Qualification.

" + }, + "QualificationRequestList":{ + "type":"list", + "member":{"shape":"QualificationRequest"} + }, + "QualificationRequirement":{ + "type":"structure", + "required":[ + "QualificationTypeId", + "Comparator" + ], + "members":{ + "QualificationTypeId":{ + "shape":"String", + "documentation":"

The ID of the Qualification type for the requirement.

" + }, + "Comparator":{ + "shape":"Comparator", + "documentation":"

The kind of comparison to make against a Qualification's value. You can compare a Qualification's value to an IntegerValue to see if it is LessThan, LessThanOrEqualTo, GreaterThan, GreaterThanOrEqualTo, EqualTo, or NotEqualTo the IntegerValue. You can compare it to a LocaleValue to see if it is EqualTo, or NotEqualTo the LocaleValue. You can check to see if the value is In or NotIn a set of IntegerValue or LocaleValue values. Lastly, a Qualification requirement can also test if a Qualification Exists or DoesNotExist in the user's profile, regardless of its value.

" + }, + "IntegerValues":{ + "shape":"IntegerList", + "documentation":"

The integer value to compare against the Qualification's value. IntegerValue must not be present if Comparator is Exists or DoesNotExist. IntegerValue can only be used if the Qualification type has an integer value; it cannot be used with the Worker_Locale QualificationType ID. When performing a set comparison by using the In or the NotIn comparator, you can use up to 15 IntegerValue elements in a QualificationRequirement data structure.

" + }, + "LocaleValues":{ + "shape":"LocaleList", + "documentation":"

The locale value to compare against the Qualification's value. The local value must be a valid ISO 3166 country code or supports ISO 3166-2 subdivisions. LocaleValue can only be used with a Worker_Locale QualificationType ID. LocaleValue can only be used with the EqualTo, NotEqualTo, In, and NotIn comparators. You must only use a single LocaleValue element when using the EqualTo or NotEqualTo comparators. When performing a set comparison by using the In or the NotIn comparator, you can use up to 30 LocaleValue elements in a QualificationRequirement data structure.

" + }, + "RequiredToPreview":{ + "shape":"Boolean", + "documentation":"

If true, the question data for the HIT will not be shown when a Worker whose Qualifications do not meet this requirement tries to preview the HIT. That is, a Worker's Qualifications must meet all of the requirements for which RequiredToPreview is true in order to preview the HIT. If a Worker meets all of the requirements where RequiredToPreview is true (or if there are no such requirements), but does not meet all of the requirements for the HIT, the Worker will be allowed to preview the HIT's question data, but will not be allowed to accept and complete the HIT. The default is false.

" + } + }, + "documentation":"

The QualificationRequirement data structure describes a Qualification that a Worker must have before the Worker is allowed to accept a HIT. A requirement may optionally state that a Worker must have the Qualification in order to preview the HIT.

" + }, + "QualificationRequirementList":{ + "type":"list", + "member":{"shape":"QualificationRequirement"} + }, + "QualificationStatus":{ + "type":"string", + "enum":[ + "Granted", + "Revoked" + ] + }, + "QualificationType":{ + "type":"structure", + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

A unique identifier for the Qualification type. A Qualification type is given a Qualification type ID when you call the CreateQualificationType operation.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the Qualification type was created.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the Qualification type. The type name is used to identify the type, and to find the type using a Qualification type search.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A long description for the Qualification type.

" + }, + "Keywords":{ + "shape":"String", + "documentation":"

One or more words or phrases that describe theQualification type, separated by commas. The Keywords make the type easier to find using a search.

" + }, + "QualificationTypeStatus":{ + "shape":"QualificationTypeStatus", + "documentation":"

The status of the Qualification type. A Qualification type's status determines if users can apply to receive a Qualification of this type, and if HITs can be created with requirements based on this type. Valid values are Active | Inactive.

" + }, + "Test":{ + "shape":"String", + "documentation":"

The questions for a Qualification test associated with this Qualification type that a user can take to obtain a Qualification of this type. This parameter must be specified if AnswerKey is present. A Qualification type cannot have both a specified Test parameter and an AutoGranted value of true.

" + }, + "TestDurationInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, given to a Worker to complete the Qualification test, beginning from the time the Worker requests the Qualification.

" + }, + "AnswerKey":{ + "shape":"String", + "documentation":"

The answers to the Qualification test specified in the Test parameter.

" + }, + "RetryDelayInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, Workers must wait after taking the Qualification test before they can take it again. Workers can take a Qualification test multiple times if they were not granted the Qualification from a previous attempt, or if the test offers a gradient score and they want a better score. If not specified, retries are disabled and Workers can request a Qualification only once.

" + }, + "IsRequestable":{ + "shape":"Boolean", + "documentation":"

Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical Turk web site, such as by taking a Qualification test. This value is False for Qualifications assigned automatically by the system. Valid values are True | False.

" + }, + "AutoGranted":{ + "shape":"Boolean", + "documentation":"

Specifies that requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test. Valid values are True | False.

" + }, + "AutoGrantedValue":{ + "shape":"Integer", + "documentation":"

The Qualification integer value to use for automatically granted Qualifications, if AutoGranted is true. This is 1 by default.

" + } + }, + "documentation":"

The QualificationType data structure represents a Qualification type, a description of a property of a Worker that must match the requirements of a HIT for the Worker to be able to accept the HIT. The type also describes how a Worker can obtain a Qualification of that type, such as through a Qualification test.

" + }, + "QualificationTypeList":{ + "type":"list", + "member":{"shape":"QualificationType"} + }, + "QualificationTypeStatus":{ + "type":"string", + "enum":[ + "Active", + "Inactive" + ] + }, + "RejectAssignmentRequest":{ + "type":"structure", + "required":["AssignmentId"], + "members":{ + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment. The assignment must correspond to a HIT created by the Requester.

" + }, + "RequesterFeedback":{ + "shape":"String", + "documentation":"

A message for the Worker, which the Worker can see in the Status section of the web site.

" + } + } + }, + "RejectAssignmentResponse":{ + "type":"structure", + "members":{ + } + }, + "RejectQualificationRequestRequest":{ + "type":"structure", + "required":["QualificationRequestId"], + "members":{ + "QualificationRequestId":{ + "shape":"String", + "documentation":"

The ID of the Qualification request, as returned by the ListQualificationRequests operation.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A text message explaining why the request was rejected, to be shown to the Worker who made the request.

" + } + } + }, + "RejectQualificationRequestResponse":{ + "type":"structure", + "members":{ + } + }, + "RequestError":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "TurkErrorCode":{"shape":"TurkErrorCode"} + }, + "documentation":"

Your request is invalid.

", + "exception":true + }, + "ResultSize":{ + "type":"integer", + "max":100, + "min":1 + }, + "ReviewActionDetail":{ + "type":"structure", + "members":{ + "ActionId":{ + "shape":"EntityId", + "documentation":"

The unique identifier for the action.

" + }, + "ActionName":{ + "shape":"String", + "documentation":"

The nature of the action itself. The Review Policy is responsible for examining the HIT and Assignments, emitting results, and deciding which other actions will be necessary.

" + }, + "TargetId":{ + "shape":"EntityId", + "documentation":"

The specific HITId or AssignmentID targeted by the action.

" + }, + "TargetType":{ + "shape":"String", + "documentation":"

The type of object in TargetId.

" + }, + "Status":{ + "shape":"ReviewActionStatus", + "documentation":"

The current disposition of the action: INTENDED, SUCCEEDED, FAILED, or CANCELLED.

" + }, + "CompleteTime":{ + "shape":"Timestamp", + "documentation":"

The date when the action was completed.

" + }, + "Result":{ + "shape":"String", + "documentation":"

A description of the outcome of the review.

" + }, + "ErrorCode":{ + "shape":"String", + "documentation":"

Present only when the Results have a FAILED Status.

" + } + }, + "documentation":"

Both the AssignmentReviewReport and the HITReviewReport elements contains the ReviewActionDetail data structure. This structure is returned multiple times for each action specified in the Review Policy.

" + }, + "ReviewActionDetailList":{ + "type":"list", + "member":{"shape":"ReviewActionDetail"} + }, + "ReviewActionStatus":{ + "type":"string", + "enum":[ + "Intended", + "Succeeded", + "Failed", + "Cancelled" + ] + }, + "ReviewPolicy":{ + "type":"structure", + "members":{ + "PolicyName":{ + "shape":"String", + "documentation":"

Name of a Review Policy: SimplePlurality/2011-09-01 or ScoreMyKnownAnswers/2011-09-01

" + }, + "Parameters":{ + "shape":"PolicyParameterList", + "documentation":"

Name of the parameter from the Review policy.

" + } + }, + "documentation":"

HIT Review Policy data structures represent HIT review policies, which you specify when you create a HIT.

" + }, + "ReviewPolicyLevel":{ + "type":"string", + "enum":[ + "Assignment", + "HIT" + ] + }, + "ReviewPolicyLevelList":{ + "type":"list", + "member":{"shape":"ReviewPolicyLevel"} + }, + "ReviewReport":{ + "type":"structure", + "members":{ + "ReviewResults":{ + "shape":"ReviewResultDetailList", + "documentation":"

A list of ReviewResults objects for each action specified in the Review Policy.

" + }, + "ReviewActions":{ + "shape":"ReviewActionDetailList", + "documentation":"

A list of ReviewAction objects for each action specified in the Review Policy.

" + } + }, + "documentation":"

Contains both ReviewResult and ReviewAction elements for a particular HIT.

" + }, + "ReviewResultDetail":{ + "type":"structure", + "members":{ + "ActionId":{ + "shape":"EntityId", + "documentation":"

A unique identifier of the Review action result.

" + }, + "SubjectId":{ + "shape":"EntityId", + "documentation":"

The HITID or AssignmentId about which this result was taken. Note that HIT-level Review Policies will often emit results about both the HIT itself and its Assignments, while Assignment-level review policies generally only emit results about the Assignment itself.

" + }, + "SubjectType":{ + "shape":"String", + "documentation":"

The type of the object from the SubjectId field.

" + }, + "QuestionId":{ + "shape":"EntityId", + "documentation":"

Specifies the QuestionId the result is describing. Depending on whether the TargetType is a HIT or Assignment this results could specify multiple values. If TargetType is HIT and QuestionId is absent, then the result describes results of the HIT, including the HIT agreement score. If ObjectType is Assignment and QuestionId is absent, then the result describes the Worker's performance on the HIT.

" + }, + "Key":{ + "shape":"String", + "documentation":"

Key identifies the particular piece of reviewed information.

" + }, + "Value":{ + "shape":"String", + "documentation":"

The values of Key provided by the review policies you have selected.

" + } + }, + "documentation":"

This data structure is returned multiple times for each result specified in the Review Policy.

" + }, + "ReviewResultDetailList":{ + "type":"list", + "member":{"shape":"ReviewResultDetail"} + }, + "ReviewableHITStatus":{ + "type":"string", + "enum":[ + "Reviewable", + "Reviewing" + ] + }, + "SendBonusRequest":{ + "type":"structure", + "required":[ + "WorkerId", + "BonusAmount", + "AssignmentId" + ], + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker being paid the bonus.

" + }, + "BonusAmount":{ + "shape":"NumericValue", + "documentation":"

The Bonus amount is a US Dollar amount specified using a string (for example, \"5\" represents $5.00 USD and \"101.42\" represents $101.42 USD). Do not include currency symbols or currency codes.

" + }, + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment for which this bonus is paid.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A message that explains the reason for the bonus payment. The Worker receiving the bonus can see this message.

" + }, + "UniqueRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique identifier for this request, which allows you to retry the call on error without granting multiple bonuses. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the bonus already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return an error with a message containing the request ID.

" + } + } + }, + "SendBonusResponse":{ + "type":"structure", + "members":{ + } + }, + "SendTestEventNotificationRequest":{ + "type":"structure", + "required":[ + "Notification", + "TestEventType" + ], + "members":{ + "Notification":{ + "shape":"NotificationSpecification", + "documentation":"

The notification specification to test. This value is identical to the value you would provide to the UpdateNotificationSettings operation when you establish the notification specification for a HIT type.

" + }, + "TestEventType":{ + "shape":"EventType", + "documentation":"

The event to simulate to test the notification specification. This event is included in the test message even if the notification specification does not include the event type. The notification specification does not filter out the test event.

" + } + } + }, + "SendTestEventNotificationResponse":{ + "type":"structure", + "members":{ + } + }, + "ServiceFault":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "TurkErrorCode":{"shape":"TurkErrorCode"} + }, + "documentation":"

Amazon Mechanical Turk is temporarily unable to process your request. Try your call again.

", + "exception":true, + "fault":true + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Timestamp":{"type":"timestamp"}, + "TurkErrorCode":{"type":"string"}, + "UpdateExpirationForHITRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The HIT to update.

" + }, + "ExpireAt":{ + "shape":"Timestamp", + "documentation":"

The date and time at which you want the HIT to expire

" + } + } + }, + "UpdateExpirationForHITResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateHITReviewStatusRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT to update.

" + }, + "Revert":{ + "shape":"Boolean", + "documentation":"

Specifies how to update the HIT status. Default is False.

  • Setting this to false will only transition a HIT from Reviewable to Reviewing

  • Setting this to true will only transition a HIT from Reviewing to Reviewable

" + } + } + }, + "UpdateHITReviewStatusResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateHITTypeOfHITRequest":{ + "type":"structure", + "required":[ + "HITId", + "HITTypeId" + ], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The HIT to update.

" + }, + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the new HIT type.

" + } + } + }, + "UpdateHITTypeOfHITResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateNotificationSettingsRequest":{ + "type":"structure", + "required":["HITTypeId"], + "members":{ + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT type whose notification specification is being updated.

" + }, + "Notification":{ + "shape":"NotificationSpecification", + "documentation":"

The notification specification for the HIT type.

" + }, + "Active":{ + "shape":"Boolean", + "documentation":"

Specifies whether notifications are sent for HITs of this HIT type, according to the notification specification. You must specify either the Notification parameter or the Active parameter for the call to UpdateNotificationSettings to succeed.

" + } + } + }, + "UpdateNotificationSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateQualificationTypeRequest":{ + "type":"structure", + "required":["QualificationTypeId"], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type to update.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The new description of the Qualification type.

" + }, + "QualificationTypeStatus":{ + "shape":"QualificationTypeStatus", + "documentation":"

The new status of the Qualification type - Active | Inactive

" + }, + "Test":{ + "shape":"String", + "documentation":"

The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds must also be specified.

Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.

Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.

" + }, + "AnswerKey":{ + "shape":"String", + "documentation":"

The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.

" + }, + "TestDurationInSeconds":{ + "shape":"Long", + "documentation":"

The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.

" + }, + "RetryDelayInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, that Workers must wait after requesting a Qualification of the specified Qualification type before they can retry the Qualification request. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must dispose of the existing retry-enabled Qualification type using DisposeQualificationType and then create a new Qualification type with retries disabled using CreateQualificationType.

" + }, + "AutoGranted":{ + "shape":"Boolean", + "documentation":"

Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test.

Constraints: If the Test parameter is specified, this parameter cannot be true.

" + }, + "AutoGrantedValue":{ + "shape":"Integer", + "documentation":"

The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.

" + } + } + }, + "UpdateQualificationTypeResponse":{ + "type":"structure", + "members":{ + "QualificationType":{ + "shape":"QualificationType", + "documentation":"

Contains a QualificationType data structure.

" + } + } + }, + "WorkerBlock":{ + "type":"structure", + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker who accepted the HIT.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A message explaining the reason the Worker was blocked.

" + } + }, + "documentation":"

The WorkerBlock data structure represents a Worker who has been blocked. It has two elements: the WorkerId and the Reason for the block.

" + }, + "WorkerBlockList":{ + "type":"list", + "member":{"shape":"WorkerBlock"} + } + }, + "documentation":"Amazon Mechanical Turk API Reference" +} diff --git a/botocore/data/opsworks/2013-02-18/examples-1.json b/botocore/data/opsworks/2013-02-18/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/opsworks/2013-02-18/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/opsworks/2013-02-18/paginators-1.json b/botocore/data/opsworks/2013-02-18/paginators-1.json new file mode 100644 index 00000000..77936158 --- /dev/null +++ b/botocore/data/opsworks/2013-02-18/paginators-1.json @@ -0,0 +1,10 @@ +{ + "pagination": { + "DescribeEcsClusters": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "EcsClusters" + } + } +} diff --git a/botocore/data/opsworks/2013-02-18/service-2.json b/botocore/data/opsworks/2013-02-18/service-2.json index b452e3e4..351143c5 100644 --- a/botocore/data/opsworks/2013-02-18/service-2.json +++ b/botocore/data/opsworks/2013-02-18/service-2.json @@ -1,14 +1,14 @@ { "version":"2.0", "metadata":{ - "uid":"opsworks-2013-02-18", "apiVersion":"2013-02-18", "endpointPrefix":"opsworks", "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS OpsWorks", "signatureVersion":"v4", - "targetPrefix":"OpsWorks_20130218" + "targetPrefix":"OpsWorks_20130218", + "uid":"opsworks-2013-02-18" }, "operations":{ "AssignInstance":{ @@ -22,7 +22,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Assign a registered instance to a layer.

  • You can assign registered on-premises instances to any layer type.

  • You can assign registered Amazon EC2 instances only to custom layers.

  • You cannot use this action with instances that were created with AWS OpsWorks.

Required Permissions: To use this action, an AWS Identity and Access Management (IAM) user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Assign a registered instance to a layer.

  • You can assign registered on-premises instances to any layer type.

  • You can assign registered Amazon EC2 instances only to custom layers.

  • You cannot use this action with instances that were created with AWS OpsWorks Stacks.

Required Permissions: To use this action, an AWS Identity and Access Management (IAM) user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "AssignVolume":{ "name":"AssignVolume", @@ -61,7 +61,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Attaches an Elastic Load Balancing load balancer to a specified layer. For more information, see Elastic Load Balancing.

You must create the Elastic Load Balancing instance separately, by using the Elastic Load Balancing console, API, or CLI. For more information, see Elastic Load Balancing Developer Guide.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Attaches an Elastic Load Balancing load balancer to a specified layer. AWS OpsWorks Stacks does not support Application Load Balancer. You can only use Classic Load Balancer with AWS OpsWorks Stacks. For more information, see Elastic Load Balancing.

You must create the Elastic Load Balancing instance separately, by using the Elastic Load Balancing console, API, or CLI. For more information, see Elastic Load Balancing Developer Guide.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "CloneStack":{ "name":"CloneStack", @@ -261,7 +261,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deregister a registered Amazon EC2 or on-premises instance. This action removes the instance from the stack and returns it to your control. This action can not be used with instances that were created with AWS OpsWorks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Deregister a registered Amazon EC2 or on-premises instance. This action removes the instance from the stack and returns it to your control. This action can not be used with instances that were created with AWS OpsWorks Stacks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DeregisterRdsDbInstance":{ "name":"DeregisterRdsDbInstance", @@ -301,7 +301,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes the available AWS OpsWorks agent versions. You must specify a stack ID or a configuration manager. DescribeAgentVersions returns a list of available agent versions for the specified stack or configuration manager.

" + "documentation":"

Describes the available AWS OpsWorks Stacks agent versions. You must specify a stack ID or a configuration manager. DescribeAgentVersions returns a list of available agent versions for the specified stack or configuration manager.

" }, "DescribeApps":{ "name":"DescribeApps", @@ -315,7 +315,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Requests a description of a specified set of apps.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Requests a description of a specified set of apps.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DescribeCommands":{ "name":"DescribeCommands", @@ -329,7 +329,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes the results of specified commands.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes the results of specified commands.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DescribeDeployments":{ "name":"DescribeDeployments", @@ -343,7 +343,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Requests a description of a specified set of deployments.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Requests a description of a specified set of deployments.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DescribeEcsClusters":{ "name":"DescribeEcsClusters", @@ -357,7 +357,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes Amazon ECS clusters that are registered with a stack. If you specify only a stack ID, you can use the MaxResults and NextToken parameters to paginate the response. However, AWS OpsWorks currently supports only one cluster per layer, so the result set has a maximum of one element.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permission. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes Amazon ECS clusters that are registered with a stack. If you specify only a stack ID, you can use the MaxResults and NextToken parameters to paginate the response. However, AWS OpsWorks Stacks currently supports only one cluster per layer, so the result set has a maximum of one element.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permission. For more information on user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

" }, "DescribeElasticIps":{ "name":"DescribeElasticIps", @@ -371,7 +371,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes Elastic IP addresses.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes Elastic IP addresses.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DescribeElasticLoadBalancers":{ "name":"DescribeElasticLoadBalancers", @@ -385,7 +385,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes a stack's Elastic Load Balancing instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes a stack's Elastic Load Balancing instances.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DescribeInstances":{ "name":"DescribeInstances", @@ -399,7 +399,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Requests a description of a set of instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Requests a description of a set of instances.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DescribeLayers":{ "name":"DescribeLayers", @@ -413,7 +413,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Requests a description of one or more layers in a specified stack.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Requests a description of one or more layers in a specified stack.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DescribeLoadBasedAutoScaling":{ "name":"DescribeLoadBasedAutoScaling", @@ -464,7 +464,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describe an instance's RAID arrays.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describe an instance's RAID arrays.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DescribeRdsDbInstances":{ "name":"DescribeRdsDbInstances", @@ -478,7 +478,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes Amazon RDS instances.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes Amazon RDS instances.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

" }, "DescribeServiceErrors":{ "name":"DescribeServiceErrors", @@ -492,7 +492,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes AWS OpsWorks service errors.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes AWS OpsWorks Stacks service errors.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

" }, "DescribeStackProvisioningParameters":{ "name":"DescribeStackProvisioningParameters", @@ -576,7 +576,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes an instance's Amazon EBS volumes.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes an instance's Amazon EBS volumes.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DetachElasticLoadBalancer":{ "name":"DetachElasticLoadBalancer", @@ -631,6 +631,20 @@ ], "documentation":"

This action can be used only with Windows stacks.

Grants RDP access to a Windows instance for a specified time period.

" }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of tags that are applied to the specified stack or layer.

" + }, "RebootInstance":{ "name":"RebootInstance", "http":{ @@ -684,7 +698,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Registers instances with a specified stack that were created outside of AWS OpsWorks.

We do not recommend using this action to register instances. The complete registration operation has two primary steps, installing the AWS OpsWorks agent on the instance and registering the instance with the stack. RegisterInstance handles only the second step. You should instead use the AWS CLI register command, which performs the entire registration operation. For more information, see Registering an Instance with an AWS OpsWorks Stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Registers instances that were created outside of AWS OpsWorks Stacks with a specified stack.

We do not recommend using this action to register instances. The complete registration operation includes two tasks: installing the AWS OpsWorks Stacks agent on the instance, and registering the instance with the stack. RegisterInstance handles only the second step. You should instead use the AWS CLI register command, which performs the entire registration operation. For more information, see Registering an Instance with an AWS OpsWorks Stacks Stack.

Registered instances have the same requirements as instances that are created by using the CreateInstance API. For example, registered instances must be running a supported Linux-based operating system, and they must have a supported instance type. For more information about requirements for instances that you want to register, see Preparing the Instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "RegisterRdsDbInstance":{ "name":"RegisterRdsDbInstance", @@ -804,6 +818,19 @@ ], "documentation":"

Stops a specified stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Apply cost-allocation tags to a specified stack or layer in AWS OpsWorks Stacks. For more information about how tagging works, see Tags in the AWS OpsWorks User Guide.

" + }, "UnassignInstance":{ "name":"UnassignInstance", "http":{ @@ -815,7 +842,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Unassigns a registered instance from all of it's layers. The instance remains in the stack as an unassigned instance and can be assigned to another layer, as needed. You cannot use this action with instances that were created with AWS OpsWorks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Unassigns a registered instance from all of it's layers. The instance remains in the stack as an unassigned instance and can be assigned to another layer, as needed. You cannot use this action with instances that were created with AWS OpsWorks Stacks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "UnassignVolume":{ "name":"UnassignVolume", @@ -830,6 +857,19 @@ ], "documentation":"

Unassigns an assigned Amazon EBS volume. The volume remains registered with the stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes tags from a specified stack or layer.

" + }, "UpdateApp":{ "name":"UpdateApp", "http":{ @@ -1140,7 +1180,7 @@ }, "IgnoreMetricsTime":{ "shape":"Minute", - "documentation":"

The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. IgnoreMetricsTime allows you to direct AWS OpsWorks to suppress scaling events long enough to get the new instances online.

" + "documentation":"

The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks Stacks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. IgnoreMetricsTime allows you to direct AWS OpsWorks Stacks to suppress scaling events long enough to get the new instances online.

" }, "CpuThreshold":{ "shape":"Double", @@ -1156,10 +1196,10 @@ }, "Alarms":{ "shape":"Strings", - "documentation":"

Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.

To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms. You can either have AWS OpsWorks update the role for you when you first use this feature or you can edit the role manually. For more information, see Allowing AWS OpsWorks to Act on Your Behalf.

" + "documentation":"

Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.

To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms. You can either have AWS OpsWorks Stacks update the role for you when you first use this feature or you can edit the role manually. For more information, see Allowing AWS OpsWorks Stacks to Act on Your Behalf.

" } }, - "documentation":"

Describes a load-based auto scaling upscaling or downscaling threshold configuration, which specifies when AWS OpsWorks starts or stops load-based instances.

" + "documentation":"

Describes a load-based auto scaling upscaling or downscaling threshold configuration, which specifies when AWS OpsWorks Stacks starts or stops load-based instances.

" }, "AutoScalingType":{ "type":"string", @@ -1173,7 +1213,7 @@ "members":{ "DeviceName":{ "shape":"String", - "documentation":"

The device name that is exposed to the instance, such as /dev/sdh. For the root device, you can use the explicit device name or you can set this parameter to ROOT_DEVICE and AWS OpsWorks will provide the correct device name.

" + "documentation":"

The device name that is exposed to the instance, such as /dev/sdh. For the root device, you can use the explicit device name or you can set this parameter to ROOT_DEVICE and AWS OpsWorks Stacks will provide the correct device name.

" }, "NoDevice":{ "shape":"String", @@ -1233,7 +1273,7 @@ }, "VpcId":{ "shape":"String", - "documentation":"

The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.

  • If your account supports EC2 Classic, the default value is no VPC.

  • If your account does not support EC2 Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information on how to use AWS OpsWorks with a VPC, see Running a Stack in a VPC. For more information on default VPC and EC2 Classic, see Supported Platforms.

" + "documentation":"

The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.

  • If your account supports EC2 Classic, the default value is no VPC.

  • If your account does not support EC2 Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information on how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information on default VPC and EC2 Classic, see Supported Platforms.

" }, "Attributes":{ "shape":"StackAttributes", @@ -1241,7 +1281,7 @@ }, "ServiceRoleArn":{ "shape":"String", - "documentation":"

The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the AWS OpsWorks console, it creates the role for you. You can obtain an existing stack's IAM ARN programmatically by calling DescribePermissions. For more information about IAM ARNs, see Using Identifiers.

You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly.

" + "documentation":"

The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the AWS OpsWorks Stacks console, it creates the role for you. You can obtain an existing stack's IAM ARN programmatically by calling DescribePermissions. For more information about IAM ARNs, see Using Identifiers.

You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly.

" }, "DefaultInstanceProfileArn":{ "shape":"String", @@ -1249,7 +1289,7 @@ }, "DefaultOs":{ "shape":"String", - "documentation":"

The stack's operating system, which must be set to one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS 7

  • Red Hat Enterprise Linux 7

  • Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the parent stack's operating system. For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.

" + "documentation":"

The stack's operating system, which must be set to one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the parent stack's operating system. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.

" }, "HostnameTheme":{ "shape":"String", @@ -1281,7 +1321,7 @@ }, "UseOpsworksSecurityGroups":{ "shape":"Boolean", - "documentation":"

Whether to associate the AWS OpsWorks built-in security groups with the stack's layers.

AWS OpsWorks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.

  • False - AWS OpsWorks does not associate built-in security groups with layers. You must create appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" + "documentation":"

Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.

  • False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" }, "CustomCookbooksSource":{"shape":"Source"}, "DefaultSshKeyName":{ @@ -1302,7 +1342,7 @@ }, "AgentVersion":{ "shape":"String", - "documentation":"

The default AWS OpsWorks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks then automatically installs that version on the stack's instances.

The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" + "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" } } }, @@ -1316,6 +1356,189 @@ }, "documentation":"

Contains the response to a CloneStack request.

" }, + "CloudWatchLogsConfiguration":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Whether CloudWatch Logs is enabled for a layer.

" + }, + "LogStreams":{ + "shape":"CloudWatchLogsLogStreams", + "documentation":"

A list of configuration options for CloudWatch Logs.

" + } + }, + "documentation":"

Describes the Amazon CloudWatch logs configuration for a layer.

" + }, + "CloudWatchLogsEncoding":{ + "type":"string", + "documentation":"

Specifies the encoding of the log file so that the file can be read correctly. The default is utf_8. Encodings supported by Python codecs.decode() can be used here.

", + "enum":[ + "ascii", + "big5", + "big5hkscs", + "cp037", + "cp424", + "cp437", + "cp500", + "cp720", + "cp737", + "cp775", + "cp850", + "cp852", + "cp855", + "cp856", + "cp857", + "cp858", + "cp860", + "cp861", + "cp862", + "cp863", + "cp864", + "cp865", + "cp866", + "cp869", + "cp874", + "cp875", + "cp932", + "cp949", + "cp950", + "cp1006", + "cp1026", + "cp1140", + "cp1250", + "cp1251", + "cp1252", + "cp1253", + "cp1254", + "cp1255", + "cp1256", + "cp1257", + "cp1258", + "euc_jp", + "euc_jis_2004", + "euc_jisx0213", + "euc_kr", + "gb2312", + "gbk", + "gb18030", + "hz", + "iso2022_jp", + "iso2022_jp_1", + "iso2022_jp_2", + "iso2022_jp_2004", + "iso2022_jp_3", + "iso2022_jp_ext", + "iso2022_kr", + "latin_1", + "iso8859_2", + "iso8859_3", + "iso8859_4", + "iso8859_5", + "iso8859_6", + "iso8859_7", + "iso8859_8", + "iso8859_9", + "iso8859_10", + "iso8859_13", + "iso8859_14", + "iso8859_15", + "iso8859_16", + "johab", + "koi8_r", + "koi8_u", + "mac_cyrillic", + "mac_greek", + "mac_iceland", + "mac_latin2", + "mac_roman", + "mac_turkish", + "ptcp154", + "shift_jis", + "shift_jis_2004", + "shift_jisx0213", + "utf_32", + "utf_32_be", + "utf_32_le", + "utf_16", + "utf_16_be", + "utf_16_le", + "utf_7", + "utf_8", + "utf_8_sig" + ] + }, + "CloudWatchLogsInitialPosition":{ + "type":"string", + "documentation":"

Specifies where to start to read data (start_of_file or end_of_file). The default is start_of_file. It's only used if there is no state persisted for that log stream.

", + "enum":[ + "start_of_file", + "end_of_file" + ] + }, + "CloudWatchLogsLogStream":{ + "type":"structure", + "members":{ + "LogGroupName":{ + "shape":"String", + "documentation":"

Specifies the destination log group. A log group is created automatically if it doesn't already exist. Log group names can be between 1 and 512 characters long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).

" + }, + "DatetimeFormat":{ + "shape":"String", + "documentation":"

Specifies how the time stamp is extracted from logs. For more information, see the CloudWatch Logs Agent Reference.

" + }, + "TimeZone":{ + "shape":"CloudWatchLogsTimeZone", + "documentation":"

Specifies the time zone of log event time stamps.

" + }, + "File":{ + "shape":"String", + "documentation":"

Specifies log files that you want to push to CloudWatch Logs.

File can point to a specific file or multiple files (by using wild card characters such as /var/log/system.log*). Only the latest file is pushed to CloudWatch Logs, based on file modification time. We recommend that you use wild card characters to specify a series of files of the same type, such as access_log.2014-06-01-01, access_log.2014-06-01-02, and so on by using a pattern like access_log.*. Don't use a wildcard to match multiple file types, such as access_log_80 and access_log_443. To specify multiple, different file types, add another log stream entry to the configuration file, so that each log file type is stored in a different log group.

Zipped files are not supported.

" + }, + "FileFingerprintLines":{ + "shape":"String", + "documentation":"

Specifies the range of lines for identifying a file. The valid values are one number, or two dash-delimited numbers, such as '1', '2-5'. The default value is '1', meaning the first line is used to calculate the fingerprint. Fingerprint lines are not sent to CloudWatch Logs unless all specified lines are available.

" + }, + "MultiLineStartPattern":{ + "shape":"String", + "documentation":"

Specifies the pattern for identifying the start of a log message.

" + }, + "InitialPosition":{ + "shape":"CloudWatchLogsInitialPosition", + "documentation":"

Specifies where to start to read data (start_of_file or end_of_file). The default is start_of_file. This setting is only used if there is no state persisted for that log stream.

" + }, + "Encoding":{ + "shape":"CloudWatchLogsEncoding", + "documentation":"

Specifies the encoding of the log file so that the file can be read correctly. The default is utf_8. Encodings supported by Python codecs.decode() can be used here.

" + }, + "BufferDuration":{ + "shape":"Integer", + "documentation":"

Specifies the time duration for the batching of log events. The minimum value is 5000ms and default value is 5000ms.

" + }, + "BatchCount":{ + "shape":"Integer", + "documentation":"

Specifies the max number of log events in a batch, up to 10000. The default value is 1000.

" + }, + "BatchSize":{ + "shape":"Integer", + "documentation":"

Specifies the maximum size of log events in a batch, in bytes, up to 1048576 bytes. The default value is 32768 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

" + } + }, + "documentation":"

Describes the Amazon CloudWatch logs configuration for a layer. For detailed information about members of this data type, see the CloudWatch Logs Agent Reference.

" + }, + "CloudWatchLogsLogStreams":{ + "type":"list", + "member":{"shape":"CloudWatchLogsLogStream"}, + "documentation":"

Describes the Amazon CloudWatch logs configuration for a layer.

" + }, + "CloudWatchLogsTimeZone":{ + "type":"string", + "documentation":"

The preferred time zone for logs streamed to CloudWatch Logs. Valid values are LOCAL and UTC, for Coordinated Universal Time.

", + "enum":[ + "LOCAL", + "UTC" + ] + }, "Command":{ "type":"structure", "members":{ @@ -1357,7 +1580,7 @@ }, "Type":{ "shape":"String", - "documentation":"

The command type:

  • deploy

  • rollback

  • start

  • stop

  • restart

  • undeploy

  • update_dependencies

  • install_dependencies

  • update_custom_cookbooks

  • execute_recipes

" + "documentation":"

The command type:

  • configure

  • deploy

  • execute_recipes

  • install_dependencies

  • restart

  • rollback

  • setup

  • start

  • stop

  • undeploy

  • update_custom_cookbooks

  • update_dependencies

" } }, "documentation":"

Describes a command.

" @@ -1396,7 +1619,7 @@ }, "Type":{ "shape":"AppType", - "documentation":"

The app type. Each supported type is associated with a particular layer. For example, PHP applications are associated with a PHP layer. AWS OpsWorks deploys an application to those instances that are members of the corresponding layer. If your app isn't one of the standard types, or you prefer to implement your own Deploy recipes, specify other.

" + "documentation":"

The app type. Each supported type is associated with a particular layer. For example, PHP applications are associated with a PHP layer. AWS OpsWorks Stacks deploys an application to those instances that are members of the corresponding layer. If your app isn't one of the standard types, or you prefer to implement your own Deploy recipes, specify other.

" }, "AppSource":{ "shape":"Source", @@ -1511,7 +1734,7 @@ }, "Os":{ "shape":"String", - "documentation":"

The instance's operating system, which must be set to one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom.

For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the CreateInstance action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is Custom. For more information on the supported operating systems, see Operating SystemsFor more information on how to use custom AMIs with AWS OpsWorks, see Using Custom AMIs.

" + "documentation":"

The instance's operating system, which must be set to one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom.

For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the CreateInstance action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is Custom. For more information on the supported operating systems, see Operating SystemsFor more information on how to use custom AMIs with AWS OpsWorks Stacks, see Using Custom AMIs.

" }, "AmiId":{ "shape":"String", @@ -1531,7 +1754,7 @@ }, "SubnetId":{ "shape":"String", - "documentation":"

The ID of the instance's subnet. If the stack is running in a VPC, you can use this parameter to override the stack's default subnet ID value and direct AWS OpsWorks to launch the instance in a different subnet.

" + "documentation":"

The ID of the instance's subnet. If the stack is running in a VPC, you can use this parameter to override the stack's default subnet ID value and direct AWS OpsWorks Stacks to launch the instance in a different subnet.

" }, "Architecture":{ "shape":"Architecture", @@ -1555,7 +1778,7 @@ }, "AgentVersion":{ "shape":"String", - "documentation":"

The default AWS OpsWorks agent version. You have the following options:

  • INHERIT - Use the stack's default agent version setting.

  • version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, edit the instance configuration and specify a new version. AWS OpsWorks then automatically installs that version on the instance.

The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

" + "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • INHERIT - Use the stack's default agent version setting.

  • version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, edit the instance configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the instance.

The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

" }, "Tenancy":{ "shape":"String", @@ -1596,12 +1819,16 @@ }, "Shortname":{ "shape":"String", - "documentation":"

For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks and by Chef recipes. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters, which are limited to the alphanumeric characters, '-', '_', and '.'.

The built-in layers' short names are defined by AWS OpsWorks. For more information, see the Layer Reference.

" + "documentation":"

For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef recipes. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters, which are limited to the alphanumeric characters, '-', '_', and '.'.

The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference.

" }, "Attributes":{ "shape":"LayerAttributes", "documentation":"

One or more user-defined key-value pairs to be added to the stack attributes.

To create a cluster layer, set the EcsClusterArn attribute to the cluster's ARN.

" }, + "CloudWatchLogsConfiguration":{ + "shape":"CloudWatchLogsConfiguration", + "documentation":"

Specifies CloudWatch Logs configuration options for the layer. For more information, see CloudWatchLogsLogStream.

" + }, "CustomInstanceProfileArn":{ "shape":"String", "documentation":"

The ARN of an IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" @@ -1681,7 +1908,7 @@ }, "VpcId":{ "shape":"String", - "documentation":"

The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later.

  • If your account supports EC2-Classic, the default value is no VPC.

  • If your account does not support EC2-Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information on how to use AWS OpsWorks with a VPC, see Running a Stack in a VPC. For more information on default VPC and EC2-Classic, see Supported Platforms.

" + "documentation":"

The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later.

  • If your account supports EC2-Classic, the default value is no VPC.

  • If your account does not support EC2-Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information on how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information on default VPC and EC2-Classic, see Supported Platforms.

" }, "Attributes":{ "shape":"StackAttributes", @@ -1689,7 +1916,7 @@ }, "ServiceRoleArn":{ "shape":"String", - "documentation":"

The stack's AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The stack's AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. For more information about IAM ARNs, see Using Identifiers.

" }, "DefaultInstanceProfileArn":{ "shape":"String", @@ -1697,7 +1924,7 @@ }, "DefaultOs":{ "shape":"String", - "documentation":"

The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information, see Using Custom AMIs.

The default option is the current Amazon Linux version. For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

" + "documentation":"

The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information, see Using Custom AMIs.

The default option is the current Amazon Linux version. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

" }, "HostnameTheme":{ "shape":"String", @@ -1729,7 +1956,7 @@ }, "UseOpsworksSecurityGroups":{ "shape":"Boolean", - "documentation":"

Whether to associate the AWS OpsWorks built-in security groups with the stack's layers.

AWS OpsWorks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

  • False - AWS OpsWorks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" + "documentation":"

Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

  • False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" }, "CustomCookbooksSource":{"shape":"Source"}, "DefaultSshKeyName":{ @@ -1742,7 +1969,7 @@ }, "AgentVersion":{ "shape":"String", - "documentation":"

The default AWS OpsWorks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks then automatically installs that version on the stack's instances.

The default setting is the most recent release of the agent. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" + "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

The default setting is the most recent release of the agent. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" } } }, @@ -1766,7 +1993,7 @@ }, "SshUsername":{ "shape":"String", - "documentation":"

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks generates one from the IAM user name.

" + "documentation":"

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks Stacks generates one from the IAM user name.

" }, "SshPublicKey":{ "shape":"String", @@ -1931,11 +2158,11 @@ "members":{ "Name":{ "shape":"DeploymentCommandName", - "documentation":"

Specifies the operation. You can specify only one command.

For stacks, the following commands are available:

  • execute_recipes: Execute one or more recipes. To specify the recipes, set an Args parameter named recipes to the list of recipes to be executed. For example, to execute phpapp::appsetup, set Args to {\"recipes\":[\"phpapp::appsetup\"]}.

  • install_dependencies: Install the stack's dependencies.

  • update_custom_cookbooks: Update the stack's custom cookbooks.

  • update_dependencies: Update the stack's dependencies.

The update_dependencies and install_dependencies commands are supported only for Linux instances. You can run the commands successfully on Windows instances, but they do nothing.

For apps, the following commands are available:

  • deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter named migrate. Set Args to {\"migrate\":[\"true\"]} to migrate the database. The default setting is {\"migrate\":[\"false\"]}.

  • rollback Roll the app back to the previous version. When you update an app, AWS OpsWorks stores the previous version, up to a maximum of five versions. You can use this command to roll an app back as many as four versions.

  • start: Start the app's web or application server.

  • stop: Stop the app's web or application server.

  • restart: Restart the app's web or application server.

  • undeploy: Undeploy the app.

" + "documentation":"

Specifies the operation. You can specify only one command.

For stacks, the following commands are available:

  • execute_recipes: Execute one or more recipes. To specify the recipes, set an Args parameter named recipes to the list of recipes to be executed. For example, to execute phpapp::appsetup, set Args to {\"recipes\":[\"phpapp::appsetup\"]}.

  • install_dependencies: Install the stack's dependencies.

  • update_custom_cookbooks: Update the stack's custom cookbooks.

  • update_dependencies: Update the stack's dependencies.

The update_dependencies and install_dependencies commands are supported only for Linux instances. You can run the commands successfully on Windows instances, but they do nothing.

For apps, the following commands are available:

  • deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter named migrate. Set Args to {\"migrate\":[\"true\"]} to migrate the database. The default setting is {\"migrate\":[\"false\"]}.

  • rollback Roll the app back to the previous version. When you update an app, AWS OpsWorks Stacks stores the previous version, up to a maximum of five versions. You can use this command to roll an app back as many as four versions.

  • start: Start the app's web or application server.

  • stop: Stop the app's web or application server.

  • restart: Restart the app's web or application server.

  • undeploy: Undeploy the app.

" }, "Args":{ "shape":"DeploymentCommandArgs", - "documentation":"

The arguments of those commands that take arguments. It should be set to a JSON object with the following format:

{\"arg_name1\" : [\"value1\", \"value2\", ...], \"arg_name2\" : [\"value1\", \"value2\", ...], ...}

The update_dependencies command takes two arguments:

  • upgrade_os_to - Specifies the desired Amazon Linux version for instances whose OS you want to upgrade, such as Amazon Linux 2014.09. You must also set the allow_reboot argument to true.

  • allow_reboot - Specifies whether to allow AWS OpsWorks to reboot the instances if necessary, after installing the updates. This argument can be set to either true or false. The default value is false.

For example, to upgrade an instance to Amazon Linux 2014.09, set Args to the following.

{ \"upgrade_os_to\":[\"Amazon Linux 2014.09\"], \"allow_reboot\":[\"true\"] }

" + "documentation":"

The arguments of those commands that take arguments. It should be set to a JSON object with the following format:

{\"arg_name1\" : [\"value1\", \"value2\", ...], \"arg_name2\" : [\"value1\", \"value2\", ...], ...}

The update_dependencies command takes two arguments:

  • upgrade_os_to - Specifies the desired Amazon Linux version for instances whose OS you want to upgrade, such as Amazon Linux 2016.09. You must also set the allow_reboot argument to true.

  • allow_reboot - Specifies whether to allow AWS OpsWorks Stacks to reboot the instances if necessary, after installing the updates. This argument can be set to either true or false. The default value is false.

For example, to upgrade an instance to Amazon Linux 2016.09, set Args to the following.

{ \"upgrade_os_to\":[\"Amazon Linux 2016.09\"], \"allow_reboot\":[\"true\"] }

" } }, "documentation":"

Used to specify a stack or deployment command.

" @@ -2012,7 +2239,7 @@ "members":{ "VolumeId":{ "shape":"String", - "documentation":"

The AWS OpsWorks volume ID, which is the GUID that AWS OpsWorks assigned to the instance when you registered the volume with the stack, not the Amazon EC2 volume ID.

" + "documentation":"

The AWS OpsWorks Stacks volume ID, which is the GUID that AWS OpsWorks Stacks assigned to the instance when you registered the volume with the stack, not the Amazon EC2 volume ID.

" } } }, @@ -2397,7 +2624,7 @@ "members":{ "AgentInstallerUrl":{ "shape":"String", - "documentation":"

The AWS OpsWorks agent installer's URL.

" + "documentation":"

The AWS OpsWorks Stacks agent installer's URL.

" }, "Parameters":{ "shape":"Parameters", @@ -2730,7 +2957,7 @@ "members":{ "InstanceId":{ "shape":"String", - "documentation":"

The instance's AWS OpsWorks ID.

" + "documentation":"

The instance's AWS OpsWorks Stacks ID.

" }, "ValidForInMinutes":{ "shape":"ValidForInMinutes", @@ -2764,6 +2991,7 @@ "shape":"Architecture", "documentation":"

The instance architecture: \"i386\" or \"x86_64\".

" }, + "Arn":{"shape":"String"}, "AutoScalingType":{ "shape":"AutoScalingType", "documentation":"

For load-based or time-based instances, the type.

" @@ -2842,7 +3070,7 @@ }, "PrivateDns":{ "shape":"String", - "documentation":"

The The instance's private DNS name.

" + "documentation":"

The instance's private DNS name.

" }, "PrivateIp":{ "shape":"String", @@ -2862,7 +3090,7 @@ }, "ReportedAgentVersion":{ "shape":"String", - "documentation":"

The instance's reported AWS OpsWorks agent version.

" + "documentation":"

The instance's reported AWS OpsWorks Stacks agent version.

" }, "ReportedOs":{ "shape":"ReportedOs", @@ -3022,6 +3250,7 @@ "Layer":{ "type":"structure", "members":{ + "Arn":{"shape":"String"}, "StackId":{ "shape":"String", "documentation":"

The layer stack ID.

" @@ -3044,7 +3273,11 @@ }, "Attributes":{ "shape":"LayerAttributes", - "documentation":"

The layer attributes.

For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes, AWS OpsWorks returns *****FILTERED***** instead of the actual value

For an ECS Cluster layer, AWS OpsWorks the EcsClusterArn attribute is set to the cluster's ARN.

" + "documentation":"

The layer attributes.

For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes, AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value

For an ECS Cluster layer, AWS OpsWorks Stacks the EcsClusterArn attribute is set to the cluster's ARN.

" + }, + "CloudWatchLogsConfiguration":{ + "shape":"CloudWatchLogsConfiguration", + "documentation":"

The Amazon CloudWatch Logs configuration settings for the layer.

" }, "CustomInstanceProfileArn":{ "shape":"String", @@ -3172,6 +3405,38 @@ }, "documentation":"

Specifies the lifecycle event configuration

" }, + "ListTagsRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The stack or layer's Amazon Resource Number (ARN).

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Do not use. A validation exception occurs if you add a MaxResults parameter to a ListTagsRequest call.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Do not use. A validation exception occurs if you add a NextToken parameter to a ListTagsRequest call.

" + } + } + }, + "ListTagsResult":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

A set of key-value pairs that contain tag keys and tag values that are attached to a stack or layer.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If a paginated request does not return all of the remaining results, this parameter is set to a token that you can assign to the request object's NextToken parameter to get the next set of results. If the previous paginated request returned all of the remaining results, this parameter is set to null.

" + } + }, + "documentation":"

Contains the response to a ListTags request.

" + }, "LoadBasedAutoScalingConfiguration":{ "type":"structure", "members":{ @@ -3185,11 +3450,11 @@ }, "UpScaling":{ "shape":"AutoScalingThresholds", - "documentation":"

An AutoScalingThresholds object that describes the upscaling configuration, which defines how and when AWS OpsWorks increases the number of instances.

" + "documentation":"

An AutoScalingThresholds object that describes the upscaling configuration, which defines how and when AWS OpsWorks Stacks increases the number of instances.

" }, "DownScaling":{ "shape":"AutoScalingThresholds", - "documentation":"

An AutoScalingThresholds object that describes the downscaling configuration, which defines how and when AWS OpsWorks reduces the number of instances.

" + "documentation":"

An AutoScalingThresholds object that describes the downscaling configuration, which defines how and when AWS OpsWorks Stacks reduces the number of instances.

" } }, "documentation":"

Describes a layer's load-based auto scaling configuration.

" @@ -3198,12 +3463,14 @@ "type":"list", "member":{"shape":"LoadBasedAutoScalingConfiguration"} }, + "MaxResults":{"type":"integer"}, "Minute":{ "type":"integer", "box":true, "max":100, "min":1 }, + "NextToken":{"type":"string"}, "Parameters":{ "type":"map", "key":{"shape":"String"}, @@ -3318,7 +3585,7 @@ }, "DbPassword":{ "shape":"String", - "documentation":"

AWS OpsWorks returns *****FILTERED***** instead of the actual value.

" + "documentation":"

AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

" }, "Region":{ "shape":"String", @@ -3334,11 +3601,11 @@ }, "StackId":{ "shape":"String", - "documentation":"

The ID of the stack that the instance is registered with.

" + "documentation":"

The ID of the stack with which the instance is registered.

" }, "MissingOnRds":{ "shape":"Boolean", - "documentation":"

Set to true if AWS OpsWorks was unable to discover the Amazon RDS instance. AWS OpsWorks attempts to discover the instance only once. If this value is set to true, you must deregister the instance and then register it again.

" + "documentation":"

Set to true if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance. AWS OpsWorks Stacks attempts to discover the instance only once. If this value is set to true, you must deregister the instance, and then register it again.

" } }, "documentation":"

Describes an Amazon RDS instance.

" @@ -3381,7 +3648,7 @@ "documentation":"

An array of custom recipe names to be run following a shutdown event.

" } }, - "documentation":"

AWS OpsWorks supports five lifecycle events: setup, configuration, deploy, undeploy, and shutdown. For each layer, AWS OpsWorks runs a set of standard recipes for each event. In addition, you can provide custom recipes for any or all layers and events. AWS OpsWorks runs custom event recipes after the standard recipes. LayerCustomRecipes specifies the custom recipes for a particular layer to be run in response to each of the five events.

To specify a recipe, use the cookbook's directory name in the repository followed by two colons and the recipe name, which is the recipe's file name without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb recipe in the repository's phpapp2 folder.

" + "documentation":"

AWS OpsWorks Stacks supports five lifecycle events: setup, configuration, deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. In addition, you can provide custom recipes for any or all layers and events. AWS OpsWorks Stacks runs custom event recipes after the standard recipes. LayerCustomRecipes specifies the custom recipes for a particular layer to be run in response to each of the five events.

To specify a recipe, use the cookbook's directory name in the repository followed by two colons and the recipe name, which is the recipe's file name without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb recipe in the repository's phpapp2 folder.

" }, "RegisterEcsClusterRequest":{ "type":"structure", @@ -3476,7 +3743,7 @@ "members":{ "InstanceId":{ "shape":"String", - "documentation":"

The registered instance's AWS OpsWorks ID.

" + "documentation":"

The registered instance's AWS OpsWorks Stacks ID.

" } }, "documentation":"

Contains the response to a RegisterInstanceResult request.

" @@ -3550,6 +3817,7 @@ }, "documentation":"

A registered instance's reported operating system.

" }, + "ResourceArn":{"type":"string"}, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -3618,7 +3886,7 @@ "documentation":"

When the error occurred.

" } }, - "documentation":"

Describes an AWS OpsWorks service error.

" + "documentation":"

Describes an AWS OpsWorks Stacks service error.

" }, "ServiceErrors":{ "type":"list", @@ -3638,11 +3906,11 @@ }, "UpScaling":{ "shape":"AutoScalingThresholds", - "documentation":"

An AutoScalingThresholds object with the upscaling threshold configuration. If the load exceeds these thresholds for a specified amount of time, AWS OpsWorks starts a specified number of instances.

" + "documentation":"

An AutoScalingThresholds object with the upscaling threshold configuration. If the load exceeds these thresholds for a specified amount of time, AWS OpsWorks Stacks starts a specified number of instances.

" }, "DownScaling":{ "shape":"AutoScalingThresholds", - "documentation":"

An AutoScalingThresholds object with the downscaling threshold configuration. If the load falls below these thresholds for a specified amount of time, AWS OpsWorks stops a specified number of instances.

" + "documentation":"

An AutoScalingThresholds object with the downscaling threshold configuration. If the load falls below these thresholds for a specified amount of time, AWS OpsWorks Stacks stops a specified number of instances.

" } } }, @@ -3694,7 +3962,7 @@ "members":{ "ExecutionTimeout":{ "shape":"Integer", - "documentation":"

The time, in seconds, that AWS OpsWorks will wait after triggering a Shutdown event before shutting down an instance.

" + "documentation":"

The time, in seconds, that AWS OpsWorks Stacks will wait after triggering a Shutdown event before shutting down an instance.

" }, "DelayUntilElbConnectionsDrained":{ "shape":"Boolean", @@ -3712,7 +3980,7 @@ }, "Url":{ "shape":"String", - "documentation":"

The source URL.

" + "documentation":"

The source URL. The following is an example of an Amazon S3 source URL: https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

" }, "Username":{ "shape":"String", @@ -3720,15 +3988,15 @@ }, "Password":{ "shape":"String", - "documentation":"

When included in a request, the parameter depends on the repository type.

  • For Amazon S3 bundles, set Password to the appropriate IAM secret access key.

  • For HTTP bundles and Subversion repositories, set Password to the password.

For more information on how to safely handle IAM credentials, see http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

In responses, AWS OpsWorks returns *****FILTERED***** instead of the actual value.

" + "documentation":"

When included in a request, the parameter depends on the repository type.

  • For Amazon S3 bundles, set Password to the appropriate IAM secret access key.

  • For HTTP bundles and Subversion repositories, set Password to the password.

For more information on how to safely handle IAM credentials, see http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

" }, "SshKey":{ "shape":"String", - "documentation":"

In requests, the repository's SSH key.

In responses, AWS OpsWorks returns *****FILTERED***** instead of the actual value.

" + "documentation":"

In requests, the repository's SSH key.

In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

" }, "Revision":{ "shape":"String", - "documentation":"

The application's version. AWS OpsWorks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.

" + "documentation":"

The application's version. AWS OpsWorks Stacks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.

" } }, "documentation":"

Contains the information required to retrieve an app or cookbook from a repository. For more information, see Creating Apps or Custom Recipes and Cookbooks.

" @@ -3833,7 +4101,7 @@ }, "UseOpsworksSecurityGroups":{ "shape":"Boolean", - "documentation":"

Whether the stack automatically associates the AWS OpsWorks built-in security groups with the stack's layers.

" + "documentation":"

Whether the stack automatically associates the AWS OpsWorks Stacks built-in security groups with the stack's layers.

" }, "CustomCookbooksSource":{"shape":"Source"}, "DefaultSshKeyName":{ @@ -3958,6 +4226,34 @@ "member":{"shape":"String"} }, "Switch":{"type":"string"}, + "TagKey":{"type":"string"}, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The stack or layer's Amazon Resource Number (ARN).

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A map that contains tag keys and tag values that are attached to a stack or layer.

  • The key cannot be empty.

  • The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /

  • The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /

  • Leading and trailing white spaces are trimmed from both the key and value.

  • A maximum of 40 tags is allowed for any resource.

" + } + } + }, + "TagValue":{"type":"string"}, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, "TemporaryCredential":{ "type":"structure", "members":{ @@ -3975,7 +4271,7 @@ }, "InstanceId":{ "shape":"String", - "documentation":"

The instance's AWS OpsWorks ID.

" + "documentation":"

The instance's AWS OpsWorks Stacks ID.

" } }, "documentation":"

Contains the data needed by RDP clients such as the Microsoft Remote Desktop Connection to log in to the instance.

" @@ -4018,6 +4314,23 @@ } } }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The stack or layer's Amazon Resource Number (ARN).

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

A list of the keys of tags to be removed from a stack or layer.

" + } + } + }, "UpdateAppRequest":{ "type":"structure", "required":["AppId"], @@ -4108,7 +4421,7 @@ }, "Os":{ "shape":"String", - "documentation":"

The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see Operating Systems. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.

" + "documentation":"

The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see Operating Systems. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.

" }, "AmiId":{ "shape":"String", @@ -4132,7 +4445,7 @@ }, "AgentVersion":{ "shape":"String", - "documentation":"

The default AWS OpsWorks agent version. You have the following options:

  • INHERIT - Use the stack's default agent version setting.

  • version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, you must edit the instance configuration and specify a new version. AWS OpsWorks then automatically installs that version on the instance.

The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

" + "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • INHERIT - Use the stack's default agent version setting.

  • version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, you must edit the instance configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the instance.

The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

AgentVersion cannot be set to Chef 12.2.

" } } }, @@ -4150,12 +4463,16 @@ }, "Shortname":{ "shape":"String", - "documentation":"

For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorksand by Chef. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters and must be in the following format: /\\A[a-z0-9\\-\\_\\.]+\\Z/.

The built-in layers' short names are defined by AWS OpsWorks. For more information, see the Layer Reference

" + "documentation":"

For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters and must be in the following format: /\\A[a-z0-9\\-\\_\\.]+\\Z/.

The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference

" }, "Attributes":{ "shape":"LayerAttributes", "documentation":"

One or more user-defined key/value pairs to be added to the stack attributes.

" }, + "CloudWatchLogsConfiguration":{ + "shape":"CloudWatchLogsConfiguration", + "documentation":"

Specifies CloudWatch Logs configuration options for the layer. For more information, see CloudWatchLogsLogStream.

" + }, "CustomInstanceProfileArn":{ "shape":"String", "documentation":"

The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" @@ -4259,7 +4576,7 @@ }, "DefaultOs":{ "shape":"String", - "documentation":"

The stack's operating system, which must be set to one of the following:

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the stack's current operating system. For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

" + "documentation":"

The stack's operating system, which must be set to one of the following:

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the stack's current operating system. For more information on the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

" }, "HostnameTheme":{ "shape":"String", @@ -4292,7 +4609,7 @@ "CustomCookbooksSource":{"shape":"Source"}, "DefaultSshKeyName":{ "shape":"String", - "documentation":"

A default Amazon EC2 key-pair name. The default value is none. If you specify a key-pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

" + "documentation":"

A default Amazon EC2 key-pair name. The default value is none. If you specify a key-pair name, AWS OpsWorks Stacks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

" }, "DefaultRootDeviceType":{ "shape":"RootDeviceType", @@ -4300,11 +4617,11 @@ }, "UseOpsworksSecurityGroups":{ "shape":"Boolean", - "documentation":"

Whether to associate the AWS OpsWorks built-in security groups with the stack's layers.

AWS OpsWorks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. UseOpsworksSecurityGroups allows you to provide your own custom security groups instead of using the built-in groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

  • False - AWS OpsWorks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on. Custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" + "documentation":"

Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. UseOpsworksSecurityGroups allows you to provide your own custom security groups instead of using the built-in groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

  • False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on. Custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" }, "AgentVersion":{ "shape":"String", - "documentation":"

The default AWS OpsWorks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks then automatically installs that version on the stack's instances.

The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" + "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" } } }, @@ -4318,7 +4635,7 @@ }, "SshUsername":{ "shape":"String", - "documentation":"

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks generates one from the IAM user name.

" + "documentation":"

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks Stacks generates one from the IAM user name.

" }, "SshPublicKey":{ "shape":"String", @@ -4546,5 +4863,5 @@ "documentation":"

Describes a time-based instance's auto scaling schedule. The schedule consists of a set of key-value pairs.

  • The key is the time period (a UTC hour) and must be an integer from 0 - 23.

  • The value indicates whether the instance should be online or offline for the specified period, and must be set to \"on\" or \"off\"

The default setting for all time periods is off, so you use the following parameters primarily to specify the online periods. You don't have to explicitly specify offline periods unless you want to change an online period to an offline period.

The following example specifies that the instance should be online for four hours, from UTC 1200 - 1600. It will be off for the remainder of the day.

{ \"12\":\"on\", \"13\":\"on\", \"14\":\"on\", \"15\":\"on\" }

" } }, - "documentation":"AWS OpsWorks

Welcome to the AWS OpsWorks API Reference. This guide provides descriptions, syntax, and usage examples for AWS OpsWorks actions and data types, including common parameters and error codes.

AWS OpsWorks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. For information about this product, go to the AWS OpsWorks details page.

SDKs and CLI

The most common way to use the AWS OpsWorks API is by using the AWS Command Line Interface (CLI) or by using one of the AWS SDKs to implement applications in your preferred language. For more information, see:

Endpoints

AWS OpsWorks supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Stacks can only be accessed or managed within the endpoint in which they are created.

  • opsworks.us-east-1.amazonaws.com

  • opsworks.us-west-1.amazonaws.com

  • opsworks.us-west-2.amazonaws.com

  • opsworks.eu-west-1.amazonaws.com

  • opsworks.eu-central-1.amazonaws.com

  • opsworks.ap-northeast-1.amazonaws.com

  • opsworks.ap-northeast-2.amazonaws.com

  • opsworks.ap-south-1.amazonaws.com

  • opsworks.ap-southeast-1.amazonaws.com

  • opsworks.ap-southeast-2.amazonaws.com

  • opsworks.sa-east-1.amazonaws.com

Chef Versions

When you call CreateStack, CloneStack, or UpdateStack we recommend you use the ConfigurationManager parameter to specify the Chef version. The recommended and default value for Linux stacks is currently 12. Windows stacks use Chef 12.2. For more information, see Chef Versions.

You can specify Chef 12, 11.10, or 11.4 for your Linux stack. We recommend migrating your existing Linux stacks to Chef 12 as soon as possible.

" + "documentation":"AWS OpsWorks

Welcome to the AWS OpsWorks Stacks API Reference. This guide provides descriptions, syntax, and usage examples for AWS OpsWorks Stacks actions and data types, including common parameters and error codes.

AWS OpsWorks Stacks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. For information about this product, go to the AWS OpsWorks details page.

SDKs and CLI

The most common way to use the AWS OpsWorks Stacks API is by using the AWS Command Line Interface (CLI) or by using one of the AWS SDKs to implement applications in your preferred language. For more information, see:

Endpoints

AWS OpsWorks Stacks supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Stacks can only be accessed or managed within the endpoint in which they are created.

  • opsworks.us-east-1.amazonaws.com

  • opsworks.us-east-2.amazonaws.com

  • opsworks.us-west-1.amazonaws.com

  • opsworks.us-west-2.amazonaws.com

  • opsworks.eu-west-1.amazonaws.com

  • opsworks.eu-west-2.amazonaws.com

  • opsworks.eu-central-1.amazonaws.com

  • opsworks.ap-northeast-1.amazonaws.com

  • opsworks.ap-northeast-2.amazonaws.com

  • opsworks.ap-south-1.amazonaws.com

  • opsworks.ap-southeast-1.amazonaws.com

  • opsworks.ap-southeast-2.amazonaws.com

  • opsworks.sa-east-1.amazonaws.com

Chef Versions

When you call CreateStack, CloneStack, or UpdateStack we recommend you use the ConfigurationManager parameter to specify the Chef version. The recommended and default value for Linux stacks is currently 12. Windows stacks use Chef 12.2. For more information, see Chef Versions.

You can specify Chef 12, 11.10, or 11.4 for your Linux stack. We recommend migrating your existing Linux stacks to Chef 12 as soon as possible.

" } diff --git a/botocore/data/opsworkscm/2016-11-01/examples-1.json b/botocore/data/opsworkscm/2016-11-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/opsworkscm/2016-11-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/opsworkscm/2016-11-01/paginators-1.json b/botocore/data/opsworkscm/2016-11-01/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/opsworkscm/2016-11-01/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/opsworkscm/2016-11-01/service-2.json b/botocore/data/opsworkscm/2016-11-01/service-2.json index 27e03b7f..2ba5cb9c 100644 --- a/botocore/data/opsworkscm/2016-11-01/service-2.json +++ b/botocore/data/opsworkscm/2016-11-01/service-2.json @@ -25,7 +25,8 @@ {"shape":"InvalidStateException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} - ] + ], + "documentation":"

Associates a new node with the Chef server. This command is an alternative to knife bootstrap. For more information about how to disassociate a node, see DisassociateNode.

A node can can only be associated with servers that are in a HEALTHY state. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. The AssociateNode API call can be integrated into Auto Scaling configurations, AWS Cloudformation templates, or the user data of a server's instance.

Example: aws opsworks-cm associate-node --server-name MyServer --node-name MyManagedNode --engine-attributes \"Name=MyOrganization,Value=default\" \"Name=Chef_node_public_key,Value=Public_key_contents\"

" }, "CreateBackup":{ "name":"CreateBackup", @@ -41,7 +42,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

Creates an application-level backup of a server. While the server is BACKING_UP, the server can not be modified and no additional backup can be created.

Backups can be created for RUNNING, HEALTHY and UNHEALTHY servers.

This operation is asnychronous.

By default 50 manual backups can be created.

A LimitExceededException is thrown then the maximum number of manual backup is reached. A InvalidStateException is thrown when the server is not in any of RUNNING, HEALTHY, UNHEALTHY. A ResourceNotFoundException is thrown when the server is not found. A ValidationException is thrown when parameters of the request are not valid.

" + "documentation":"

Creates an application-level backup of a server. While the server is in the BACKING_UP state, the server cannot be changed, and no additional backup can be created.

Backups can be created for servers in RUNNING, HEALTHY, and UNHEALTHY states. By default, you can create a maximum of 50 manual backups.

This operation is asynchronous.

A LimitExceededException is thrown when the maximum number of manual backups is reached. An InvalidStateException is thrown when the server is not in any of the following states: RUNNING, HEALTHY, or UNHEALTHY. A ResourceNotFoundException is thrown when the server is not found. A ValidationException is thrown when parameters of the request are not valid.

" }, "CreateServer":{ "name":"CreateServer", @@ -57,7 +58,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

Creates and immedately starts a new Server. The server can be used once it has reached the HEALTHY state.

This operation is asnychronous.

A LimitExceededException is thrown then the maximum number of server backup is reached. A ResourceAlreadyExistsException is raise when a server with the same name already exists in the account. A ResourceNotFoundException is thrown when a backupId is passed, but the backup does not exist. A ValidationException is thrown when parameters of the request are not valid.

By default 10 servers can be created. A LimitExceededException is raised when the limit is exceeded.

When no security groups are provided by using SecurityGroupIds, AWS OpsWorks creates a new security group. This security group opens the Chef server to the world on TCP port 443. If a KeyName is present, SSH access is enabled. SSH is also open to the world on TCP port 22.

By default, the Chef Server is accessible from any IP address. We recommend that you update your security group rules to allow access from known IP addresses and address ranges only. To edit security group rules, open Security Groups in the navigation pane of the EC2 management console.

" + "documentation":"

Creates and immedately starts a new server. The server is ready to use when it is in the HEALTHY state. By default, you can create a maximum of 10 servers.

This operation is asynchronous.

A LimitExceededException is thrown when you have created the maximum number of servers (10). A ResourceAlreadyExistsException is thrown when a server with the same name already exists in the account. A ResourceNotFoundException is thrown when you specify a backup ID that is not valid or is for a backup that does not exist. A ValidationException is thrown when parameters of the request are not valid.

If you do not specify a security group by adding the SecurityGroupIds parameter, AWS OpsWorks creates a new security group. The default security group opens the Chef server to the world on TCP port 443. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22.

By default, the Chef Server is accessible from any IP address. We recommend that you update your security group rules to allow access from known IP addresses and address ranges only. To edit security group rules, open Security Groups in the navigation pane of the EC2 management console.

" }, "DeleteBackup":{ "name":"DeleteBackup", @@ -72,7 +73,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

Deletes a backup. You can delete both manual and automated backups.

This operation is asynchronous.

A InvalidStateException is thrown then a backup is already deleting. A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException is thrown when parameters of the request are not valid.

" + "documentation":"

Deletes a backup. You can delete both manual and automated backups. This operation is asynchronous.

An InvalidStateException is thrown when a backup deletion is already in progress. A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException is thrown when parameters of the request are not valid.

" }, "DeleteServer":{ "name":"DeleteServer", @@ -87,7 +88,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

Deletes the server and the underlying AWS CloudFormation stack (including the server's EC2 instance). The server status updated to DELETING. Once the server is successfully deleted, it will no longer be returned by DescribeServer requests. If the AWS CloudFormation stack cannot be deleted, the server cannot be deleted.

This operation is asynchronous.

A InvalidStateException is thrown then a server is already deleting. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are invalid.

" + "documentation":"

Deletes the server and the underlying AWS CloudFormation stack (including the server's EC2 instance). When you run this command, the server state is updated to DELETING. After the server is deleted, it is no longer returned by DescribeServer requests. If the AWS CloudFormation stack cannot be deleted, the server cannot be deleted.

This operation is asynchronous.

An InvalidStateException is thrown when a server deletion is already in progress. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" }, "DescribeAccountAttributes":{ "name":"DescribeAccountAttributes", @@ -112,7 +113,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Describes backups. The results are ordered by time, with newest backups first. If you do not specify a BackupId or ServerName, the command returns all backups.

This operation is synchronous.

A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException is raised when parameters of the request are invalid.

" + "documentation":"

Describes backups. The results are ordered by time, with newest backups first. If you do not specify a BackupId or ServerName, the command returns all backups.

This operation is synchronous.

A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException is raised when parameters of the request are not valid.

" }, "DescribeEvents":{ "name":"DescribeEvents", @@ -127,7 +128,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes events for a specified server. Results are ordered by time, with newest events first.

This operation is synchronous.

A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are invalid.

" + "documentation":"

Describes events for a specified server. Results are ordered by time, with newest events first.

This operation is synchronous.

A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" }, "DescribeNodeAssociationStatus":{ "name":"DescribeNodeAssociationStatus", @@ -140,7 +141,8 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} - ] + ], + "documentation":"

Returns the current status of an existing association or disassociation request.

A ResourceNotFoundException is thrown when no recent association or disassociation request with the specified token is found, or when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" }, "DescribeServers":{ "name":"DescribeServers", @@ -155,7 +157,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Lists all configuration management servers that are identified with your account. Only the stored results from Amazon DynamoDB are returned. AWS OpsWorks for Chef Automate does not query other services.

This operation is synchronous.

A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are invalid.

" + "documentation":"

Lists all configuration management servers that are identified with your account. Only the stored results from Amazon DynamoDB are returned. AWS OpsWorks for Chef Automate does not query other services.

This operation is synchronous.

A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" }, "DisassociateNode":{ "name":"DisassociateNode", @@ -169,7 +171,8 @@ {"shape":"InvalidStateException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} - ] + ], + "documentation":"

Disassociates a node from a Chef server, and removes the node from the Chef server's managed nodes. After a node is disassociated, the node key pair is no longer valid for accessing the Chef API. For more information about how to associate a node, see AssociateNode.

A node can can only be disassociated from a server that is in a HEALTHY state. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" }, "RestoreServer":{ "name":"RestoreServer", @@ -184,7 +187,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

Restores a backup to a server that is in a RUNNING, FAILED, or HEALTHY state. When you run RestoreServer, the server's EC2 instance is deleted, and a new EC2 instance is configured. RestoreServer maintains the existing server endpoint, so configuration management of all of the server's client devices should continue to work.

This operation is asynchronous.

A InvalidStateException is thrown when the server is not in a valid state. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are invalid.

" + "documentation":"

Restores a backup to a server that is in a CONNECTION_LOST, HEALTHY, RUNNING, UNHEALTHY, or TERMINATED state. When you run RestoreServer, the server's EC2 instance is deleted, and a new EC2 instance is configured. RestoreServer maintains the existing server endpoint, so configuration management of the server's client devices (nodes) should continue to work.

This operation is asynchronous.

An InvalidStateException is thrown when the server is not in a valid state. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" }, "StartMaintenance":{ "name":"StartMaintenance", @@ -199,7 +202,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

Manually starts server maintenance. This command can be useful if an earlier maintenance attempt failed, and the underlying cause of maintenance failure has been resolved. The server will switch to UNDER_MAINTENANCE state, while maintenace is in progress.

Maintenace can only be started for HEALTHY and UNHEALTHY servers. A InvalidStateException is thrown otherwise. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are invalid.

" + "documentation":"

Manually starts server maintenance. This command can be useful if an earlier maintenance attempt failed, and the underlying cause of maintenance failure has been resolved. The server is in an UNDER_MAINTENANCE state while maintenance is in progress.

Maintenance can only be started on servers in HEALTHY and UNHEALTHY states. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" }, "UpdateServer":{ "name":"UpdateServer", @@ -229,7 +232,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

Updates engine specific attributes on a specified server. Server will enter the MODIFYING state when this operation is in progress. Only one update can take place at a time.

This operation can be use to reset Chef Server main API key (CHEF_PIVOTAL_KEY).

This operation is asynchronous.

This operation can only be called for HEALTHY and UNHEALTHY servers. Otherwise a InvalidStateException is raised. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are invalid.

" + "documentation":"

Updates engine-specific attributes on a specified server. The server enters the MODIFYING state when this operation is in progress. Only one update can occur at a time. You can use this command to reset the Chef server's private key (CHEF_PIVOTAL_KEY).

This operation is asynchronous.

This operation can only be called for servers in HEALTHY or UNHEALTHY states. Otherwise, an InvalidStateException is raised. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" } }, "shapes":{ @@ -238,7 +241,7 @@ "members":{ "Name":{ "shape":"String", - "documentation":"

The attribute name. The following are supported attribute names.

  • ServerLimit: The number of servers that currently existing / maximal allowed. By default 10 servers can be created.

  • ManualBackupLimit: The number of manual backups that currently exist / are maximal allowed. By default 50 manual backups can be created.

" + "documentation":"

The attribute name. The following are supported attribute names.

  • ServerLimit: The number of current servers/maximum number of servers allowed. By default, you can have a maximum of 10 servers.

  • ManualBackupLimit: The number of current manual backups/maximum number of backups allowed. By default, you can have a maximum of 50 manual backups saved.

" }, "Maximum":{ "shape":"Integer", @@ -246,7 +249,7 @@ }, "Used":{ "shape":"Integer", - "documentation":"

The current usage, such as the current number of servers associated with the account.

" + "documentation":"

The current usage, such as the current number of servers that are associated with the account.

" } }, "documentation":"

Stores account attributes.

" @@ -254,24 +257,37 @@ "AccountAttributes":{ "type":"list", "member":{"shape":"AccountAttribute"}, - "documentation":"

A list of the individual attributes.

" + "documentation":"

A list of individual account attributes.

" }, "AssociateNodeRequest":{ "type":"structure", "required":[ "ServerName", - "NodeName" + "NodeName", + "EngineAttributes" ], "members":{ - "ServerName":{"shape":"ServerName"}, - "NodeName":{"shape":"NodeName"}, - "EngineAttributes":{"shape":"EngineAttributes"} + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server with which to associate the node.

" + }, + "NodeName":{ + "shape":"NodeName", + "documentation":"

The name of the Chef client node.

" + }, + "EngineAttributes":{ + "shape":"EngineAttributes", + "documentation":"

Engine attributes used for associating the node.

Attributes accepted in a AssociateNode request:

  • CHEF_ORGANIZATION: The Chef organization with which the node is associated. By default only one organization named default can exist.

  • CHEF_NODE_PUBLIC_KEY: A PEM-formatted public key. This key is required for the chef-client agent to access the Chef API.

" + } } }, "AssociateNodeResponse":{ "type":"structure", "members":{ - "NodeAssociationStatusToken":{"shape":"NodeAssociationStatusToken"} + "NodeAssociationStatusToken":{ + "shape":"NodeAssociationStatusToken", + "documentation":"

Contains a token which can be passed to the DescribeNodeAssociationStatus API call to get the status of the association request.

" + } } }, "AttributeName":{ @@ -338,11 +354,13 @@ }, "S3DataSize":{ "shape":"Integer", - "documentation":"

The size of the backup, in bytes. The size is returned by the instance in the command results.

" + "documentation":"

This field is deprecated and is no longer used.

", + "deprecated":true }, "S3DataUrl":{ "shape":"String", - "documentation":"

The Amazon S3 URL of the backup's tar.gz file.

" + "documentation":"

This field is deprecated and is no longer used.

", + "deprecated":true }, "S3LogUrl":{ "shape":"String", @@ -431,7 +449,7 @@ "members":{ "Backup":{ "shape":"Backup", - "documentation":"

Backup created by request.

" + "documentation":"

Backup created by request.

" } } }, @@ -440,9 +458,14 @@ "required":[ "ServerName", "InstanceProfileArn", + "InstanceType", "ServiceRoleArn" ], "members":{ + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

Associate a public IP address with a server that you are launching. Valid values are true or false. The default value is true.

" + }, "DisableAutomatedBackup":{ "shape":"Boolean", "documentation":"

Enable or disable scheduled backups. Valid values are true or false. The default value is true.

" @@ -461,7 +484,7 @@ }, "EngineAttributes":{ "shape":"EngineAttributes", - "documentation":"

Engine attributes on a specified server.

Attributes accepted in a createServer request:

  • CHEF_PIVOTAL_KEY: A base64-encoded RSA private key that is not stored by AWS OpsWorks for Chef Automate. This private key is required to access the Chef API.

" + "documentation":"

Optional engine attributes on a specified server.

Attributes accepted in a createServer request:

  • CHEF_PIVOTAL_KEY: A base64-encoded RSA private key that is not stored by AWS OpsWorks for Chef. This private key is required to access the Chef API. When no CHEF_PIVOTAL_KEY is set, one is generated and returned in the response.

  • CHEF_DELIVERY_ADMIN_PASSWORD: The password for the administrative user in the Chef Automate GUI. The password length is a minimum of eight characters, and a maximum of 32. The password can contain letters, numbers, and special characters (!/@#$%^&+=_). The password must contain at least one lower case letter, one upper case letter, one number, and one special character. When no CHEF_DELIVERY_ADMIN_PASSWORD is set, one is generated and returned in the response.

" }, "BackupRetentionCount":{ "shape":"BackupRetentionCountDefinition", @@ -469,19 +492,19 @@ }, "ServerName":{ "shape":"ServerName", - "documentation":"

The name of the server. The server name must be unique within your AWS account, within each region. Server names must start with a letter; then letters, numbers, or hyphens (-) are allowed, up to a maximum of 32 characters.

" + "documentation":"

The name of the server. The server name must be unique within your AWS account, within each region. Server names must start with a letter; then letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters.

" }, "InstanceProfileArn":{ "shape":"InstanceProfileArn", - "documentation":"

The ARN of the instance profile that your Amazon EC2 instances use. Although the AWS OpsWorks console typically creates the instance profile for you, in this release of AWS OpsWorks for Chef Automate, run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-stuff/latest/service-role-creation.yaml. This template creates a stack that includes the instance profile you need.

" + "documentation":"

The ARN of the instance profile that your Amazon EC2 instances use. Although the AWS OpsWorks console typically creates the instance profile for you, if you are using API commands instead, run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. This template creates a CloudFormation stack that includes the instance profile you need.

" }, "InstanceType":{ "shape":"String", - "documentation":"

The Amazon EC2 instance type to use. Valid values must be specified in the following format: ^([cm][34]|t2).* For example, c3.large.

" + "documentation":"

The Amazon EC2 instance type to use. Valid values must be specified in the following format: ^([cm][34]|t2).* For example, m4.large. Valid values are t2.medium, m4.large, or m4.2xlarge.

" }, "KeyPair":{ "shape":"KeyPair", - "documentation":"

The Amazon EC2 key pair to set for the instance. You may specify this parameter to connect to your instances by using SSH.

" + "documentation":"

The Amazon EC2 key pair to set for the instance. This parameter is optional; if desired, you may specify this parameter to connect to your instances by using SSH.

" }, "PreferredMaintenanceWindow":{ "shape":"TimeWindowDefinition", @@ -489,7 +512,7 @@ }, "PreferredBackupWindow":{ "shape":"TimeWindowDefinition", - "documentation":"

The start time for a one-hour period during which AWS OpsWorks for Chef Automate backs up application-level data on your server if backups are enabled. Valid values must be specified in one of the following formats:

  • HH:MM for daily backups

  • DDD:HH:MM for weekly backups

The specified time is in coordinated universal time (UTC). The default value is a random, daily start time.

Example: 08:00, which represents a daily start time of 08:00 UTC.

Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)

" + "documentation":"

The start time for a one-hour period during which AWS OpsWorks for Chef Automate backs up application-level data on your server if automated backups are enabled. Valid values must be specified in one of the following formats:

  • HH:MM for daily backups

  • DDD:HH:MM for weekly backups

The specified time is in coordinated universal time (UTC). The default value is a random, daily start time.

Example: 08:00, which represents a daily start time of 08:00 UTC.

Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)

" }, "SecurityGroupIds":{ "shape":"Strings", @@ -497,7 +520,7 @@ }, "ServiceRoleArn":{ "shape":"ServiceRoleArn", - "documentation":"

The service role that the AWS OpsWorks for Chef Automate service backend uses to work with your account. Although the AWS OpsWorks console typically creates the service role for you, in this release of AWS OpsWorks for Chef Automate, run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-stuff/latest/service-role-creation.yaml. This template creates a stack that includes the service role that you need.

" + "documentation":"

The service role that the AWS OpsWorks for Chef Automate service backend uses to work with your account. Although the AWS OpsWorks management console typically creates the service role for you, if you are using the AWS CLI or API commands, run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-stuff/latest/service-role-creation.yaml. This template creates a CloudFormation stack that includes the service role that you need.

" }, "SubnetIds":{ "shape":"Strings", @@ -635,13 +658,19 @@ ], "members":{ "NodeAssociationStatusToken":{"shape":"NodeAssociationStatusToken"}, - "ServerName":{"shape":"ServerName"} + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server from which to disassociate the node.

" + } } }, "DescribeNodeAssociationStatusResponse":{ "type":"structure", "members":{ - "NodeAssociationStatus":{"shape":"NodeAssociationStatus"} + "NodeAssociationStatus":{ + "shape":"NodeAssociationStatus", + "documentation":"

The status of the association or disassociation request.

Possible values:

  • SUCCESS: The association or disassociation succeeded.

  • FAILED: The association or disassociation failed.

  • IN_PROGRESS: The association or disassociation is still in progress.

" + } } }, "DescribeServersRequest":{ @@ -649,7 +678,7 @@ "members":{ "ServerName":{ "shape":"ServerName", - "documentation":"

Describes the server with the specified ServerName.

" + "documentation":"

Describes the server with the specified ServerName.

" }, "NextToken":{ "shape":"NextToken", @@ -681,30 +710,47 @@ "NodeName" ], "members":{ - "ServerName":{"shape":"ServerName"}, - "NodeName":{"shape":"NodeName"}, - "EngineAttributes":{"shape":"EngineAttributes"} + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server from which to disassociate the node.

" + }, + "NodeName":{ + "shape":"NodeName", + "documentation":"

The name of the Chef client node.

" + }, + "EngineAttributes":{ + "shape":"EngineAttributes", + "documentation":"

Engine attributes used for disassociating the node.

Attributes accepted in a DisassociateNode request:

  • CHEF_ORGANIZATION: The Chef organization with which the node was associated. By default only one organization named default can exist.

" + } } }, "DisassociateNodeResponse":{ "type":"structure", "members":{ - "NodeAssociationStatusToken":{"shape":"NodeAssociationStatusToken"} + "NodeAssociationStatusToken":{ + "shape":"NodeAssociationStatusToken", + "documentation":"

Contains a token which can be passed to the DescribeNodeAssociationStatus API call to get the status of the disassociation request.

" + } } }, "EngineAttribute":{ "type":"structure", "members":{ "Name":{ - "shape":"String", + "shape":"EngineAttributeName", "documentation":"

The name of the engine attribute.

" }, "Value":{ - "shape":"String", + "shape":"EngineAttributeValue", "documentation":"

The value of the engine attribute.

" } }, - "documentation":"

A name/value pair that is specific to the engine of the server.

" + "documentation":"

A name and value pair that is specific to the engine of the server.

" + }, + "EngineAttributeName":{"type":"string"}, + "EngineAttributeValue":{ + "type":"string", + "sensitive":true }, "EngineAttributes":{ "type":"list", @@ -763,6 +809,7 @@ "NextToken":{"type":"string"}, "NodeAssociationStatus":{ "type":"string", + "documentation":"

The status of the association or disassociation request.

Possible values:

  • SUCCESS: The association or disassociation succeeded.

  • FAILED: The association or disassociation failed.

  • IN_PROGRESS: The association or disassociation is still in progress.

", "enum":[ "SUCCESS", "FAILED", @@ -772,6 +819,7 @@ "NodeAssociationStatusToken":{"type":"string"}, "NodeName":{ "type":"string", + "documentation":"

The node name that is used by chef-client for a new node. For more information, see the Chef Documentation.

", "pattern":"^[\\-\\p{Alnum}_:.]+$" }, "ResourceAlreadyExistsException":{ @@ -813,11 +861,11 @@ }, "InstanceType":{ "shape":"String", - "documentation":"

The type of the instance to create. Valid values must be specified in the following format: ^([cm][34]|t2).* For example, c3.large. If you do not specify this parameter, RestoreServer uses the instance type from the specified backup.

" + "documentation":"

The type of the instance to create. Valid values must be specified in the following format: ^([cm][34]|t2).* For example, m4.large. Valid values are t2.medium, m4.large, and m4.2xlarge. If you do not specify this parameter, RestoreServer uses the instance type from the specified backup.

" }, "KeyPair":{ "shape":"KeyPair", - "documentation":"

The name of the key pair to set on the new EC2 instance. This can be helpful if any of the administrators who manage the server no longer have the SSH key.

" + "documentation":"

The name of the key pair to set on the new EC2 instance. This can be helpful if the administrator no longer has the SSH key.

" } } }, @@ -829,6 +877,10 @@ "Server":{ "type":"structure", "members":{ + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

Associate a public IP address with a server that you are launching.

" + }, "BackupRetentionCount":{ "shape":"Integer", "documentation":"

The number of automated backups to keep.

" @@ -841,6 +893,10 @@ "shape":"Timestamp", "documentation":"

Time stamp of server creation. Example 2016-07-29T13:38:47.520Z

" }, + "CloudFormationStackArn":{ + "shape":"String", + "documentation":"

The ARN of the CloudFormation stack that was used to create the server.

" + }, "DisableAutomatedBackup":{ "shape":"Boolean", "documentation":"

Disables automated backups. The number of stored backups is dependent on the value of PreferredBackupCount.

" @@ -899,7 +955,7 @@ }, "Status":{ "shape":"ServerStatus", - "documentation":"

The server's status. This field displays the states of actions in progress, such as creating, running, or backing up the server, as well as server health.

" + "documentation":"

The server's status. This field displays the states of actions in progress, such as creating, running, or backing up the server, as well as the server's health state.

" }, "StatusReason":{ "shape":"String", @@ -959,9 +1015,11 @@ "FAILED", "HEALTHY", "RUNNING", + "RESTORING", "SETUP", "UNDER_MAINTENANCE", - "UNHEALTHY" + "UNHEALTHY", + "TERMINATED" ] }, "Servers":{ @@ -998,7 +1056,7 @@ }, "TimeWindowDefinition":{ "type":"string", - "documentation":"

DDD:HH:MM (weekly start time) or HH:MM (daily start time).

Time windows always use coordinated universal time (UTC).

Valid strings for day of week (DDD) are: Mon, Tue, Wed, Thr, Fri, Sat, Sun.

", + "documentation":"

DDD:HH:MM (weekly start time) or HH:MM (daily start time).

Time windows always use coordinated universal time (UTC). Valid strings for day of week (DDD) are: Mon, Tue, Wed, Thr, Fri, Sat, or Sun.

", "pattern":"^((Mon|Tue|Wed|Thu|Fri|Sat|Sun):)?([0-1][0-9]|2[0-3]):[0-5][0-9]$" }, "Timestamp":{"type":"timestamp"}, @@ -1073,5 +1131,5 @@ "exception":true } }, - "documentation":"AWS OpsWorks for Chef Automate

A service that runs and manages configuration management servers.

Glossary of terms

  • Server: A server is a configuration management server, and can be highly-available. The configuration manager runs on your instances by using various AWS services, such as Amazon Elastic Compute Cloud (EC2), and potentially Amazon Relational Database Service (RDS). A server is a generic abstraction over the configuration manager that you want to use, much like Amazon RDS. In AWS OpsWorks for Chef Automate, you do not start or stop servers. After you create servers, they continue to run until they are deleted.

  • Engine: The specific configuration manager that you want to use (such as Chef) is the engine.

  • Backup: This is an application-level backup of the data that the configuration manager stores. A backup creates a .tar.gz file that is stored in an Amazon Simple Storage Service (S3) bucket in your account. AWS OpsWorks for Chef Automate creates the S3 bucket when you launch the first instance. A backup maintains a snapshot of all of a server's important attributes at the time of the backup.

  • Events: Events are always related to a server. Events are written during server creation, when health checks run, when backups are created, etc. When you delete a server, the server's events are also deleted.

  • AccountAttributes: Every account has attributes that are assigned in the AWS OpsWorks for Chef Automate database. These attributes store information about configuration limits (servers, backups, etc.) and your customer account.

Throttling limits

All API operations allow for 5 requests per second with a burst of 10 requests per second.

" + "documentation":"AWS OpsWorks for Chef Automate

AWS OpsWorks for Chef Automate is a service that runs and manages configuration management servers.

Glossary of terms

  • Server: A configuration management server that can be highly-available. The configuration manager runs on your instances by using various AWS services, such as Amazon Elastic Compute Cloud (EC2), and potentially Amazon Relational Database Service (RDS). A server is a generic abstraction over the configuration manager that you want to use, much like Amazon RDS. In AWS OpsWorks for Chef Automate, you do not start or stop servers. After you create servers, they continue to run until they are deleted.

  • Engine: The specific configuration manager that you want to use (such as Chef) is the engine.

  • Backup: This is an application-level backup of the data that the configuration manager stores. A backup creates a .tar.gz file that is stored in an Amazon Simple Storage Service (S3) bucket in your account. AWS OpsWorks for Chef Automate creates the S3 bucket when you launch the first instance. A backup maintains a snapshot of all of a server's important attributes at the time of the backup.

  • Events: Events are always related to a server. Events are written during server creation, when health checks run, when backups are created, etc. When you delete a server, the server's events are also deleted.

  • AccountAttributes: Every account has attributes that are assigned in the AWS OpsWorks for Chef Automate database. These attributes store information about configuration limits (servers, backups, etc.) and your customer account.

Endpoints

AWS OpsWorks for Chef Automate supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Chef servers can only be accessed or managed within the endpoint in which they are created.

  • opsworks-cm.us-east-1.amazonaws.com

  • opsworks-cm.us-west-2.amazonaws.com

  • opsworks-cm.eu-west-1.amazonaws.com

Throttling limits

All API operations allow for five requests per second with a burst of 10 requests per second.

" } diff --git a/botocore/data/organizations/2016-11-28/paginators-1.json b/botocore/data/organizations/2016-11-28/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/organizations/2016-11-28/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/organizations/2016-11-28/service-2.json b/botocore/data/organizations/2016-11-28/service-2.json new file mode 100644 index 00000000..7f3ffe6c --- /dev/null +++ b/botocore/data/organizations/2016-11-28/service-2.json @@ -0,0 +1,2641 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-11-28", + "endpointPrefix":"organizations", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"Organizations", + "serviceFullName":"AWS Organizations", + "signatureVersion":"v4", + "targetPrefix":"AWSOrganizationsV20161128", + "timestampFormat":"unixTimestamp", + "uid":"organizations-2016-11-28" + }, + "operations":{ + "AcceptHandshake":{ + "name":"AcceptHandshake", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptHandshakeRequest"}, + "output":{"shape":"AcceptHandshakeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"HandshakeConstraintViolationException"}, + {"shape":"HandshakeNotFoundException"}, + {"shape":"InvalidHandshakeTransitionException"}, + {"shape":"HandshakeAlreadyInStateException"}, + {"shape":"InvalidInputException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Sends a response to the originator of a handshake agreeing to the action proposed by the handshake request.

This operation can be called only by the following principals when they also have the relevant IAM permissions:

  • Invitation to join or Approve all features request handshakes: only a principal from the member account.

  • Enable all features final confirmation handshake: only a principal from the master account.

    For more information about invitations, see Inviting an AWS Account to Join Your Organization in the AWS Organizations User Guide. For more information about requests to enable all features in the organization, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

After you accept a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that it is deleted.

" + }, + "AttachPolicy":{ + "name":"AttachPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachPolicyRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"DuplicatePolicyAttachmentException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"PolicyTypeNotEnabledException"}, + {"shape":"ServiceException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Attaches a policy to a root, an organizational unit, or an individual account. How the policy affects accounts depends on the type of policy:

  • Service control policy (SCP) - An SCP specifies what permissions can be delegated to users in affected member accounts. The scope of influence for a policy depends on what you attach the policy to:

    • If you attach an SCP to a root, it affects all accounts in the organization.

    • If you attach an SCP to an OU, it affects all accounts in that OU and in any child OUs.

    • If you attach the policy directly to an account, then it affects only that account.

    SCPs essentially are permission \"filters\". When you attach one SCP to a higher level root or OU, and you also attach a different SCP to a child OU or to an account, the child policy can further restrict only the permissions that pass through the parent filter and are available to the child. An SCP that is attached to a child cannot grant a permission that is not already granted by the parent. For example, imagine that the parent SCP allows permissions A, B, C, D, and E. The child SCP allows C, D, E, F, and G. The result is that the accounts affected by the child SCP are allowed to use only C, D, and E. They cannot use A or B because they were filtered out by the child OU. They also cannot use F and G because they were filtered out by the parent OU. They cannot be granted back by the child SCP; child SCPs can only filter the permissions they receive from the parent SCP.

    AWS Organizations attaches a default SCP named \"FullAWSAccess to every root, OU, and account. This default SCP allows all services and actions, enabling any new child OU or account to inherit the permissions of the parent root or OU. If you detach the default policy, you must replace it with a policy that specifies the permissions that you want to allow in that OU or account.

    For more information about how Organizations policies permissions work, see Using Service Control Policies in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + }, + "CancelHandshake":{ + "name":"CancelHandshake", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelHandshakeRequest"}, + "output":{"shape":"CancelHandshakeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"HandshakeNotFoundException"}, + {"shape":"InvalidHandshakeTransitionException"}, + {"shape":"HandshakeAlreadyInStateException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Cancels a handshake. Canceling a handshake sets the handshake state to CANCELED.

This operation can be called only from the account that originated the handshake. The recipient of the handshake can't cancel it, but can use DeclineHandshake instead. After a handshake is canceled, the recipient can no longer respond to that handshake.

After you cancel a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that it is deleted.

" + }, + "CreateAccount":{ + "name":"CreateAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAccountRequest"}, + "output":{"shape":"CreateAccountResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"FinalizingOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates an AWS account that is automatically a member of the organization whose credentials made the request. This is an asynchronous request that AWS performs in the background. If you want to check the status of the request later, you need the OperationId response element from this operation to provide as a parameter to the DescribeCreateAccountStatus operation.

AWS Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole by default) that grants administrator permissions to the new account. Principals in the master account can assume the role. AWS Organizations clones the company name and address information for the new account from the organization's master account.

For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide.

You cannot remove accounts that are created with this operation from an organization. That also means that you cannot delete an organization that contains an account that is created with this operation.

When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable this, then only the account root user can access billing information. For information about how to disable this for an account, see Granting Access to Your Billing Information and Tools.

This operation can be called only from the organization's master account.

" + }, + "CreateOrganization":{ + "name":"CreateOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateOrganizationRequest"}, + "output":{"shape":"CreateOrganizationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AlreadyInOrganizationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates an AWS organization. The account whose user is calling the CreateOrganization operation automatically becomes the master account of the new organization.

This operation must be called using credentials from the account that is to become the new organization's master account. The principal must also have the relevant IAM permissions.

By default (or if you set the FeatureSet parameter to ALL), the new organization is created with all features enabled and service control policies automatically enabled in the root. If you instead choose to create the organization supporting only the consolidated billing features by setting the FeatureSet parameter to CONSOLIDATED_BILLING\", then no policy types are enabled by default and you cannot use organization policies.

" + }, + "CreateOrganizationalUnit":{ + "name":"CreateOrganizationalUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateOrganizationalUnitRequest"}, + "output":{"shape":"CreateOrganizationalUnitResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"DuplicateOrganizationalUnitException"}, + {"shape":"InvalidInputException"}, + {"shape":"ParentNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates an organizational unit (OU) within a root or parent OU. An OU is a container for accounts that enables you to organize your accounts to apply policies according to your business requirements. The number of levels deep that you can nest OUs is dependent upon the policy types enabled for that root. For service control policies, the limit is five.

For more information about OUs, see Managing Organizational Units in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + }, + "CreatePolicy":{ + "name":"CreatePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePolicyRequest"}, + "output":{"shape":"CreatePolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"DuplicatePolicyException"}, + {"shape":"InvalidInputException"}, + {"shape":"MalformedPolicyDocumentException"}, + {"shape":"PolicyTypeNotAvailableForOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual AWS account.

For more information about policies and their use, see Managing Organization Policies.

This operation can be called only from the organization's master account.

" + }, + "DeclineHandshake":{ + "name":"DeclineHandshake", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeclineHandshakeRequest"}, + "output":{"shape":"DeclineHandshakeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"HandshakeNotFoundException"}, + {"shape":"InvalidHandshakeTransitionException"}, + {"shape":"HandshakeAlreadyInStateException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Declines a handshake request. This sets the handshake state to DECLINED and effectively deactivates the request.

This operation can be called only from the account that received the handshake. The originator of the handshake can use CancelHandshake instead. The originator can't reactivate a declined request, but can re-initiate the process with a new handshake request.

After you decline a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that it is deleted.

" + }, + "DeleteOrganization":{ + "name":"DeleteOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidInputException"}, + {"shape":"OrganizationNotEmptyException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Deletes the organization. You can delete an organization only by using credentials from the master account. The organization must be empty of member accounts, OUs, and policies.

If you create any accounts using Organizations operations or the Organizations console, you can't remove those accounts from the organization, which means that you can't delete the organization.

" + }, + "DeleteOrganizationalUnit":{ + "name":"DeleteOrganizationalUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteOrganizationalUnitRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidInputException"}, + {"shape":"OrganizationalUnitNotEmptyException"}, + {"shape":"OrganizationalUnitNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Deletes an organizational unit from a root or another OU. You must first remove all accounts and child OUs from the OU that you want to delete.

This operation can be called only from the organization's master account.

" + }, + "DeletePolicy":{ + "name":"DeletePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePolicyRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyInUseException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all OUs, roots, and accounts.

This operation can be called only from the organization's master account.

" + }, + "DescribeAccount":{ + "name":"DescribeAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountRequest"}, + "output":{"shape":"DescribeAccountResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves Organizations-related information about the specified account.

This operation can be called only from the organization's master account.

" + }, + "DescribeCreateAccountStatus":{ + "name":"DescribeCreateAccountStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCreateAccountStatusRequest"}, + "output":{"shape":"DescribeCreateAccountStatusResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"CreateAccountStatusNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves the current status of an asynchronous request to create an account.

This operation can be called only from the organization's master account.

" + }, + "DescribeHandshake":{ + "name":"DescribeHandshake", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHandshakeRequest"}, + "output":{"shape":"DescribeHandshakeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"HandshakeNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves information about a previously requested handshake. The handshake ID comes from the response to the original InviteAccountToOrganization operation that generated the handshake.

You can access handshakes that are ACCEPTED, DECLINED, or CANCELED for only 30 days after they change to that state. They are then deleted and no longer accessible.

This operation can be called from any account in the organization.

" + }, + "DescribeOrganization":{ + "name":"DescribeOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "output":{"shape":"DescribeOrganizationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves information about the organization that the user's account belongs to.

This operation can be called from any account in the organization.

" + }, + "DescribeOrganizationalUnit":{ + "name":"DescribeOrganizationalUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeOrganizationalUnitRequest"}, + "output":{"shape":"DescribeOrganizationalUnitResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"OrganizationalUnitNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves information about an organizational unit (OU).

This operation can be called only from the organization's master account.

" + }, + "DescribePolicy":{ + "name":"DescribePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePolicyRequest"}, + "output":{"shape":"DescribePolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves information about a policy.

This operation can be called only from the organization's master account.

" + }, + "DetachPolicy":{ + "name":"DetachPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachPolicyRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyNotAttachedException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Detaches a policy from a target root, organizational unit, or account. If the policy being detached is a service control policy (SCP), the changes to permissions for IAM users and roles in affected accounts are immediate.

Note: Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with one that limits the permissions that can be delegated, then you must attach the replacement policy before you can remove the default one. This is the authorization strategy of whitelisting. If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify \"Effect\": \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in the FullAWSAccess policy (or any other attached SCP), then you are using the authorization strategy of blacklisting.

This operation can be called only from the organization's master account.

" + }, + "DisablePolicyType":{ + "name":"DisablePolicyType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisablePolicyTypeRequest"}, + "output":{"shape":"DisablePolicyTypeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyTypeNotEnabledException"}, + {"shape":"RootNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Disables an organizational control policy type in a root. A poicy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any OU or account in that root. You can undo this by using the EnablePolicyType operation.

This operation can be called only from the organization's master account.

" + }, + "EnableAllFeatures":{ + "name":"EnableAllFeatures", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableAllFeaturesRequest"}, + "output":{"shape":"EnableAllFeaturesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"HandshakeConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Enables all features in an organization. This enables the use of organization policies that can restrict the services and actions that can be called in each account. Until you enable all features, you have access only to consolidated billing, and you can't use any of the advanced account administration features that AWS Organizations supports. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

This operation is required only for organizations that were created explicitly with only the consolidated billing features enabled, or that were migrated from a Consolidated Billing account family to Organizations. Calling this operation sends a handshake to every invited account in the organization. The feature set change can be finalized and the additional features enabled only after all administrators in the invited accounts approve the change by accepting the handshake.

After all invited member accounts accept the handshake, you finalize the feature set change by accepting the handshake that contains \"Action\": \"ENABLE_ALL_FEATURES\". This completes the change.

After you enable all features in your organization, the master account in the organization can apply policies on all member accounts. These policies can restrict what users and even administrators in those accounts can do. The master account can apply policies that prevent accounts from leaving the organization. Ensure that your account administrators are aware of this.

This operation can be called only from the organization's master account.

" + }, + "EnablePolicyType":{ + "name":"EnablePolicyType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnablePolicyTypeRequest"}, + "output":{"shape":"EnablePolicyTypeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyTypeAlreadyEnabledException"}, + {"shape":"RootNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"PolicyTypeNotAvailableForOrganizationException"} + ], + "documentation":"

Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any OU, or account in that root. You can undo this by using the DisablePolicyType operation.

This operation can be called only from the organization's master account.

" + }, + "InviteAccountToOrganization":{ + "name":"InviteAccountToOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"InviteAccountToOrganizationRequest"}, + "output":{"shape":"InviteAccountToOrganizationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"HandshakeConstraintViolationException"}, + {"shape":"DuplicateHandshakeException"}, + {"shape":"InvalidInputException"}, + {"shape":"FinalizingOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Sends an invitation to another account to join your organization as a member account. Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

You can invite AWS accounts only from the same reseller as the master account. For example, if your organization's master account was created by Amazon Internet Services Pvt. Ltd (AISPL), an AWS reseller in India, then you can only invite other AISPL accounts to your organization. You can't combine accounts from AISPL and AWS. For more information, see Consolidated Billing in India.

This operation can be called only from the organization's master account.

" + }, + "LeaveOrganization":{ + "name":"LeaveOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"MasterCannotLeaveOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the master account, use RemoveAccountFromOrganization instead.

This operation can be called only from a member account in the organization.

  • The master account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do, including preventing them from successfully calling LeaveOrganization and leaving the organization.

  • If you created the account using the AWS Organizations console, the Organizations API, or the Organizations CLI commands, then you cannot remove the account.

  • You can leave an organization only after you enable IAM user access to billing in your account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

" + }, + "ListAccounts":{ + "name":"ListAccounts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAccountsRequest"}, + "output":{"shape":"ListAccountsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists all the accounts in the organization. To request only the accounts in a root or OU, use the ListAccountsForParent operation instead.

This operation can be called only from the organization's master account.

" + }, + "ListAccountsForParent":{ + "name":"ListAccountsForParent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAccountsForParentRequest"}, + "output":{"shape":"ListAccountsForParentResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ParentNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that are not in any OU. If you specify an OU, you get a list of all the accounts in only that OU, and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation.

" + }, + "ListChildren":{ + "name":"ListChildren", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListChildrenRequest"}, + "output":{"shape":"ListChildrenResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ParentNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists all of the OUs or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root.

" + }, + "ListCreateAccountStatus":{ + "name":"ListCreateAccountStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCreateAccountStatusRequest"}, + "output":{"shape":"ListCreateAccountStatusResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the account creation requests that match the specified status that is currently being tracked for the organization.

This operation can be called only from the organization's master account.

" + }, + "ListHandshakesForAccount":{ + "name":"ListHandshakesForAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHandshakesForAccountRequest"}, + "output":{"shape":"ListHandshakesForAccountResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the current handshakes that are associated with the account of the requesting user.

Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that they are deleted and no longer accessible.

This operation can be called from any account in the organization.

" + }, + "ListHandshakesForOrganization":{ + "name":"ListHandshakesForOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHandshakesForOrganizationRequest"}, + "output":{"shape":"ListHandshakesForOrganizationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake.

Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that they are deleted and no longer accessible.

This operation can be called only from the organization's master account.

" + }, + "ListOrganizationalUnitsForParent":{ + "name":"ListOrganizationalUnitsForParent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOrganizationalUnitsForParentRequest"}, + "output":{"shape":"ListOrganizationalUnitsForParentResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ParentNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the organizational units (OUs) in a parent organizational unit or root.

This operation can be called only from the organization's master account.

" + }, + "ListParents":{ + "name":"ListParents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListParentsRequest"}, + "output":{"shape":"ListParentsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ChildNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account. This operation, along with ListChildren enables you to traverse the tree structure that makes up this root.

This operation can be called only from the organization's master account.

In the current release, a child can have only a single parent.

" + }, + "ListPolicies":{ + "name":"ListPolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPoliciesRequest"}, + "output":{"shape":"ListPoliciesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves the list of all policies in an organization of a specified type.

This operation can be called only from the organization's master account.

" + }, + "ListPoliciesForTarget":{ + "name":"ListPoliciesForTarget", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPoliciesForTargetRequest"}, + "output":{"shape":"ListPoliciesForTargetResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. You must specify the policy type that you want included in the returned list.

This operation can be called only from the organization's master account.

" + }, + "ListRoots":{ + "name":"ListRoots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRootsRequest"}, + "output":{"shape":"ListRootsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the roots that are defined in the current organization.

This operation can be called only from the organization's master account.

" + }, + "ListTargetsForPolicy":{ + "name":"ListTargetsForPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTargetsForPolicyRequest"}, + "output":{"shape":"ListTargetsForPolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists all the roots, OUs, and accounts to which the specified policy is attached.

This operation can be called only from the organization's master account.

" + }, + "MoveAccount":{ + "name":"MoveAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MoveAccountRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidInputException"}, + {"shape":"SourceParentNotFoundException"}, + {"shape":"DestinationParentNotFoundException"}, + {"shape":"DuplicateAccountException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Moves an account from its current source parent root or OU to the specified destination parent root or OU.

This operation can be called only from the organization's master account.

" + }, + "RemoveAccountFromOrganization":{ + "name":"RemoveAccountFromOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveAccountFromOrganizationRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"MasterCannotLeaveOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Removes the specified account from the organization.

The removed account becomes a stand-alone account that is not a member of any organization. It is no longer subject to any policies and is responsible for its own bill payments. The organization's master account is no longer charged for any expenses accrued by the member account after it is removed from the organization.

This operation can be called only from the organization's master account. Member accounts can remove themselves with LeaveOrganization instead.

  • You can remove only accounts that were created outside your organization and invited to join. If you created the account using the AWS Organizations console, the Organizations API, or the Organizations CLI commands, then you cannot remove the account.

  • You can remove a member account only after you enable IAM user access to billing in the member account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

" + }, + "UpdateOrganizationalUnit":{ + "name":"UpdateOrganizationalUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateOrganizationalUnitRequest"}, + "output":{"shape":"UpdateOrganizationalUnitResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"DuplicateOrganizationalUnitException"}, + {"shape":"InvalidInputException"}, + {"shape":"OrganizationalUnitNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Renames the specified organizational unit (OU). The ID and ARN do not change. The child OUs and accounts remain in place, and any attached policies of the OU remain attached.

This operation can be called only from the organization's master account.

" + }, + "UpdatePolicy":{ + "name":"UpdatePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePolicyRequest"}, + "output":{"shape":"UpdatePolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"DuplicatePolicyException"}, + {"shape":"InvalidInputException"}, + {"shape":"MalformedPolicyDocumentException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates an existing policy with a new name, description, or content. If any parameter is not supplied, that value remains unchanged. Note that you cannot change a policy's type.

This operation can be called only from the organization's master account.

" + } + }, + "shapes":{ + "AWSOrganizationsNotInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Your account is not a member of an organization. To make this request, you must use the credentials of an account that belongs to an organization.

", + "exception":true + }, + "AcceptHandshakeRequest":{ + "type":"structure", + "required":["HandshakeId"], + "members":{ + "HandshakeId":{ + "shape":"HandshakeId", + "documentation":"

The unique identifier (ID) of the handshake that you want to accept.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" + } + } + }, + "AcceptHandshakeResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains details about the accepted handshake.

" + } + } + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access Management in the IAM User Guide.

", + "exception":true + }, + "Account":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the account.

The regex pattern for an account ID string requires exactly 12 digits.

" + }, + "Arn":{ + "shape":"AccountArn", + "documentation":"

The Amazon Resource Name (ARN) of the account.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Email":{ + "shape":"Email", + "documentation":"

The email address associated with the AWS account.

The regex pattern for this parameter is a string of characters that represents a standard Internet email address.

" + }, + "Name":{ + "shape":"AccountName", + "documentation":"

The friendly name of the account.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "Status":{ + "shape":"AccountStatus", + "documentation":"

The status of the account in the organization.

" + }, + "JoinedMethod":{ + "shape":"AccountJoinedMethod", + "documentation":"

The method by which the account joined the organization.

" + }, + "JoinedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date the account became a part of the organization.

" + } + }, + "documentation":"

Contains information about an AWS account that is a member of an organization.

" + }, + "AccountArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}" + }, + "AccountId":{ + "type":"string", + "pattern":"^\\d{12}$" + }, + "AccountJoinedMethod":{ + "type":"string", + "enum":[ + "INVITED", + "CREATED" + ] + }, + "AccountName":{ + "type":"string", + "max":50, + "min":1, + "sensitive":true + }, + "AccountNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find an AWS account with the AccountId that you specified, or the account whose credentials you used to make this request is not a member of an organization.

", + "exception":true + }, + "AccountStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "SUSPENDED" + ] + }, + "Accounts":{ + "type":"list", + "member":{"shape":"Account"} + }, + "ActionType":{ + "type":"string", + "enum":[ + "INVITE", + "ENABLE_ALL_FEATURES", + "APPROVE_ALL_FEATURES" + ] + }, + "AlreadyInOrganizationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

This account is already a member of an organization. An account can belong to only one organization at a time.

", + "exception":true + }, + "AttachPolicyRequest":{ + "type":"structure", + "required":[ + "PolicyId", + "TargetId" + ], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy that you want to attach to the target. You can get the ID for the policy by calling the ListPolicies operation.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lower-case letters or digits.

" + }, + "TargetId":{ + "shape":"PolicyTargetId", + "documentation":"

The unique identifier (ID) of the root, OU, or account that you want to attach the policy to. You can get the ID by calling the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts operations.

The regex pattern for a target ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Account: a string that consists of exactly 12 digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + } + } + }, + "AwsManagedPolicy":{"type":"boolean"}, + "CancelHandshakeRequest":{ + "type":"structure", + "required":["HandshakeId"], + "members":{ + "HandshakeId":{ + "shape":"HandshakeId", + "documentation":"

The unique identifier (ID) of the handshake that you want to cancel. You can get the ID from the ListHandshakesForOrganization operation.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" + } + } + }, + "CancelHandshakeResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains details about the handshake that you canceled.

" + } + } + }, + "Child":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ChildId", + "documentation":"

The unique identifier (ID) of this child entity.

The regex pattern for a child ID string requires one of the following:

  • Account: a string that consists of exactly 12 digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the OU) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Type":{ + "shape":"ChildType", + "documentation":"

The type of this child entity.

" + } + }, + "documentation":"

Contains a list of child entities, either OUs or accounts.

" + }, + "ChildId":{ + "type":"string", + "pattern":"^(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$" + }, + "ChildNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find an organizational unit (OU) or AWS account with the ChildId that you specified.

", + "exception":true + }, + "ChildType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORGANIZATIONAL_UNIT" + ] + }, + "Children":{ + "type":"list", + "member":{"shape":"Child"} + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The target of the operation is currently being modified by a different request. Try again later.

", + "exception":true + }, + "ConstraintViolationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "Reason":{"shape":"ConstraintViolationExceptionReason"} + }, + "documentation":"

Performing this operation violates a minimum or maximum value limit. For example, attempting to removing the last SCP from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit:

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact AWS Support to request an increase in your limit.

    Or, The number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations, or contact AWS Support to request an increase in the number of accounts.

    Note: deleted and closed accounts still count toward your limit.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes you can send in one day.

  • OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of organizational units you can have in an organization.

  • OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an organizational unit tree that is too many levels deep.

  • POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of policies that you can have in an organization.

  • MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.

  • MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account from the organization that does not yet have enough information to exist as a stand-alone account. This account requires you to first agree to the End-User License Agreement (EULA).

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that does not yet have enough information to exist as a stand-alone account. This account requires you to first complete phone verification.

  • MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this account, you first must associate a payment instrument, such as a credit card, with the account.

  • MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a payment instrument, such as a credit card, with the account.

  • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

  • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's master account to the marketplace that corresponds to the master account's address. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be associated with the same marketplace.

", + "exception":true + }, + "ConstraintViolationExceptionReason":{ + "type":"string", + "enum":[ + "ACCOUNT_NUMBER_LIMIT_EXCEEDED", + "HANDSHAKE_RATE_LIMIT_EXCEEDED", + "OU_NUMBER_LIMIT_EXCEEDED", + "OU_DEPTH_LIMIT_EXCEEDED", + "POLICY_NUMBER_LIMIT_EXCEEDED", + "MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED", + "MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED", + "ACCOUNT_CANNOT_LEAVE_ORGANIZATION", + "ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA", + "ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION", + "MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED", + "MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED", + "ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED", + "MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE" + ] + }, + "CreateAccountFailureReason":{ + "type":"string", + "enum":[ + "ACCOUNT_LIMIT_EXCEEDED", + "EMAIL_ALREADY_EXISTS", + "INVALID_ADDRESS", + "INVALID_EMAIL", + "INTERNAL_FAILURE" + ] + }, + "CreateAccountRequest":{ + "type":"structure", + "required":[ + "Email", + "AccountName" + ], + "members":{ + "Email":{ + "shape":"Email", + "documentation":"

The email address of the owner to assign to the new member account. This email address must not already be associated with another AWS account.

" + }, + "AccountName":{ + "shape":"AccountName", + "documentation":"

The friendly name of the member account.

" + }, + "RoleName":{ + "shape":"RoleName", + "documentation":"

(Optional)

The name of an IAM role that Organizations automatically preconfigures in the new member account. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account.

If you do not specify this parameter, the role name defaults to OrganizationAccountAccessRole.

For more information about how to use this role to access the member account, see Accessing and Administering the Member Accounts in Your Organization in the AWS Organizations User Guide, and steps 2 and 3 in Tutorial: Delegate Access Across AWS Accounts Using IAM Roles in the IAM User Guide.

The regex pattern that is used to validate this parameter is a string of characters that can consist of uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-

" + }, + "IamUserAccessToBilling":{ + "shape":"IAMUserAccessToBilling", + "documentation":"

If set to ALLOW, the new account enables IAM users to access account billing information if they have the required permissions. If set to DENY, then only the root user of the new account can access account billing information. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

If you do not specify this parameter, the value defaults to ALLOW, and IAM users and roles with the required permissions can access billing information for the new account.

" + } + } + }, + "CreateAccountRequestId":{ + "type":"string", + "pattern":"^car-[a-z0-9]{8,32}$" + }, + "CreateAccountResponse":{ + "type":"structure", + "members":{ + "CreateAccountStatus":{ + "shape":"CreateAccountStatus", + "documentation":"

A structure that contains details about the request to create an account. This response structure might not be fully populated when you first receive it because account creation is an asynchronous process. You can pass the returned CreateAccountStatus ID as a parameter to DescribeCreateAccountStatus to get status about the progress of the request at later times.

" + } + } + }, + "CreateAccountState":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ] + }, + "CreateAccountStates":{ + "type":"list", + "member":{"shape":"CreateAccountState"} + }, + "CreateAccountStatus":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"CreateAccountRequestId", + "documentation":"

The unique identifier (ID) that references this request. You get this value from the response of the initial CreateAccount request to create the account.

The regex pattern for an create account request ID string requires \"car-\" followed by from 8 to 32 lower-case letters or digits.

" + }, + "AccountName":{ + "shape":"AccountName", + "documentation":"

The account name given to the account when it was created.

" + }, + "State":{ + "shape":"CreateAccountState", + "documentation":"

The status of the request.

" + }, + "RequestedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time that the request was made for the account creation.

" + }, + "CompletedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time that the account was created and the request completed.

" + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

If the account was created successfully, the unique identifier (ID) of the new account.

The regex pattern for an account ID string requires exactly 12 digits.

" + }, + "FailureReason":{ + "shape":"CreateAccountFailureReason", + "documentation":"

If the request failed, a description of the reason for the failure.

  • ACCOUNT_LIMIT_EXCEEDED: The account could not be created because you have reached the limit on the number of accounts in your organization.

  • EMAIL_ALREADY_EXISTS: The account could not be created because another AWS account with that email address already exists.

  • INVALID_ADDRESS: The account could not be created because the address you provided is not valid.

  • INVALID_EMAIL: The account could not be created because the email address you provided is not valid.

  • INTERNAL_FAILURE: The account could not be created because of an internal failure. Try again later. If the problem persists, contact Customer Support.

" + } + }, + "documentation":"

Contains the status about a CreateAccount request to create an AWS account in an organization.

" + }, + "CreateAccountStatusNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find an create account request with the CreateAccountRequestId that you specified.

", + "exception":true + }, + "CreateAccountStatuses":{ + "type":"list", + "member":{"shape":"CreateAccountStatus"} + }, + "CreateOrganizationRequest":{ + "type":"structure", + "members":{ + "FeatureSet":{ + "shape":"OrganizationFeatureSet", + "documentation":"

Specifies the feature set supported by the new organization. Each feature set supports different levels of functionality.

  • CONSOLIDATED_BILLING: All member accounts have their bills consolidated to and paid by the master account. For more information, see Consolidated Billing in the AWS Organizations User Guide.

  • ALL: In addition to all the features supported by the consolidated billing feature set, the master account can also apply any type of policy to any member account in the organization. For more information, see All features in the AWS Organizations User Guide.

" + } + } + }, + "CreateOrganizationResponse":{ + "type":"structure", + "members":{ + "Organization":{ + "shape":"Organization", + "documentation":"

A structure that contains details about the newly created organization.

" + } + } + }, + "CreateOrganizationalUnitRequest":{ + "type":"structure", + "required":[ + "ParentId", + "Name" + ], + "members":{ + "ParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) of the parent root or OU in which you want to create the new OU.

The regex pattern for a parent ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Name":{ + "shape":"OrganizationalUnitName", + "documentation":"

The friendly name to assign to the new OU.

" + } + } + }, + "CreateOrganizationalUnitResponse":{ + "type":"structure", + "members":{ + "OrganizationalUnit":{ + "shape":"OrganizationalUnit", + "documentation":"

A structure that contains details about the newly created OU.

" + } + } + }, + "CreatePolicyRequest":{ + "type":"structure", + "required":[ + "Content", + "Description", + "Name", + "Type" + ], + "members":{ + "Content":{ + "shape":"PolicyContent", + "documentation":"

The policy content to add to the new policy. For example, if you create a service control policy (SCP), this string must be JSON text that specifies the permissions that admins in attached accounts can delegate to their users, groups, and roles. For more information about the SCP syntax, see Service Control Policy Syntax in the AWS Organizations User Guide.

" + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

An optional description to assign to the policy.

" + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

The friendly name to assign to the policy.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "Type":{ + "shape":"PolicyType", + "documentation":"

The type of policy to create.

In the current release, the only type of policy that you can create is a service control policy (SCP).

" + } + } + }, + "CreatePolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

A structure that contains details about the newly created policy.

" + } + } + }, + "DeclineHandshakeRequest":{ + "type":"structure", + "required":["HandshakeId"], + "members":{ + "HandshakeId":{ + "shape":"HandshakeId", + "documentation":"

The unique identifier (ID) of the handshake that you want to decline. You can get the ID from the ListHandshakesForAccount operation.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" + } + } + }, + "DeclineHandshakeResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains details about the declined handshake. The state is updated to show the value DECLINED.

" + } + } + }, + "DeleteOrganizationalUnitRequest":{ + "type":"structure", + "required":["OrganizationalUnitId"], + "members":{ + "OrganizationalUnitId":{ + "shape":"OrganizationalUnitId", + "documentation":"

The unique identifier (ID) of the organizational unit that you want to delete. You can get the ID from the ListOrganizationalUnitsForParent operation.

The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the OU) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + } + } + }, + "DeletePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy that you want to delete. You can get the ID from the ListPolicies or ListPoliciesForTarget operations.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lower-case letters or digits.

" + } + } + }, + "DescribeAccountRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the AWS account that you want information about. You can get the ID from the ListAccounts or ListAccountsForParent operations.

The regex pattern for an account ID string requires exactly 12 digits.

" + } + } + }, + "DescribeAccountResponse":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"Account", + "documentation":"

A structure that contains information about the requested account.

" + } + } + }, + "DescribeCreateAccountStatusRequest":{ + "type":"structure", + "required":["CreateAccountRequestId"], + "members":{ + "CreateAccountRequestId":{ + "shape":"CreateAccountRequestId", + "documentation":"

Specifies the operationId that uniquely identifies the request. You can get the ID from the response to an earlier CreateAccount request, or from the ListCreateAccountStatus operation.

The regex pattern for an create account request ID string requires \"car-\" followed by from 8 to 32 lower-case letters or digits.

" + } + } + }, + "DescribeCreateAccountStatusResponse":{ + "type":"structure", + "members":{ + "CreateAccountStatus":{ + "shape":"CreateAccountStatus", + "documentation":"

A structure that contains the current status of an account creation request.

" + } + } + }, + "DescribeHandshakeRequest":{ + "type":"structure", + "required":["HandshakeId"], + "members":{ + "HandshakeId":{ + "shape":"HandshakeId", + "documentation":"

The unique identifier (ID) of the handshake that you want information about. You can get the ID from the original call to InviteAccountToOrganization, or from a call to ListHandshakesForAccount or ListHandshakesForOrganization.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" + } + } + }, + "DescribeHandshakeResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains information about the specified handshake.

" + } + } + }, + "DescribeOrganizationResponse":{ + "type":"structure", + "members":{ + "Organization":{ + "shape":"Organization", + "documentation":"

A structure that contains information about the organization.

" + } + } + }, + "DescribeOrganizationalUnitRequest":{ + "type":"structure", + "required":["OrganizationalUnitId"], + "members":{ + "OrganizationalUnitId":{ + "shape":"OrganizationalUnitId", + "documentation":"

The unique identifier (ID) of the organizational unit that you want details about. You can get the ID from the ListOrganizationalUnitsForParent operation.

The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the OU) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + } + } + }, + "DescribeOrganizationalUnitResponse":{ + "type":"structure", + "members":{ + "OrganizationalUnit":{ + "shape":"OrganizationalUnit", + "documentation":"

A structure that contains details about the specified OU.

" + } + } + }, + "DescribePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy that you want details about. You can get the ID from the ListPolicies or ListPoliciesForTarget operations.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lower-case letters or digits.

" + } + } + }, + "DescribePolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

A structure that contains details about the specified policy.

" + } + } + }, + "DestinationParentNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find the destination container (a root or OU) with the ParentId that you specified.

", + "exception":true + }, + "DetachPolicyRequest":{ + "type":"structure", + "required":[ + "PolicyId", + "TargetId" + ], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy you want to detach. You can get the ID from the ListPolicies or ListPoliciesForTarget operations.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lower-case letters or digits.

" + }, + "TargetId":{ + "shape":"PolicyTargetId", + "documentation":"

The unique identifier (ID) of the root, OU, or account from which you want to detach the policy. You can get the ID from the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts operations.

The regex pattern for a target ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Account: a string that consists of exactly 12 digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + } + } + }, + "DisablePolicyTypeRequest":{ + "type":"structure", + "required":[ + "RootId", + "PolicyType" + ], + "members":{ + "RootId":{ + "shape":"RootId", + "documentation":"

The unique identifier (ID) of the root in which you want to disable a policy type. You can get the ID from the ListPolicies operation.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lower-case letters or digits.

" + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

The policy type that you want to disable in this root.

" + } + } + }, + "DisablePolicyTypeResponse":{ + "type":"structure", + "members":{ + "Root":{ + "shape":"Root", + "documentation":"

A structure that shows the root with the updated list of enabled policy types.

" + } + } + }, + "DuplicateAccountException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

That account is already present in the specified destination.

", + "exception":true + }, + "DuplicateHandshakeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A handshake with the same action and target already exists. For example, if you invited an account to join your organization, the invited account might already have a pending invitation from this organization. If you intend to resend an invitation to an account, ensure that existing handshakes that might be considered duplicates are canceled or declined.

", + "exception":true + }, + "DuplicateOrganizationalUnitException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

An organizational unit (OU) with the same name already exists.

", + "exception":true + }, + "DuplicatePolicyAttachmentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The selected policy is already attached to the specified target.

", + "exception":true + }, + "DuplicatePolicyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A policy with the same name already exists.

", + "exception":true + }, + "Email":{ + "type":"string", + "max":64, + "min":6, + "pattern":"[^\\s@]+@[^\\s@]+\\.[^\\s@]+", + "sensitive":true + }, + "EnableAllFeaturesRequest":{ + "type":"structure", + "members":{ + } + }, + "EnableAllFeaturesResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains details about the handshake created to support this request to enable all features in the organization.

" + } + } + }, + "EnablePolicyTypeRequest":{ + "type":"structure", + "required":[ + "RootId", + "PolicyType" + ], + "members":{ + "RootId":{ + "shape":"RootId", + "documentation":"

The unique identifier (ID) of the root in which you want to enable a policy type. You can get the ID from the ListRoots operation.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lower-case letters or digits.

" + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

The policy type that you want to enable.

" + } + } + }, + "EnablePolicyTypeResponse":{ + "type":"structure", + "members":{ + "Root":{ + "shape":"Root", + "documentation":"

A structure that shows the root with the updated list of enabled policy types.

" + } + } + }, + "ExceptionMessage":{"type":"string"}, + "ExceptionType":{"type":"string"}, + "FinalizingOrganizationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

AWS Organizations could not finalize the creation of your organization. Try again later. If this persists, contact AWS customer support.

", + "exception":true + }, + "GenericArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::.+:.+" + }, + "Handshake":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"HandshakeId", + "documentation":"

The unique identifier (ID) of a handshake. The originating account creates the ID when it initiates the handshake.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" + }, + "Arn":{ + "shape":"HandshakeArn", + "documentation":"

The Amazon Resource Name (ARN) of a handshake.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Parties":{ + "shape":"HandshakeParties", + "documentation":"

Information about the two accounts that are participating in the handshake.

" + }, + "State":{ + "shape":"HandshakeState", + "documentation":"

The current state of the handshake. Use the state to trace the flow of the handshake through the process from its creation to its acceptance. The meaning of each of the valid values is as follows:

  • REQUESTED: This handshake was sent to multiple recipients (applicable to only some handshake types) and not all recipients have responded yet. The request stays in this state until all recipients respond.

  • OPEN: This handshake was sent to multiple recipients (applicable to only some policy types) and all recipients have responded, allowing the originator to complete the handshake action.

  • CANCELED: This handshake is no longer active because it was canceled by the originating account.

  • ACCEPTED: This handshake is complete because it has been accepted by the recipient.

  • DECLINED: This handshake is no longer active because it was declined by the recipient account.

  • EXPIRED: This handshake is no longer active because the originator did not receive a response of any kind from the recipient before the expiration time (15 days).

" + }, + "RequestedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time that the handshake request was made.

" + }, + "ExpirationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time that the handshake expires. If the recipient of the handshake request fails to respond before the specified date and time, the handshake becomes inactive and is no longer valid.

" + }, + "Action":{ + "shape":"ActionType", + "documentation":"

The type of handshake, indicating what action occurs when the recipient accepts the handshake.

" + }, + "Resources":{ + "shape":"HandshakeResources", + "documentation":"

Additional information that is needed to process the handshake.

" + } + }, + "documentation":"

Contains information that must be exchanged to securely establish a relationship between two accounts (an originator and a recipient). For example, when a master account (the originator) invites another account (the recipient) to join its organization, the two accounts exchange information as a series of handshake requests and responses.

Note: Handshakes that are CANCELED, ACCEPTED, or DECLINED show up in lists for only 30 days after entering that state After that they are deleted.

" + }, + "HandshakeAlreadyInStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified handshake is already in the requested state. For example, you can't accept a handshake that was already accepted.

", + "exception":true + }, + "HandshakeArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::\\d{12}:handshake\\/o-[a-z0-9]{10,32}\\/[a-z_]{1,32}\\/h-[0-9a-z]{8,32}" + }, + "HandshakeConstraintViolationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "Reason":{"shape":"HandshakeConstraintViolationExceptionReason"} + }, + "documentation":"

The requested operation would violate the constraint identified in the reason code.

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note: deleted and closed accounts still count toward your limit.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes you can send in one day.

  • ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a member of an organization.

  • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled all features.

  • INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You cannot issue new invitations to join an organization while it is in the process of enabling all features. You can resume inviting accounts after you finalize the process when all accounts have agreed to the change.

  • PAYMENT_INSTRUMENT_REQUIRED: You cannot complete the operation with an account that does not have a payment instrument, such as a credit card, associated with it.

  • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different marketplace than the accounts in the organization. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace.

  • ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account too quickly after its previous change.

", + "exception":true + }, + "HandshakeConstraintViolationExceptionReason":{ + "type":"string", + "enum":[ + "ACCOUNT_NUMBER_LIMIT_EXCEEDED", + "HANDSHAKE_RATE_LIMIT_EXCEEDED", + "ALREADY_IN_AN_ORGANIZATION", + "ORGANIZATION_ALREADY_HAS_ALL_FEATURES", + "INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES", + "PAYMENT_INSTRUMENT_REQUIRED", + "ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD", + "ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED" + ] + }, + "HandshakeFilter":{ + "type":"structure", + "members":{ + "ActionType":{ + "shape":"ActionType", + "documentation":"

Specifies the type of handshake action.

If you specify ActionType, you cannot also specify ParentHandshakeId.

" + }, + "ParentHandshakeId":{ + "shape":"HandshakeId", + "documentation":"

Specifies the parent handshake. Only used for handshake types that are a child of another type.

If you specify ParentHandshakeId, you cannot also specify ActionType.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" + } + }, + "documentation":"

Specifies the criteria that are used to select the handshakes for the operation.

" + }, + "HandshakeId":{ + "type":"string", + "pattern":"^h-[0-9a-z]{8,32}$" + }, + "HandshakeNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a handshake with the HandshakeId that you specified.

", + "exception":true + }, + "HandshakeNotes":{ + "type":"string", + "max":1024, + "sensitive":true + }, + "HandshakeParties":{ + "type":"list", + "member":{"shape":"HandshakeParty"} + }, + "HandshakeParty":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"HandshakePartyId", + "documentation":"

The unique identifier (ID) for the party.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" + }, + "Type":{ + "shape":"HandshakePartyType", + "documentation":"

The type of party.

" + } + }, + "documentation":"

Identifies a participant in a handshake.

" + }, + "HandshakePartyId":{ + "type":"string", + "max":64, + "min":1, + "sensitive":true + }, + "HandshakePartyType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORGANIZATION", + "EMAIL" + ] + }, + "HandshakeResource":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"HandshakeResourceValue", + "documentation":"

The information that is passed to the other party in the handshake. The format of the value string must match the requirements of the specified type.

" + }, + "Type":{ + "shape":"HandshakeResourceType", + "documentation":"

The type of information being passed, specifying how the value is to be interpreted by the other party:

  • ACCOUNT - Specifies an AWS account ID number.

  • ORGANIZATION - Specifies an organization ID number.

  • EMAIL - Specifies the email address that is associated with the account that receives the handshake.

  • OWNER_EMAIL - Specifies the email address associated with the master account. Included as information about an organization.

  • OWNER_NAME - Specifies the name associated with the master account. Included as information about an organization.

  • NOTES - Additional text provided by the handshake initiator and intended for the recipient to read.

" + }, + "Resources":{ + "shape":"HandshakeResources", + "documentation":"

When needed, contains an additional array of HandshakeResource objects.

" + } + }, + "documentation":"

Contains additional data that is needed to process a handshake.

" + }, + "HandshakeResourceType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORGANIZATION", + "ORGANIZATION_FEATURE_SET", + "EMAIL", + "MASTER_EMAIL", + "MASTER_NAME", + "NOTES", + "PARENT_HANDSHAKE" + ] + }, + "HandshakeResourceValue":{ + "type":"string", + "sensitive":true + }, + "HandshakeResources":{ + "type":"list", + "member":{"shape":"HandshakeResource"} + }, + "HandshakeState":{ + "type":"string", + "enum":[ + "REQUESTED", + "OPEN", + "CANCELED", + "ACCEPTED", + "DECLINED", + "EXPIRED" + ] + }, + "Handshakes":{ + "type":"list", + "member":{"shape":"Handshake"} + }, + "IAMUserAccessToBilling":{ + "type":"string", + "enum":[ + "ALLOW", + "DENY" + ] + }, + "InvalidHandshakeTransitionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You can't perform the operation on the handshake in its current state. For example, you can't cancel a handshake that was already accepted, or accept a handshake that was already declined.

", + "exception":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "Reason":{"shape":"InvalidInputExceptionReason"} + }, + "documentation":"

The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit:

  • INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a party.

  • INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid ARN for the organization.

  • INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.

  • INVALID_ENUM: You specified a value that is not valid for that parameter.

  • INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters.

  • INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value.

  • MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed.

  • MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed.

  • MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed.

  • MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed.

  • IMMUTABLE_POLICY: You specified a policy that is managed by AWS and cannot be modified.

  • INVALID_PATTERN: You provided a value that doesn't match the required pattern.

  • INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern.

  • INPUT_REQUIRED: You must include a value for all required parameters.

  • INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a previous call of the operation.

  • MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation.

  • MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root.

", + "exception":true + }, + "InvalidInputExceptionReason":{ + "type":"string", + "enum":[ + "INVALID_PARTY_TYPE_TARGET", + "INVALID_SYNTAX_ORGANIZATION_ARN", + "INVALID_SYNTAX_POLICY_ID", + "INVALID_ENUM", + "INVALID_LIST_MEMBER", + "MAX_LENGTH_EXCEEDED", + "MAX_VALUE_EXCEEDED", + "MIN_LENGTH_EXCEEDED", + "MIN_VALUE_EXCEEDED", + "IMMUTABLE_POLICY", + "INVALID_PATTERN", + "INVALID_PATTERN_TARGET_ID", + "INPUT_REQUIRED", + "INVALID_NEXT_TOKEN", + "MAX_LIMIT_EXCEEDED_FILTER", + "MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS", + "INVALID_FULL_NAME_TARGET" + ] + }, + "InviteAccountToOrganizationRequest":{ + "type":"structure", + "required":["Target"], + "members":{ + "Target":{ + "shape":"HandshakeParty", + "documentation":"

The identifier (ID) of the AWS account that you want to invite to join your organization. This is a JSON object that contains the following elements:

{ \"Type\": \"ACCOUNT\", \"Id\": \"< account id number >\" }

If you use the AWS CLI, you can submit this as a single string, similar to the following example:

--target id=123456789012,type=ACCOUNT

If you specify \"Type\": \"ACCOUNT\", then you must provide the AWS account ID number as the Id. If you specify \"Type\": \"EMAIL\", then you must specify the email address that is associated with the account.

--target id=bill@example.com,type=EMAIL

" + }, + "Notes":{ + "shape":"HandshakeNotes", + "documentation":"

Additional information that you want to include in the generated email to the recipient account owner.

" + } + } + }, + "InviteAccountToOrganizationResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains details about the handshake that is created to support this invitation request.

" + } + } + }, + "ListAccountsForParentRequest":{ + "type":"structure", + "required":["ParentId"], + "members":{ + "ParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) for the parent root or organization unit (OU) whose accounts you want to list.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListAccountsForParentResponse":{ + "type":"structure", + "members":{ + "Accounts":{ + "shape":"Accounts", + "documentation":"

A list of the accounts in the specified root or OU.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListAccountsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListAccountsResponse":{ + "type":"structure", + "members":{ + "Accounts":{ + "shape":"Accounts", + "documentation":"

A list of objects in the organization.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListChildrenRequest":{ + "type":"structure", + "required":[ + "ParentId", + "ChildType" + ], + "members":{ + "ParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) for the parent root or OU whose children you want to list.

The regex pattern for a parent ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "ChildType":{ + "shape":"ChildType", + "documentation":"

Filters the output to include only the specified child type.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListChildrenResponse":{ + "type":"structure", + "members":{ + "Children":{ + "shape":"Children", + "documentation":"

The list of children of the specified parent container.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListCreateAccountStatusRequest":{ + "type":"structure", + "members":{ + "States":{ + "shape":"CreateAccountStates", + "documentation":"

A list of one or more states that you want included in the response. If this parameter is not present, then all requests are included in the response.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListCreateAccountStatusResponse":{ + "type":"structure", + "members":{ + "CreateAccountStatuses":{ + "shape":"CreateAccountStatuses", + "documentation":"

A list of objects with details about the requests. Certain elements, such as the accountId number, are present in the output only after the account has been successfully created.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListHandshakesForAccountRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"HandshakeFilter", + "documentation":"

Filters the handshakes that you want included in the response. The default is all types. Use the ActionType element to limit the output to only a specified type, such as INVITE, ENABLE-FULL-CONTROL, or APPROVE-FULL-CONTROL. Alternatively, for the ENABLE-FULL-CONTROL handshake that generates a separate child handshake for each member account, you can specify ParentHandshakeId to see only the handshakes that were generated by that parent request.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListHandshakesForAccountResponse":{ + "type":"structure", + "members":{ + "Handshakes":{ + "shape":"Handshakes", + "documentation":"

A list of Handshake objects with details about each of the handshakes that is associated with the specified account.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListHandshakesForOrganizationRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"HandshakeFilter", + "documentation":"

A filter of the handshakes that you want included in the response. The default is all types. Use the ActionType element to limit the output to only a specified type, such as INVITE, ENABLE-ALL-FEATURES, or APPROVE-ALL-FEATURES. Alternatively, for the ENABLE-ALL-FEATURES handshake that generates a separate child handshake for each member account, you can specify the ParentHandshakeId to see only the handshakes that were generated by that parent request.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListHandshakesForOrganizationResponse":{ + "type":"structure", + "members":{ + "Handshakes":{ + "shape":"Handshakes", + "documentation":"

A list of Handshake objects with details about each of the handshakes that are associated with an organization.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListOrganizationalUnitsForParentRequest":{ + "type":"structure", + "required":["ParentId"], + "members":{ + "ParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) of the root or OU whose child OUs you want to list.

The regex pattern for a parent ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListOrganizationalUnitsForParentResponse":{ + "type":"structure", + "members":{ + "OrganizationalUnits":{ + "shape":"OrganizationalUnits", + "documentation":"

A list of the OUs in the specified root or parent OU.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListParentsRequest":{ + "type":"structure", + "required":["ChildId"], + "members":{ + "ChildId":{ + "shape":"ChildId", + "documentation":"

The unique identifier (ID) of the OU or account whose parent containers you want to list. Do not specify a root.

The regex pattern for a child ID string requires one of the following:

  • Account: a string that consists of exactly 12 digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the OU) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListParentsResponse":{ + "type":"structure", + "members":{ + "Parents":{ + "shape":"Parents", + "documentation":"

A list of parents for the specified child account or OU.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListPoliciesForTargetRequest":{ + "type":"structure", + "required":[ + "TargetId", + "Filter" + ], + "members":{ + "TargetId":{ + "shape":"PolicyTargetId", + "documentation":"

The unique identifier (ID) of the root, organizational unit, or account whose policies you want to list.

The regex pattern for a target ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Account: a string that consists of exactly 12 digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Filter":{ + "shape":"PolicyType", + "documentation":"

The type of policy that you want to include in the returned list.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListPoliciesForTargetResponse":{ + "type":"structure", + "members":{ + "Policies":{ + "shape":"Policies", + "documentation":"

The list of policies that match the criteria in the request.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListPoliciesRequest":{ + "type":"structure", + "required":["Filter"], + "members":{ + "Filter":{ + "shape":"PolicyType", + "documentation":"

Specifies the type of policy that you want to include in the response.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListPoliciesResponse":{ + "type":"structure", + "members":{ + "Policies":{ + "shape":"Policies", + "documentation":"

A list of policies that match the filter criteria in the request. The output list does not include the policy contents. To see the content for a policy, see DescribePolicy.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListRootsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListRootsResponse":{ + "type":"structure", + "members":{ + "Roots":{ + "shape":"Roots", + "documentation":"

A list of roots that are defined in an organization.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListTargetsForPolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy for which you want to know its attachments.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lower-case letters or digits.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Use this to limit the number of results you want included in the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListTargetsForPolicyResponse":{ + "type":"structure", + "members":{ + "Targets":{ + "shape":"PolicyTargets", + "documentation":"

A list of structures, each of which contains details about one of the entities to which the specified policy is attached.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, this value indicates that there is more output available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "MalformedPolicyDocumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The provided policy document does not meet the requirements of the specified policy type. For example, the syntax might be incorrect. For details about service control policy syntax, see Service Control Policy Syntax in the AWS Organizations User Guide.

", + "exception":true + }, + "MasterCannotLeaveOrganizationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You can't remove a master account from an organization. If you want the master account to become a member account in another organization, you must first delete the current organization of the master account.

", + "exception":true + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, + "MoveAccountRequest":{ + "type":"structure", + "required":[ + "AccountId", + "SourceParentId", + "DestinationParentId" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the account that you want to move.

The regex pattern for an account ID string requires exactly 12 digits.

" + }, + "SourceParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) of the root or organizational unit that you want to move the account from.

The regex pattern for a parent ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "DestinationParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) of the root or organizational unit that you want to move the account to.

The regex pattern for a parent ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + } + } + }, + "NextToken":{"type":"string"}, + "Organization":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"OrganizationId", + "documentation":"

The unique identifier (ID) of an organization.

The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lower-case letters or digits.

" + }, + "Arn":{ + "shape":"OrganizationArn", + "documentation":"

The Amazon Resource Name (ARN) of an organization.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "FeatureSet":{ + "shape":"OrganizationFeatureSet", + "documentation":"

Specifies the functionality that currently is available to the organization. If set to \"ALL\", then all features are enabled and policies can be applied to accounts in the organization. If set to \"CONSOLIDATED_BILLING\", then only consolidated billing functionality is available. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

" + }, + "MasterAccountArn":{ + "shape":"AccountArn", + "documentation":"

The Amazon Resource Name (ARN) of the account that is designated as the master account for the organization.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "MasterAccountId":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the master account of an organization.

The regex pattern for an account ID string requires exactly 12 digits.

" + }, + "MasterAccountEmail":{ + "shape":"Email", + "documentation":"

The email address that is associated with the AWS account that is designated as the master account for the organization.

" + }, + "AvailablePolicyTypes":{ + "shape":"PolicyTypes", + "documentation":"

A list of policy types that are enabled for this organization. For example, if your organization has all features enabled, then service control policies (SCPs) are included in the list.

" + } + }, + "documentation":"

Contains details about an organization. An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies .

" + }, + "OrganizationArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}" + }, + "OrganizationFeatureSet":{ + "type":"string", + "enum":[ + "ALL", + "CONSOLIDATED_BILLING" + ] + }, + "OrganizationId":{ + "type":"string", + "pattern":"^o-[a-z0-9]{10,32}$" + }, + "OrganizationNotEmptyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The organization isn't empty. To delete an organization, you must first remove all accounts except the master account, delete all organizational units (OUs), and delete all policies.

", + "exception":true + }, + "OrganizationalUnit":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"OrganizationalUnitId", + "documentation":"

The unique identifier (ID) associated with this OU.

The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the OU) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Arn":{ + "shape":"OrganizationalUnitArn", + "documentation":"

The Amazon Resource Name (ARN) of this OU.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Name":{ + "shape":"OrganizationalUnitName", + "documentation":"

The friendly name of this OU.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + } + }, + "documentation":"

Contains details about an organizational unit (OU). An OU is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.

" + }, + "OrganizationalUnitArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::\\d{12}:ou\\/o-[a-z0-9]{10,32}\\/ou-[0-9a-z]{4,32}-[0-9a-z]{8,32}" + }, + "OrganizationalUnitId":{ + "type":"string", + "pattern":"^ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$" + }, + "OrganizationalUnitName":{ + "type":"string", + "max":128, + "min":1 + }, + "OrganizationalUnitNotEmptyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified organizational unit (OU) is not empty. Move all accounts to another root or to other OUs, remove all child OUs, and then try the operation again.

", + "exception":true + }, + "OrganizationalUnitNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find an organizational unit (OU) with the OrganizationalUnitId that you specified.

", + "exception":true + }, + "OrganizationalUnits":{ + "type":"list", + "member":{"shape":"OrganizationalUnit"} + }, + "Parent":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) of the parent entity.

The regex pattern for a parent ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Type":{ + "shape":"ParentType", + "documentation":"

The type of the parent entity.

" + } + }, + "documentation":"

Contains information about either a root or an organizational unit (OU) that can contain OUs or accounts in an organization.

" + }, + "ParentId":{ + "type":"string", + "pattern":"^(r-[0-9a-z]{4,32})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$" + }, + "ParentNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a root or organizational unit (OU) with the ParentId that you specified.

", + "exception":true + }, + "ParentType":{ + "type":"string", + "enum":[ + "ROOT", + "ORGANIZATIONAL_UNIT" + ] + }, + "Parents":{ + "type":"list", + "member":{"shape":"Parent"} + }, + "Policies":{ + "type":"list", + "member":{"shape":"PolicySummary"} + }, + "Policy":{ + "type":"structure", + "members":{ + "PolicySummary":{ + "shape":"PolicySummary", + "documentation":"

A structure that contains additional details about the policy.

" + }, + "Content":{ + "shape":"PolicyContent", + "documentation":"

The text content of the policy.

" + } + }, + "documentation":"

Contains rules to be applied to the affected accounts. Policies can be attached directly to accounts, or to roots and OUs to affect all accounts in those hierarchies.

" + }, + "PolicyArn":{ + "type":"string", + "pattern":"^(arn:aws:organizations::\\d{12}:policy\\/o-[a-z0-9]{10,32}\\/[0-9a-z_]+\\/p-[0-9a-z]{10,32})|(arn:aws:organizations::aws:policy\\/[0-9a-z_]+\\/p-[0-9a-zA-Z_]{10,128})" + }, + "PolicyContent":{ + "type":"string", + "max":1000000, + "min":1 + }, + "PolicyDescription":{ + "type":"string", + "max":512 + }, + "PolicyId":{ + "type":"string", + "pattern":"^p-[0-9a-zA-Z_]{8,128}$" + }, + "PolicyInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The policy is attached to one or more entities. You must detach it from all roots, organizational units (OUs), and accounts before performing this operation.

", + "exception":true + }, + "PolicyName":{ + "type":"string", + "max":128, + "min":1 + }, + "PolicyNotAttachedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The policy isn't attached to the specified target in the specified root.

", + "exception":true + }, + "PolicyNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a policy with the PolicyId that you specified.

", + "exception":true + }, + "PolicySummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lower-case letters or digits.

" + }, + "Arn":{ + "shape":"PolicyArn", + "documentation":"

The Amazon Resource Name (ARN) of the policy.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

The friendly name of the policy.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

The description of the policy.

" + }, + "Type":{ + "shape":"PolicyType", + "documentation":"

The type of policy.

" + }, + "AwsManaged":{ + "shape":"AwsManagedPolicy", + "documentation":"

A boolean value that indicates whether the specified policy is an AWS managed policy. If true, then you can attach the policy to roots, OUs, or accounts, but you cannot edit it.

" + } + }, + "documentation":"

Contains information about a policy, but does not include the content. To see the content of a policy, see DescribePolicy.

" + }, + "PolicyTargetId":{ + "type":"string", + "pattern":"^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$" + }, + "PolicyTargetSummary":{ + "type":"structure", + "members":{ + "TargetId":{ + "shape":"PolicyTargetId", + "documentation":"

The unique identifier (ID) of the policy target.

The regex pattern for a target ID string requires one of the following:

  • Root: a string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Account: a string that consists of exactly 12 digits.

  • Organizational unit (OU): a string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Arn":{ + "shape":"GenericArn", + "documentation":"

The Amazon Resource Name (ARN) of the policy target.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Name":{ + "shape":"TargetName", + "documentation":"

The friendly name of the policy target.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "Type":{ + "shape":"TargetType", + "documentation":"

The type of the policy target.

" + } + }, + "documentation":"

Contains information about a root, OU, or account that a policy is attached to.

" + }, + "PolicyTargets":{ + "type":"list", + "member":{"shape":"PolicyTargetSummary"} + }, + "PolicyType":{ + "type":"string", + "enum":["SERVICE_CONTROL_POLICY"] + }, + "PolicyTypeAlreadyEnabledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified policy type is already enabled in the specified root.

", + "exception":true + }, + "PolicyTypeNotAvailableForOrganizationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You can't use the specified policy type with the feature set currently enabled for this organization. For example, you can enable service control policies (SCPs) only after you enable all features in the organization. For more information, see Enabling and Disabling a Policy Type on a Root in the AWS Organizations User Guide.

", + "exception":true + }, + "PolicyTypeNotEnabledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified policy type is not currently enabled in this root. You cannot attach policies of the specified type to entities in a root until you enable that type in the root. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

", + "exception":true + }, + "PolicyTypeStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "PENDING_ENABLE", + "PENDING_DISABLE" + ] + }, + "PolicyTypeSummary":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"PolicyType", + "documentation":"

The name of the policy type.

" + }, + "Status":{ + "shape":"PolicyTypeStatus", + "documentation":"

The status of the policy type as it relates to the associated root. To attach a policy of the specified type to a root or to an OU or account in that root, it must be available in the organization and enabled for that root.

" + } + }, + "documentation":"

Contains information about a policy type and its status in the associated root.

" + }, + "PolicyTypes":{ + "type":"list", + "member":{"shape":"PolicyTypeSummary"} + }, + "RemoveAccountFromOrganizationRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the member account that you want to remove from the organization.

The regex pattern for an account ID string requires exactly 12 digits.

" + } + } + }, + "RoleName":{ + "type":"string", + "pattern":"[\\w+=,.@-]{1,64}" + }, + "Root":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"RootId", + "documentation":"

The unique identifier (ID) for the root.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lower-case letters or digits.

" + }, + "Arn":{ + "shape":"RootArn", + "documentation":"

The Amazon Resource Name (ARN) of the root.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Name":{ + "shape":"RootName", + "documentation":"

The friendly name of the root.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "PolicyTypes":{ + "shape":"PolicyTypes", + "documentation":"

The types of policies that are currently enabled for the root and therefore can be attached to the root or to its OUs or accounts.

" + } + }, + "documentation":"

Contains details about a root. A root is a top-level parent node in the hierarchy of an organization that can contain organizational units (OUs) and accounts. Every root contains every AWS account in the organization. Each root enables the accounts to be organized in a different way and to have different policy types enabled for use in that root.

" + }, + "RootArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::\\d{12}:root\\/o-[a-z0-9]{10,32}\\/r-[0-9a-z]{4,32}" + }, + "RootId":{ + "type":"string", + "pattern":"^r-[0-9a-z]{4,32}$" + }, + "RootName":{ + "type":"string", + "max":128, + "min":1 + }, + "RootNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a root with the RootId that you specified.

", + "exception":true + }, + "Roots":{ + "type":"list", + "member":{"shape":"Root"} + }, + "ServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

AWS Organizations can't complete your request because of an internal service error. Try again later.

", + "exception":true + }, + "SourceParentNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a source root or OU with the ParentId that you specified.

", + "exception":true + }, + "TargetName":{ + "type":"string", + "max":128, + "min":1 + }, + "TargetNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a root, OU, or account with the TargetId that you specified.

", + "exception":true + }, + "TargetType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORGANIZATIONAL_UNIT", + "ROOT" + ] + }, + "Timestamp":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Type":{"shape":"ExceptionType"}, + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You've sent too many requests in too short a period of time. The limit helps protect against denial-of-service attacks. Try again later.

", + "exception":true + }, + "UpdateOrganizationalUnitRequest":{ + "type":"structure", + "required":["OrganizationalUnitId"], + "members":{ + "OrganizationalUnitId":{ + "shape":"OrganizationalUnitId", + "documentation":"

The unique identifier (ID) of the OU that you want to rename. You can get the ID from the ListOrganizationalUnitsForParent operation.

The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the OU) followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Name":{ + "shape":"OrganizationalUnitName", + "documentation":"

The new name that you want to assign to the OU.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + } + } + }, + "UpdateOrganizationalUnitResponse":{ + "type":"structure", + "members":{ + "OrganizationalUnit":{ + "shape":"OrganizationalUnit", + "documentation":"

A structure that contains the details about the specified OU, including its new name.

" + } + } + }, + "UpdatePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy that you want to update.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lower-case letters or digits.

" + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

If provided, the new name for the policy.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

If provided, the new description for the policy.

" + }, + "Content":{ + "shape":"PolicyContent", + "documentation":"

If provided, the new content for the policy. The text must be correctly formatted JSON that complies with the syntax for the policy's type. For more information, see Service Control Policy Syntax in the AWS Organizations User Guide.

" + } + } + }, + "UpdatePolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

A structure that contains details about the updated policy, showing the requested changes.

" + } + } + } + }, + "documentation":"AWS Organizations API Reference

AWS Organizations is a web service that enables you to consolidate your multiple AWS accounts into an organization and centrally manage your accounts and their resources.

This guide provides descriptions of the Organizations API. For more information about using this service, see the AWS Organizations User Guide.

API Version

This version of the Organizations API Reference documents the Organizations API version 2016-11-28.

As an alternative to using the API directly, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, and more). The SDKs provide a convenient way to create programmatic access to AWS Organizations. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to Organizations. However, you also can use the Organizations Query API to make direct calls to the Organizations web service. To learn more about the Organizations Query API, see Making Query Requests in the AWS Organizations User Guide. Organizations supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Signing Requests

When you send HTTP requests to AWS, you must sign the requests so that AWS can identify who sent them. You sign requests with your AWS access key, which consists of an access key ID and a secret access key. We strongly recommend that you do not create an access key for your root account. Anyone who has the access key for your root account has unrestricted access to all the resources in your account. Instead, create an access key for an IAM user account that has administrative privileges. As another option, use AWS Security Token Service to generate temporary security credentials, and use those credentials to sign requests.

To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.

When you use the AWS Command Line Interface (AWS CLI) or one of the AWS SDKs to make requests to AWS, these tools automatically sign the requests for you with the access key that you specify when you configure the tools.

In this release, each organization can have only one root. In a future release, a single organization will support multiple roots.

Support and Feedback for AWS Organizations

We welcome your feedback. Send your comments to feedback-awsorganizations@amazon.com or post your feedback and questions in our private AWS Organizations support forum. If you don't have access to the forum, send a request for access to the email address, along with your forum user ID. For more information about the AWS support forums, see Forums Help.

Endpoint to Call When Using the CLI or the AWS API

For the current release of Organizations, you must specify the us-east-1 region for all AWS API and CLI calls. You can do this in the CLI by using these parameters and commands:

  • Use the following parameter with each command to specify both the endpoint and its region:

    --endpoint-url https://organizations.us-east-1.amazonaws.com

  • Use the default endpoint, but configure your default region with this command:

    aws configure set default.region us-east-1

  • Use the following parameter with each command to specify the endpoint:

    --region us-east-1

For the various SDKs used to call the APIs, see the documentation for the SDK of interest to learn how to direct the requests to a specific endpoint. For more information, see Regions and Endpoints in the AWS General Reference.

How examples are presented

The JSON returned by the AWS Organizations service as response to your requests is returned as a single long string without line breaks or formatting whitespace. Both line breaks and whitespace are included in the examples in this guide to improve readability. When example input parameters also would result in long strings that would extend beyond the screen, we insert line breaks to enhance readability. You should always submit the input as a single JSON text string.

Recording API Requests

AWS Organizations supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by AWS CloudTrail, you can determine which requests were successfully made to Organizations, who made the request, when it was made, and so on. For more about AWS Organizations and its support for AWS CloudTrail, see Logging AWS Organizations Events with AWS CloudTrail in the AWS Organizations User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

" +} diff --git a/botocore/data/pinpoint/2016-12-01/examples-1.json b/botocore/data/pinpoint/2016-12-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/pinpoint/2016-12-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/pinpoint/2016-12-01/service-2.json b/botocore/data/pinpoint/2016-12-01/service-2.json index 4939e4f7..fa7ab4c5 100644 --- a/botocore/data/pinpoint/2016-12-01/service-2.json +++ b/botocore/data/pinpoint/2016-12-01/service-2.json @@ -20,27 +20,20 @@ "shape" : "CreateCampaignRequest" }, "output" : { - "shape" : "CreateCampaignResponse", - "documentation" : "201 response" + "shape" : "CreateCampaignResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Creates or updates a campaign." }, @@ -55,27 +48,20 @@ "shape" : "CreateImportJobRequest" }, "output" : { - "shape" : "CreateImportJobResponse", - "documentation" : "201 response" + "shape" : "CreateImportJobResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Creates or updates an import job." }, @@ -90,27 +76,20 @@ "shape" : "CreateSegmentRequest" }, "output" : { - "shape" : "CreateSegmentResponse", - "documentation" : "201 response" + "shape" : "CreateSegmentResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Used to create or update a segment." }, @@ -125,30 +104,51 @@ "shape" : "DeleteApnsChannelRequest" }, "output" : { - "shape" : "DeleteApnsChannelResponse", - "documentation" : "200 response" + "shape" : "DeleteApnsChannelResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Deletes the APNs channel for an app." }, + "DeleteApnsSandboxChannel" : { + "name" : "DeleteApnsSandboxChannel", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/apps/{application-id}/channels/apns_sandbox", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteApnsSandboxChannelRequest" + }, + "output" : { + "shape" : "DeleteApnsSandboxChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Delete an APNS sandbox channel" + }, "DeleteCampaign" : { "name" : "DeleteCampaign", "http" : { @@ -160,30 +160,79 @@ "shape" : "DeleteCampaignRequest" }, "output" : { - "shape" : "DeleteCampaignResponse", - "documentation" : "200 response" + "shape" : "DeleteCampaignResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Deletes a campaign." }, + "DeleteEmailChannel" : { + "name" : "DeleteEmailChannel", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/apps/{application-id}/channels/email", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteEmailChannelRequest" + }, + "output" : { + "shape" : "DeleteEmailChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Delete an email channel" + }, + "DeleteEventStream" : { + "name" : "DeleteEventStream", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/apps/{application-id}/eventstream", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteEventStreamRequest" + }, + "output" : { + "shape" : "DeleteEventStreamResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Deletes the event stream for an app." + }, "DeleteGcmChannel" : { "name" : "DeleteGcmChannel", "http" : { @@ -195,27 +244,20 @@ "shape" : "DeleteGcmChannelRequest" }, "output" : { - "shape" : "DeleteGcmChannelResponse", - "documentation" : "200 response" + "shape" : "DeleteGcmChannelResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Deletes the GCM channel for an app." }, @@ -230,30 +272,51 @@ "shape" : "DeleteSegmentRequest" }, "output" : { - "shape" : "DeleteSegmentResponse", - "documentation" : "200 response" + "shape" : "DeleteSegmentResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Deletes a segment." }, + "DeleteSmsChannel" : { + "name" : "DeleteSmsChannel", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/apps/{application-id}/channels/sms", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteSmsChannelRequest" + }, + "output" : { + "shape" : "DeleteSmsChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Delete an SMS channel" + }, "GetApnsChannel" : { "name" : "GetApnsChannel", "http" : { @@ -265,30 +328,51 @@ "shape" : "GetApnsChannelRequest" }, "output" : { - "shape" : "GetApnsChannelResponse", - "documentation" : "200 response" + "shape" : "GetApnsChannelResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about the APNs channel for an app." }, + "GetApnsSandboxChannel" : { + "name" : "GetApnsSandboxChannel", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/channels/apns_sandbox", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApnsSandboxChannelRequest" + }, + "output" : { + "shape" : "GetApnsSandboxChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Get an APNS sandbox channel" + }, "GetApplicationSettings" : { "name" : "GetApplicationSettings", "http" : { @@ -300,27 +384,20 @@ "shape" : "GetApplicationSettingsRequest" }, "output" : { - "shape" : "GetApplicationSettingsResponse", - "documentation" : "200 response" + "shape" : "GetApplicationSettingsResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Used to request the settings for an app." }, @@ -335,27 +412,20 @@ "shape" : "GetCampaignRequest" }, "output" : { - "shape" : "GetCampaignResponse", - "documentation" : "200 response" + "shape" : "GetCampaignResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about a campaign." }, @@ -370,27 +440,20 @@ "shape" : "GetCampaignActivitiesRequest" }, "output" : { - "shape" : "GetCampaignActivitiesResponse", - "documentation" : "200 response" + "shape" : "GetCampaignActivitiesResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about the activity performed by a campaign." }, @@ -405,29 +468,22 @@ "shape" : "GetCampaignVersionRequest" }, "output" : { - "shape" : "GetCampaignVersionResponse", - "documentation" : "200 response" + "shape" : "GetCampaignVersionResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], - "documentation" : "Returns information about your campaign versions." + "documentation" : "Returns information about a specific version of a campaign." }, "GetCampaignVersions" : { "name" : "GetCampaignVersions", @@ -440,27 +496,20 @@ "shape" : "GetCampaignVersionsRequest" }, "output" : { - "shape" : "GetCampaignVersionsResponse", - "documentation" : "200 response" + "shape" : "GetCampaignVersionsResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about your campaign versions." }, @@ -475,30 +524,51 @@ "shape" : "GetCampaignsRequest" }, "output" : { - "shape" : "GetCampaignsResponse", - "documentation" : "200 response" + "shape" : "GetCampaignsResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about your campaigns." }, + "GetEmailChannel" : { + "name" : "GetEmailChannel", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/channels/email", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetEmailChannelRequest" + }, + "output" : { + "shape" : "GetEmailChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Get an email channel" + }, "GetEndpoint" : { "name" : "GetEndpoint", "http" : { @@ -510,30 +580,51 @@ "shape" : "GetEndpointRequest" }, "output" : { - "shape" : "GetEndpointResponse", - "documentation" : "200 response" + "shape" : "GetEndpointResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about an endpoint." }, + "GetEventStream" : { + "name" : "GetEventStream", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/eventstream", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetEventStreamRequest" + }, + "output" : { + "shape" : "GetEventStreamResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Returns the event stream for an app." + }, "GetGcmChannel" : { "name" : "GetGcmChannel", "http" : { @@ -545,27 +636,20 @@ "shape" : "GetGcmChannelRequest" }, "output" : { - "shape" : "GetGcmChannelResponse", - "documentation" : "200 response" + "shape" : "GetGcmChannelResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about the GCM channel for an app." }, @@ -580,27 +664,20 @@ "shape" : "GetImportJobRequest" }, "output" : { - "shape" : "GetImportJobResponse", - "documentation" : "200 response" + "shape" : "GetImportJobResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about an import job." }, @@ -615,27 +692,20 @@ "shape" : "GetImportJobsRequest" }, "output" : { - "shape" : "GetImportJobsResponse", - "documentation" : "200 response" + "shape" : "GetImportJobsResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about your import jobs." }, @@ -650,27 +720,20 @@ "shape" : "GetSegmentRequest" }, "output" : { - "shape" : "GetSegmentResponse", - "documentation" : "200 response" + "shape" : "GetSegmentResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about a segment." }, @@ -685,27 +748,20 @@ "shape" : "GetSegmentImportJobsRequest" }, "output" : { - "shape" : "GetSegmentImportJobsResponse", - "documentation" : "200 response" + "shape" : "GetSegmentImportJobsResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns a list of import jobs for a specific segment." }, @@ -720,27 +776,20 @@ "shape" : "GetSegmentVersionRequest" }, "output" : { - "shape" : "GetSegmentVersionResponse", - "documentation" : "200 response" + "shape" : "GetSegmentVersionResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about a segment version." }, @@ -755,27 +804,20 @@ "shape" : "GetSegmentVersionsRequest" }, "output" : { - "shape" : "GetSegmentVersionsResponse", - "documentation" : "200 response" + "shape" : "GetSegmentVersionsResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Returns information about your segment versions." }, @@ -790,30 +832,107 @@ "shape" : "GetSegmentsRequest" }, "output" : { - "shape" : "GetSegmentsResponse", - "documentation" : "200 response" + "shape" : "GetSegmentsResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Used to get information about your segments." }, + "GetSmsChannel" : { + "name" : "GetSmsChannel", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/channels/sms", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetSmsChannelRequest" + }, + "output" : { + "shape" : "GetSmsChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Get an SMS channel" + }, + "PutEventStream" : { + "name" : "PutEventStream", + "http" : { + "method" : "POST", + "requestUri" : "/v1/apps/{application-id}/eventstream", + "responseCode" : 200 + }, + "input" : { + "shape" : "PutEventStreamRequest" + }, + "output" : { + "shape" : "PutEventStreamResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Use to create or update the event stream for an app." + }, + "SendMessages" : { + "name" : "SendMessages", + "http" : { + "method" : "POST", + "requestUri" : "/v1/apps/{application-id}/messages", + "responseCode" : 200 + }, + "input" : { + "shape" : "SendMessagesRequest" + }, + "output" : { + "shape" : "SendMessagesResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Send a batch of messages" + }, "UpdateApnsChannel" : { "name" : "UpdateApnsChannel", "http" : { @@ -825,30 +944,51 @@ "shape" : "UpdateApnsChannelRequest" }, "output" : { - "shape" : "UpdateApnsChannelResponse", - "documentation" : "200 response" + "shape" : "UpdateApnsChannelResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Use to update the APNs channel for an app." }, + "UpdateApnsSandboxChannel" : { + "name" : "UpdateApnsSandboxChannel", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/apps/{application-id}/channels/apns_sandbox", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateApnsSandboxChannelRequest" + }, + "output" : { + "shape" : "UpdateApnsSandboxChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Update an APNS sandbox channel" + }, "UpdateApplicationSettings" : { "name" : "UpdateApplicationSettings", "http" : { @@ -860,27 +1000,20 @@ "shape" : "UpdateApplicationSettingsRequest" }, "output" : { - "shape" : "UpdateApplicationSettingsResponse", - "documentation" : "200 response" + "shape" : "UpdateApplicationSettingsResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Used to update the settings for an app." }, @@ -895,30 +1028,51 @@ "shape" : "UpdateCampaignRequest" }, "output" : { - "shape" : "UpdateCampaignResponse", - "documentation" : "200 response" + "shape" : "UpdateCampaignResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Use to update a campaign." }, + "UpdateEmailChannel" : { + "name" : "UpdateEmailChannel", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/apps/{application-id}/channels/email", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateEmailChannelRequest" + }, + "output" : { + "shape" : "UpdateEmailChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Update an email channel" + }, "UpdateEndpoint" : { "name" : "UpdateEndpoint", "http" : { @@ -930,27 +1084,20 @@ "shape" : "UpdateEndpointRequest" }, "output" : { - "shape" : "UpdateEndpointResponse", - "documentation" : "202 response" + "shape" : "UpdateEndpointResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Use to update an endpoint." }, @@ -965,29 +1112,22 @@ "shape" : "UpdateEndpointsBatchRequest" }, "output" : { - "shape" : "UpdateEndpointsBatchResponse", - "documentation" : "202 response" + "shape" : "UpdateEndpointsBatchResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], - "documentation" : "Use to update your endpoints." + "documentation" : "Use to update a batch of endpoints." }, "UpdateGcmChannel" : { "name" : "UpdateGcmChannel", @@ -1000,27 +1140,20 @@ "shape" : "UpdateGcmChannelRequest" }, "output" : { - "shape" : "UpdateGcmChannelResponse", - "documentation" : "200 response" + "shape" : "UpdateGcmChannelResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Use to update the GCM channel for an app." }, @@ -1035,29 +1168,50 @@ "shape" : "UpdateSegmentRequest" }, "output" : { - "shape" : "UpdateSegmentResponse", - "documentation" : "200 response" + "shape" : "UpdateSegmentResponse" }, "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" + "shape" : "BadRequestException" }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" + "shape" : "InternalServerErrorException" }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" + "shape" : "ForbiddenException" }, { - "shape" : "NotFoundException", - "documentation" : "404 response" + "shape" : "NotFoundException" }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" + "shape" : "MethodNotAllowedException" }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" + "shape" : "TooManyRequestsException" } ], "documentation" : "Use to update a segment." + }, + "UpdateSmsChannel" : { + "name" : "UpdateSmsChannel", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/apps/{application-id}/channels/sms", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateSmsChannelRequest" + }, + "output" : { + "shape" : "UpdateSmsChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ], + "documentation" : "Update an SMS channel" } }, "shapes" : { @@ -1068,24 +1222,35 @@ "shape" : "__string", "documentation" : "The distribution certificate from Apple." }, + "Enabled" : { + "shape" : "__boolean", + "documentation" : "If the channel is enabled for sending messages." + }, "PrivateKey" : { "shape" : "__string", "documentation" : "The certificate private key." } - } + }, + "documentation" : "Apple Push Notification Service channel definition." }, "APNSChannelResponse" : { "type" : "structure", "members" : { "ApplicationId" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The ID of the application to which the channel applies." }, "CreationDate" : { "shape" : "__string", "documentation" : "When was this segment created" }, + "Enabled" : { + "shape" : "__boolean", + "documentation" : "If the channel is enabled for sending messages." + }, "Id" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "Channel ID. Not used, only for backwards compatibility." }, "IsArchived" : { "shape" : "__boolean", @@ -1107,7 +1272,126 @@ "shape" : "__integer", "documentation" : "Version of channel" } - } + }, + "documentation" : "Apple Distribution Push Notification Service channel definition." + }, + "APNSMessage" : { + "type" : "structure", + "members" : { + "Action" : { + "shape" : "Action", + "documentation" : "The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL" + }, + "Badge" : { + "shape" : "__integer", + "documentation" : "Include this key when you want the system to modify the badge of your app icon. If this key is not included in the dictionary, the badge is not changed. To remove the badge, set the value of this key to 0." + }, + "Body" : { + "shape" : "__string", + "documentation" : "The message body of the notification, the email body or the text message." + }, + "Category" : { + "shape" : "__string", + "documentation" : "Provide this key with a string value that represents the notification's type. This value corresponds to the value in the identifier property of one of your app's registered categories." + }, + "Data" : { + "shape" : "MapOf__string", + "documentation" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object" + }, + "MediaUrl" : { + "shape" : "__string", + "documentation" : "The URL that points to a video used in the push notification." + }, + "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. Silent pushes can be used for Remote Configuration and Phone Home use cases." + }, + "Sound" : { + "shape" : "__string", + "documentation" : "Include this key when you want the system to play a sound. The value of this key is the name of a sound file in your app's main bundle or in the Library/Sounds folder of your app's data container. If the sound file cannot be found, or if you specify defaultfor the value, the system plays the default alert sound." + }, + "Substitutions" : { + "shape" : "MapOfListOf__string", + "documentation" : "Default message substitutions. Can be overridden by individual address substitutions." + }, + "ThreadId" : { + "shape" : "__string", + "documentation" : "Provide this key with a string value that represents the app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together." + }, + "Title" : { + "shape" : "__string", + "documentation" : "The message title that displays above the message on the user's device." + }, + "Url" : { + "shape" : "__string", + "documentation" : "The URL to open in the user's mobile browser. Used if the value for Action is URL." + } + }, + "documentation" : "APNS Message." + }, + "APNSSandboxChannelRequest" : { + "type" : "structure", + "members" : { + "Certificate" : { + "shape" : "__string", + "documentation" : "The distribution certificate from Apple." + }, + "Enabled" : { + "shape" : "__boolean", + "documentation" : "If the channel is enabled for sending messages." + }, + "PrivateKey" : { + "shape" : "__string", + "documentation" : "The certificate private key." + } + }, + "documentation" : "Apple Development Push Notification Service channel definition." + }, + "APNSSandboxChannelResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "documentation" : "Application id" + }, + "CreationDate" : { + "shape" : "__string", + "documentation" : "When was this segment created" + }, + "Enabled" : { + "shape" : "__boolean", + "documentation" : "If the channel is enabled for sending messages." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Channel ID. Not used, only for backwards compatibility." + }, + "IsArchived" : { + "shape" : "__boolean", + "documentation" : "Is this channel archived" + }, + "LastModifiedBy" : { + "shape" : "__string", + "documentation" : "Who last updated this entry" + }, + "LastModifiedDate" : { + "shape" : "__string", + "documentation" : "Last date this was updated" + }, + "Platform" : { + "shape" : "__string", + "documentation" : "The platform type. Will be APNS." + }, + "Version" : { + "shape" : "__integer", + "documentation" : "Version of channel" + } + }, + "documentation" : "Apple Development Push Notification Service channel definition." }, "Action" : { "type" : "string", @@ -1120,7 +1404,8 @@ "shape" : "ListOfActivityResponse", "documentation" : "List of campaign activities" } - } + }, + "documentation" : "Activities for campaign." }, "ActivityResponse" : { "type" : "structure", @@ -1161,6 +1446,14 @@ "shape" : "__integer", "documentation" : "The total number of endpoints to which the campaign successfully delivered messages." }, + "TimezonesCompletedCount" : { + "shape" : "__integer", + "documentation" : "The total number of timezones completed." + }, + "TimezonesTotalCount" : { + "shape" : "__integer", + "documentation" : "The total number of unique timezones present in the segment." + }, "TotalEndpointCount" : { "shape" : "__integer", "documentation" : "The total number of endpoints to which the campaign attempts to deliver messages." @@ -1169,7 +1462,38 @@ "shape" : "__string", "documentation" : "The ID of a variation of the campaign used for A/B testing." } - } + }, + "documentation" : "Activity definition" + }, + "AddressConfiguration" : { + "type" : "structure", + "members" : { + "BodyOverride" : { + "shape" : "__string", + "documentation" : "Body override. If specified will override default body." + }, + "ChannelType" : { + "shape" : "ChannelType", + "documentation" : "Type of channel of this address" + }, + "Context" : { + "shape" : "MapOf__string", + "documentation" : "A map of custom attributes to attributes to be attached to the message for this address. This payload is added to the push notification's 'data.pinpoint' object or added to the email/sms delivery receipt event attributes." + }, + "RawContent" : { + "shape" : "__string", + "documentation" : "The Raw JSON formatted string to be used as the payload. This value overrides the message." + }, + "Substitutions" : { + "shape" : "MapOfListOf__string", + "documentation" : "A map of substitution values for the message to be merged with the DefaultMessage's substitutions. Substitutions on this map take precedence over the all other substitutions." + }, + "TitleOverride" : { + "shape" : "__string", + "documentation" : "Title override. If specified will override default title if applicable." + } + }, + "documentation" : "Address configuration." }, "ApplicationSettingsResource" : { "type" : "structure", @@ -1190,20 +1514,22 @@ "shape" : "QuietTime", "documentation" : "The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own." } - } + }, + "documentation" : "Application settings." }, "AttributeDimension" : { "type" : "structure", "members" : { "AttributeType" : { "shape" : "AttributeType", - "documentation" : "The type of dimension:\nINCLUSIVE – Endpoints that match the criteria are included in the segment.\nEXCLUSIVE – Endpoints that match the criteria are excluded from the segment." + "documentation" : "The type of dimension:\nINCLUSIVE - Endpoints that match the criteria are included in the segment.\nEXCLUSIVE - Endpoints that match the criteria are excluded from the segment." }, "Values" : { "shape" : "ListOf__string", "documentation" : "The criteria values for the segment dimension. Endpoints with matching attribute values are included or excluded from the segment, depending on the setting for Type." } - } + }, + "documentation" : "Custom attibute dimension" }, "AttributeType" : { "type" : "string", @@ -1213,14 +1539,38 @@ "type" : "structure", "members" : { "Message" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The error message returned from the API." + }, + "RequestID" : { + "shape" : "__string", + "documentation" : "The unique message body ID." } }, + "documentation" : "Simple message object.", "exception" : true, "error" : { "httpStatusCode" : 400 } }, + "CampaignEmailMessage" : { + "type" : "structure", + "members" : { + "Body" : { + "shape" : "__string", + "documentation" : "The email text body." + }, + "HtmlBody" : { + "shape" : "__string", + "documentation" : "The email html body." + }, + "Title" : { + "shape" : "__string", + "documentation" : "The email title (Or subject)." + } + }, + "documentation" : "The email message configuration." + }, "CampaignLimits" : { "type" : "structure", "members" : { @@ -1232,7 +1582,8 @@ "shape" : "__integer", "documentation" : "The maximum total number of messages that the campaign can send." } - } + }, + "documentation" : "Campaign Limits are used to limit the number of messages that can be sent to a user." }, "CampaignResponse" : { "type" : "structure", @@ -1313,7 +1664,26 @@ "shape" : "__integer", "documentation" : "The campaign version number." } - } + }, + "documentation" : "Campaign definition" + }, + "CampaignSmsMessage" : { + "type" : "structure", + "members" : { + "Body" : { + "shape" : "__string", + "documentation" : "The SMS text body." + }, + "MessageType" : { + "shape" : "MessageType", + "documentation" : "Is this is a transactional SMS message, otherwise a promotional message." + }, + "SenderId" : { + "shape" : "__string", + "documentation" : "Sender ID of sent message." + } + }, + "documentation" : "SMS message configuration." }, "CampaignState" : { "type" : "structure", @@ -1322,7 +1692,8 @@ "shape" : "CampaignStatus", "documentation" : "The status of the campaign, or the status of a treatment that belongs to an A/B test campaign.\n\nValid values: SCHEDULED, EXECUTING, PENDING_NEXT_RUN, COMPLETED, PAUSED" } - } + }, + "documentation" : "State of the Campaign" }, "CampaignStatus" : { "type" : "string", @@ -1339,11 +1710,12 @@ "shape" : "__string", "documentation" : "The string that you use in a subsequent request to get the next page of results in a paginated response." } - } + }, + "documentation" : "List of available campaigns." }, "ChannelType" : { "type" : "string", - "enum" : [ "APNS", "GCM" ] + "enum" : [ "GCM", "APNS", "APNS_SANDBOX", "ADM", "SMS", "EMAIL" ] }, "CreateCampaignRequest" : { "type" : "structure", @@ -1420,6 +1792,54 @@ "required" : [ "SegmentResponse" ], "payload" : "SegmentResponse" }, + "DefaultMessage" : { + "type" : "structure", + "members" : { + "Body" : { + "shape" : "__string", + "documentation" : "The message body of the notification, the email body or the text message." + }, + "Substitutions" : { + "shape" : "MapOfListOf__string", + "documentation" : "Default message substitutions. Can be overridden by individual address substitutions." + } + }, + "documentation" : "Default Message across push notification, email, and sms." + }, + "DefaultPushNotificationMessage" : { + "type" : "structure", + "members" : { + "Action" : { + "shape" : "Action", + "documentation" : "The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL" + }, + "Body" : { + "shape" : "__string", + "documentation" : "The message body of the notification, the email body or the text message." + }, + "Data" : { + "shape" : "MapOf__string", + "documentation" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object" + }, + "SilentPush" : { + "shape" : "__boolean", + "documentation" : "Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases." + }, + "Substitutions" : { + "shape" : "MapOfListOf__string", + "documentation" : "Default message substitutions. Can be overridden by individual address substitutions." + }, + "Title" : { + "shape" : "__string", + "documentation" : "The message title that displays above the message on the user's device." + }, + "Url" : { + "shape" : "__string", + "documentation" : "The URL to open in the user's mobile browser. Used if the value for Action is URL." + } + }, + "documentation" : "Default Push Notification Message." + }, "DeleteApnsChannelRequest" : { "type" : "structure", "members" : { @@ -1441,6 +1861,27 @@ "required" : [ "APNSChannelResponse" ], "payload" : "APNSChannelResponse" }, + "DeleteApnsSandboxChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "DeleteApnsSandboxChannelResponse" : { + "type" : "structure", + "members" : { + "APNSSandboxChannelResponse" : { + "shape" : "APNSSandboxChannelResponse" + } + }, + "required" : [ "APNSSandboxChannelResponse" ], + "payload" : "APNSSandboxChannelResponse" + }, "DeleteCampaignRequest" : { "type" : "structure", "members" : { @@ -1467,6 +1908,51 @@ "required" : [ "CampaignResponse" ], "payload" : "CampaignResponse" }, + "DeleteEmailChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "DeleteEmailChannelResponse" : { + "type" : "structure", + "members" : { + "EmailChannelResponse" : { + "shape" : "EmailChannelResponse" + } + }, + "required" : [ "EmailChannelResponse" ], + "payload" : "EmailChannelResponse" + }, + "DeleteEventStreamRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id", + "documentation": "ApplicationId" + } + }, + "required" : [ "ApplicationId" ], + "documentation": "DeleteEventStream Request" + }, + "DeleteEventStreamResponse" : { + "type" : "structure", + "members" : { + "EventStream" : { + "shape" : "EventStream" + } + }, + "required" : [ "EventStream" ], + "payload" : "EventStream", + "documentation": "DeleteEventStream Response" + }, "DeleteGcmChannelRequest" : { "type" : "structure", "members" : { @@ -1514,20 +2000,147 @@ "required" : [ "SegmentResponse" ], "payload" : "SegmentResponse" }, + "DeleteSmsChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "DeleteSmsChannelResponse" : { + "type" : "structure", + "members" : { + "SMSChannelResponse" : { + "shape" : "SMSChannelResponse" + } + }, + "required" : [ "SMSChannelResponse" ], + "payload" : "SMSChannelResponse" + }, + "DeliveryStatus" : { + "type" : "string", + "enum" : [ "SUCCESSFUL", "THROTTLED", "TEMPORARY_FAILURE", "PERMANENT_FAILURE" ] + }, "DimensionType" : { "type" : "string", "enum" : [ "INCLUSIVE", "EXCLUSIVE" ] }, + "DirectMessageConfiguration" : { + "type" : "structure", + "members" : { + "APNSMessage" : { + "shape" : "APNSMessage", + "documentation" : "The message to APNS channels. Overrides the default push notification message." + }, + "DefaultMessage" : { + "shape" : "DefaultMessage", + "documentation" : "The default message for all channels." + }, + "DefaultPushNotificationMessage" : { + "shape" : "DefaultPushNotificationMessage", + "documentation" : "The default push notification message for all push channels." + }, + "GCMMessage" : { + "shape" : "GCMMessage", + "documentation" : "The message to GCM channels. Overrides the default push notification message." + }, + "SMSMessage" : { + "shape" : "SMSMessage", + "documentation" : "The message to SMS channels. Overrides the default message." + } + }, + "documentation" : "The message configuration." + }, "Duration" : { "type" : "string", "enum" : [ "HR_24", "DAY_7", "DAY_14", "DAY_30" ] }, + "EmailChannelRequest" : { + "type" : "structure", + "members" : { + "Enabled" : { + "shape" : "__boolean", + "documentation" : "If the channel is enabled for sending messages." + }, + "FromAddress" : { + "shape" : "__string", + "documentation" : "The email address used to send emails from." + }, + "Identity" : { + "shape" : "__string", + "documentation" : "The ARN of an identity verified with SES." + }, + "RoleArn" : { + "shape" : "__string", + "documentation" : "The ARN of an IAM Role used to submit events to Mobile Analytics' event ingestion service" + } + }, + "documentation" : "Email Channel Request" + }, + "EmailChannelResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "documentation" : "Application id" + }, + "CreationDate" : { + "shape" : "__string", + "documentation" : "The date that the settings were last updated in ISO 8601 format." + }, + "Enabled" : { + "shape" : "__boolean", + "documentation" : "If the channel is enabled for sending messages." + }, + "FromAddress" : { + "shape" : "__string", + "documentation" : "The email address used to send emails from." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Channel ID. Not used, only for backwards compatibility." + }, + "Identity" : { + "shape" : "__string", + "documentation" : "The ARN of an identity verified with SES." + }, + "IsArchived" : { + "shape" : "__boolean", + "documentation" : "Is this channel archived" + }, + "LastModifiedBy" : { + "shape" : "__string", + "documentation" : "Who last updated this entry" + }, + "LastModifiedDate" : { + "shape" : "__string", + "documentation" : "Last date this was updated" + }, + "Platform" : { + "shape" : "__string", + "documentation" : "Platform type. Will be \"EMAIL\"" + }, + "RoleArn" : { + "shape" : "__string", + "documentation" : "The ARN of an IAM Role used to submit events to Mobile Analytics' event ingestion service" + }, + "Version" : { + "shape" : "__integer", + "documentation" : "Version of channel" + } + }, + "documentation" : "Email Channel Response." + }, "EndpointBatchItem" : { "type" : "structure", "members" : { "Address" : { "shape" : "__string", - "documentation" : "The address or token of the endpoint." + "documentation" : "The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId)." }, "Attributes" : { "shape" : "MapOfListOf__string", @@ -1550,7 +2163,8 @@ "documentation" : "The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated." }, "Id" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The unique Id for the Endpoint in the batch." }, "Location" : { "shape" : "EndpointLocation", @@ -1572,7 +2186,8 @@ "shape" : "EndpointUser", "documentation" : "Custom user-specific attributes that your app reports to Amazon Pinpoint." } - } + }, + "documentation" : "Endpoint update request" }, "EndpointBatchRequest" : { "type" : "structure", @@ -1581,7 +2196,8 @@ "shape" : "ListOfEndpointBatchItem", "documentation" : "List of items to update. Maximum 100 items" } - } + }, + "documentation" : "Endpoint batch update request." }, "EndpointDemographic" : { "type" : "structure", @@ -1618,7 +2234,8 @@ "shape" : "__string", "documentation" : "The timezone of the endpoint. Specified as a tz database value, such as Americas/Los_Angeles." } - } + }, + "documentation" : "Endpoint demographic data" }, "EndpointLocation" : { "type" : "structure", @@ -1647,14 +2264,15 @@ "shape" : "__string", "documentation" : "The region of the endpoint location. For example, corresponds to a state in US." } - } + }, + "documentation" : "Endpoint location data" }, "EndpointRequest" : { "type" : "structure", "members" : { "Address" : { "shape" : "__string", - "documentation" : "The address or token of the endpoint." + "documentation" : "The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId)." }, "Attributes" : { "shape" : "MapOfListOf__string", @@ -1696,14 +2314,15 @@ "shape" : "EndpointUser", "documentation" : "Custom user-specific attributes that your app reports to Amazon Pinpoint." } - } + }, + "documentation" : "Endpoint update request" }, "EndpointResponse" : { "type" : "structure", "members" : { "Address" : { "shape" : "__string", - "documentation" : "The address or token of the endpoint." + "documentation" : "The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId)." }, "ApplicationId" : { "shape" : "__string", @@ -1757,36 +2376,74 @@ "shape" : "__string", "documentation" : "The unique ID for the most recent request to update the endpoint." }, - "ShardId" : { - "shape" : "__string", - "documentation" : "The ShardId of endpoint" - }, "User" : { "shape" : "EndpointUser", "documentation" : "Custom user-specific attributes that your app reports to Amazon Pinpoint." + }, + "ShardId" : { + "shape" : "__string", + "documentation" : "The ShardId of endpoint" } - } + }, + "documentation" : "Endpoint response" }, "EndpointUser" : { "type" : "structure", "members" : { "UserAttributes" : { "shape" : "MapOfListOf__string", - "documentation" : "Custom attributesd specific to the user." + "documentation" : "Custom attributes specific to the user." }, "UserId" : { "shape" : "__string", "documentation" : "The unique ID of the user." } - } + }, + "documentation" : "Endpoint user specific custom userAttributes" + }, + "EventStream" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "documentation" : "The ID of the application from which events should be published." + }, + "DestinationStreamArn" : { + "shape" : "__string", + "documentation" : "The Amazon Resource Name (ARN) of the Amazon Kinesis stream or Firehose delivery stream to which you want to publish events.\n Firehose ARN: arn:aws:firehose:REGION:ACCOUNT_ID:deliverystream/STREAM_NAME\n Kinesis ARN: arn:aws:kinesis:REGION:ACCOUNT_ID:stream/STREAM_NAME" + }, + "ExternalId" : { + "shape" : "__string", + "documentation" : "The external ID assigned the IAM role that authorizes Amazon Pinpoint to publish to the stream." + }, + "LastModifiedDate" : { + "shape" : "__string", + "documentation" : "The date the event stream was last updated in ISO 8601 format." + }, + "LastUpdatedBy" : { + "shape" : "__string", + "documentation" : "The IAM user who last modified the event stream." + }, + "RoleArn" : { + "shape" : "__string", + "documentation" : "The IAM role that authorizes Amazon Pinpoint to publish events to the stream in your account." + } + }, + "documentation" : "Model for an event publishing subscription export." }, "ForbiddenException" : { "type" : "structure", "members" : { "Message" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The error message returned from the API." + }, + "RequestID" : { + "shape" : "__string", + "documentation" : "The unique message body ID." } }, + "documentation" : "Simple message object.", "exception" : true, "error" : { "httpStatusCode" : 403 @@ -1806,14 +2463,20 @@ "ApiKey" : { "shape" : "__string", "documentation" : "Platform credential API key from Google." + }, + "Enabled" : { + "shape" : "__boolean", + "documentation" : "If the channel is enabled for sending messages." } - } + }, + "documentation" : "Google Cloud Messaging credentials" }, "GCMChannelResponse" : { "type" : "structure", "members" : { "ApplicationId" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The ID of the application to which the channel applies." }, "CreationDate" : { "shape" : "__string", @@ -1823,8 +2486,13 @@ "shape" : "__string", "documentation" : "The GCM API key from Google." }, + "Enabled" : { + "shape" : "__boolean", + "documentation" : "If the channel is enabled for sending messages." + }, "Id" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "Channel ID. Not used, only for backwards compatibility." }, "IsArchived" : { "shape" : "__boolean", @@ -1846,7 +2514,74 @@ "shape" : "__integer", "documentation" : "Version of channel" } - } + }, + "documentation" : "Google Cloud Messaging channel definition" + }, + "GCMMessage" : { + "type" : "structure", + "members" : { + "Action" : { + "shape" : "Action", + "documentation" : "The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL" + }, + "Body" : { + "shape" : "__string", + "documentation" : "The message body of the notification, the email body or the text message." + }, + "CollapseKey" : { + "shape" : "__string", + "documentation" : "This parameter identifies a group of messages (e.g., with collapse_key: \"Updates Available\") that can be collapsed, so that only the last message gets sent when delivery can be resumed. This is intended to avoid sending too many of the same messages when the device comes back online or becomes active." + }, + "Data" : { + "shape" : "MapOf__string", + "documentation" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object" + }, + "IconReference" : { + "shape" : "__string", + "documentation" : "The icon image name of the asset saved in your application." + }, + "ImageIconUrl" : { + "shape" : "__string", + "documentation" : "The URL that points to an image used as the large icon to the notification content view." + }, + "ImageUrl" : { + "shape" : "__string", + "documentation" : "The URL that points to an image used in the push notification." + }, + "RawContent" : { + "shape" : "__string", + "documentation" : "The Raw JSON formatted string to be used as the payload. This value overrides the message." + }, + "RestrictedPackageName" : { + "shape" : "__string", + "documentation" : "This parameter specifies the package name of the application where the registration tokens must match in order to receive the message." + }, + "SilentPush" : { + "shape" : "__boolean", + "documentation" : "Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases." + }, + "SmallImageIconUrl" : { + "shape" : "__string", + "documentation" : "The URL that points to an image used as the small icon for the notification which will be used to represent the notification in the status bar and content view" + }, + "Sound" : { + "shape" : "__string", + "documentation" : "Indicates a sound to play when the device receives the notification. Supports default, or the filename of a sound resource bundled in the app. Android sound files must reside in /res/raw/" + }, + "Substitutions" : { + "shape" : "MapOfListOf__string", + "documentation" : "Default message substitutions. Can be overridden by individual address substitutions." + }, + "Title" : { + "shape" : "__string", + "documentation" : "The message title that displays above the message on the user's device." + }, + "Url" : { + "shape" : "__string", + "documentation" : "The URL to open in the user's mobile browser. Used if the value for Action is URL." + } + }, + "documentation" : "GCM Message." }, "GetApnsChannelRequest" : { "type" : "structure", @@ -1869,6 +2604,27 @@ "required" : [ "APNSChannelResponse" ], "payload" : "APNSChannelResponse" }, + "GetApnsSandboxChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "GetApnsSandboxChannelResponse" : { + "type" : "structure", + "members" : { + "APNSSandboxChannelResponse" : { + "shape" : "APNSSandboxChannelResponse" + } + }, + "required" : [ "APNSSandboxChannelResponse" ], + "payload" : "APNSSandboxChannelResponse" + }, "GetApplicationSettingsRequest" : { "type" : "structure", "members" : { @@ -2050,6 +2806,27 @@ "required" : [ "CampaignsResponse" ], "payload" : "CampaignsResponse" }, + "GetEmailChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "GetEmailChannelResponse" : { + "type" : "structure", + "members" : { + "EmailChannelResponse" : { + "shape" : "EmailChannelResponse" + } + }, + "required" : [ "EmailChannelResponse" ], + "payload" : "EmailChannelResponse" + }, "GetEndpointRequest" : { "type" : "structure", "members" : { @@ -2076,6 +2853,30 @@ "required" : [ "EndpointResponse" ], "payload" : "EndpointResponse" }, + "GetEventStreamRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id", + "documentation": "ApplicationId" + } + }, + "required" : [ "ApplicationId" ], + "documentation": "GetEventStream Request" + }, + "GetEventStreamResponse" : { + "type" : "structure", + "members" : { + "EventStream" : { + "shape" : "EventStream" + } + }, + "required" : [ "EventStream" ], + "payload" : "EventStream", + "documentation": "GetEventStream Response" + }, "GetGcmChannelRequest" : { "type" : "structure", "members" : { @@ -2314,6 +3115,27 @@ "required" : [ "SegmentsResponse" ], "payload" : "SegmentsResponse" }, + "GetSmsChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "GetSmsChannelResponse" : { + "type" : "structure", + "members" : { + "SMSChannelResponse" : { + "shape" : "SMSChannelResponse" + } + }, + "required" : [ "SMSChannelResponse" ], + "payload" : "SMSChannelResponse" + }, "ImportJobRequest" : { "type" : "structure", "members" : { @@ -2456,15 +3278,22 @@ "shape" : "__string", "documentation" : "The string that you use in a subsequent request to get the next page of results in a paginated response." } - } + }, + "documentation" : "Import job list." }, "InternalServerErrorException" : { "type" : "structure", "members" : { "Message" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The error message returned from the API." + }, + "RequestID" : { + "shape" : "__string", + "documentation" : "The unique message body ID." } }, + "documentation" : "Simple message object.", "exception" : true, "error" : { "httpStatusCode" : 500 @@ -2522,6 +3351,15 @@ "shape" : "__string" } }, + "MapOfAddressConfiguration" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "AddressConfiguration" + } + }, "MapOfAttributeDimension" : { "type" : "map", "key" : { @@ -2540,6 +3378,15 @@ "shape" : "ListOf__string" } }, + "MapOfMessageResult" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "MessageResult" + } + }, "MapOf__double" : { "type" : "map", "key" : { @@ -2549,12 +3396,30 @@ "shape" : "__double" } }, + "MapOf__integer" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__integer" + } + }, + "MapOf__string" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, "Message" : { "type" : "structure", "members" : { "Action" : { "shape" : "Action", - "documentation" : "The action that occurs if the user taps a push notification delivered by the campaign:\nOPEN_APP – Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action.\n\nDEEP_LINK – Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app.\n\nURL – The default mobile browser on the user's device launches and opens a web page at the URL you specify." + "documentation" : "The action that occurs if the user taps a push notification delivered by the campaign:\nOPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action.\n\nDEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app.\n\nURL - The default mobile browser on the user's device launches and opens a web page at the URL you specify." }, "Body" : { "shape" : "__string", @@ -2564,6 +3429,10 @@ "shape" : "__string", "documentation" : "The URL that points to the icon image for the push notification icon, for example, the app icon." }, + "ImageSmallIconUrl" : { + "shape" : "__string", + "documentation" : "The URL that points to the small icon image for the push notification icon, for example, the app icon." + }, "ImageUrl" : { "shape" : "__string", "documentation" : "The URL that points to an image used in the push notification." @@ -2594,12 +3463,15 @@ "type" : "structure", "members" : { "Message" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The error message returned from the API." }, "RequestID" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The unique message body ID." } - } + }, + "documentation" : "Simple message object." }, "MessageConfiguration" : { "type" : "structure", @@ -2612,19 +3484,96 @@ "shape" : "Message", "documentation" : "The default message for all channels." }, + "EmailMessage" : { + "shape" : "CampaignEmailMessage", + "documentation" : "The email message configuration." + }, "GCMMessage" : { "shape" : "Message", "documentation" : "The message that the campaign delivers to GCM channels. Overrides the default message." + }, + "SMSMessage" : { + "shape" : "CampaignSmsMessage", + "documentation" : "The SMS message configuration." } - } + }, + "documentation" : "Message configuration for a campaign." + }, + "MessageRequest" : { + "type" : "structure", + "members" : { + "Addresses" : { + "shape" : "MapOfAddressConfiguration", + "documentation" : "A map of destination addresses, with the address as the key(Email address, phone number or push token) and the Address Configuration as the value." + }, + "Context" : { + "shape" : "MapOf__string", + "documentation" : "A map of custom attributes to attributes to be attached to the message. This payload is added to the push notification's 'data.pinpoint' object or added to the email/sms delivery receipt event attributes." + }, + "MessageConfiguration" : { + "shape" : "DirectMessageConfiguration", + "documentation" : "Message configuration." + } + }, + "documentation" : "Send message request." + }, + "MessageResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "documentation" : "Application id of the message." + }, + "RequestId" : { + "shape" : "__string", + "documentation" : "Original request Id for which this message was delivered." + }, + "Result" : { + "shape" : "MapOfMessageResult", + "documentation" : "A map containing a multi part response for each address, with the address as the key(Email address, phone number or push token) and the result as the value." + } + }, + "documentation" : "Send message response." + }, + "MessageResult" : { + "type" : "structure", + "members" : { + "DeliveryStatus" : { + "shape" : "DeliveryStatus", + "documentation" : "Delivery status of message." + }, + "StatusCode" : { + "shape" : "__integer", + "documentation" : "Downstream service status code." + }, + "StatusMessage" : { + "shape" : "__string", + "documentation" : "Status message for message delivery." + }, + "UpdatedToken" : { + "shape" : "__string", + "documentation" : "If token was updated as part of delivery. (This is GCM Specific)" + } + }, + "documentation" : "The result from sending a message to an address." + }, + "MessageType" : { + "type" : "string", + "enum" : [ "TRANSACTIONAL", "PROMOTIONAL" ] }, "MethodNotAllowedException" : { "type" : "structure", "members" : { "Message" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The error message returned from the API." + }, + "RequestID" : { + "shape" : "__string", + "documentation" : "The unique message body ID." } }, + "documentation" : "Simple message object.", "exception" : true, "error" : { "httpStatusCode" : 405 @@ -2634,14 +3583,49 @@ "type" : "structure", "members" : { "Message" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The error message returned from the API." + }, + "RequestID" : { + "shape" : "__string", + "documentation" : "The unique message body ID." } }, + "documentation" : "Simple message object.", "exception" : true, "error" : { "httpStatusCode" : 404 } }, + "PutEventStreamRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id", + "documentation": "ApplicationId" + }, + "WriteEventStream" : { + "shape" : "WriteEventStream", + "documentation": "EventStream to write." + } + }, + "required" : [ "ApplicationId", "WriteEventStream" ], + "payload" : "WriteEventStream", + "documentation": "PutEventStream Request" + }, + "PutEventStreamResponse" : { + "type" : "structure", + "members" : { + "EventStream" : { + "shape" : "EventStream" + } + }, + "required" : [ "EventStream" ], + "payload" : "EventStream", + "documentation": "PutEventStream Response" + }, "QuietTime" : { "type" : "structure", "members" : { @@ -2653,7 +3637,8 @@ "shape" : "__string", "documentation" : "The default start time for quiet time in ISO 8601 format." } - } + }, + "documentation" : "Quiet Time" }, "RecencyDimension" : { "type" : "structure", @@ -2664,14 +3649,101 @@ }, "RecencyType" : { "shape" : "RecencyType", - "documentation" : "The recency dimension type:\nACTIVE – Users who have used your app within the specified duration are included in the segment.\nINACTIVE – Users who have not used your app within the specified duration are included in the segment." + "documentation" : "The recency dimension type:\nACTIVE - Users who have used your app within the specified duration are included in the segment.\nINACTIVE - Users who have not used your app within the specified duration are included in the segment." } - } + }, + "documentation" : "Define how a segment based on recency of use." }, "RecencyType" : { "type" : "string", "enum" : [ "ACTIVE", "INACTIVE" ] }, + "SMSChannelRequest" : { + "type" : "structure", + "members" : { + "Enabled" : { + "shape" : "__boolean", + "documentation" : "If the channel is enabled for sending messages." + }, + "SenderId" : { + "shape" : "__string", + "documentation" : "Sender identifier of your messages." + } + }, + "documentation" : "SMS Channel Request" + }, + "SMSChannelResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "documentation" : "Application id" + }, + "CreationDate" : { + "shape" : "__string", + "documentation" : "The date that the settings were last updated in ISO 8601 format." + }, + "Enabled" : { + "shape" : "__boolean", + "documentation" : "If the channel is enabled for sending messages." + }, + "Id" : { + "shape" : "__string", + "documentation" : "Channel ID. Not used, only for backwards compatibility." + }, + "IsArchived" : { + "shape" : "__boolean", + "documentation" : "Is this channel archived" + }, + "LastModifiedBy" : { + "shape" : "__string", + "documentation" : "Who last updated this entry" + }, + "LastModifiedDate" : { + "shape" : "__string", + "documentation" : "Last date this was updated" + }, + "Platform" : { + "shape" : "__string", + "documentation" : "Platform type. Will be \"SMS\"" + }, + "SenderId" : { + "shape" : "__string", + "documentation" : "Sender identifier of your messages." + }, + "ShortCode" : { + "shape" : "__string", + "documentation" : "The short code registered with the phone provider." + }, + "Version" : { + "shape" : "__integer", + "documentation" : "Version of channel" + } + }, + "documentation" : "SMS Channel Response." + }, + "SMSMessage" : { + "type" : "structure", + "members" : { + "Body" : { + "shape" : "__string", + "documentation" : "The message body of the notification, the email body or the text message." + }, + "MessageType" : { + "shape" : "MessageType", + "documentation" : "Is this a transaction priority message or lower priority." + }, + "SenderId" : { + "shape" : "__string", + "documentation" : "Sender ID of sent message." + }, + "Substitutions" : { + "shape" : "MapOfListOf__string", + "documentation" : "Default message substitutions. Can be overridden by individual address substitutions." + } + }, + "documentation" : "SMS Message." + }, "Schedule" : { "type" : "structure", "members" : { @@ -2699,7 +3771,8 @@ "shape" : "__string", "documentation" : "The starting UTC offset for the schedule if the value for isLocalTime is true\n\nValid values: \nUTC\nUTC+01\nUTC+02\nUTC+03\nUTC+03:30\nUTC+04\nUTC+04:30\nUTC+05\nUTC+05:30\nUTC+05:45\nUTC+06\nUTC+06:30\nUTC+07\nUTC+08\nUTC+09\nUTC+09:30\nUTC+10\nUTC+10:30\nUTC+11\nUTC+12\nUTC+13\nUTC-02\nUTC-03\nUTC-04\nUTC-05\nUTC-06\nUTC-07\nUTC-08\nUTC-09\nUTC-10\nUTC-11" } - } + }, + "documentation" : "Shcedule that defines when a campaign is run." }, "SegmentBehaviors" : { "type" : "structure", @@ -2708,7 +3781,8 @@ "shape" : "RecencyDimension", "documentation" : "The recency of use." } - } + }, + "documentation" : "Segment behavior dimensions" }, "SegmentDemographics" : { "type" : "structure", @@ -2717,6 +3791,10 @@ "shape" : "SetDimension", "documentation" : "The app version criteria for the segment." }, + "Channel" : { + "shape" : "SetDimension", + "documentation" : "The channel criteria for the segment." + }, "DeviceType" : { "shape" : "SetDimension", "documentation" : "The device type criteria for the segment." @@ -2733,7 +3811,8 @@ "shape" : "SetDimension", "documentation" : "The device platform criteria for the segment." } - } + }, + "documentation" : "Segment demographic dimensions" }, "SegmentDimensions" : { "type" : "structure", @@ -2752,13 +3831,22 @@ }, "Location" : { "shape" : "SegmentLocation", - "documentation" : "The segment location attributes.\n" + "documentation" : "The segment location attributes." + }, + "UserAttributes" : { + "shape" : "MapOfAttributeDimension", + "documentation" : "Custom segment user attributes." } - } + }, + "documentation" : "Segment dimensions" }, "SegmentImportResource" : { "type" : "structure", "members" : { + "ChannelCounts" : { + "shape" : "MapOf__integer", + "documentation" : "Channel type counts" + }, "ExternalId" : { "shape" : "__string", "documentation" : "A unique, custom ID assigned to the IAM role that restricts who can assume the role." @@ -2779,7 +3867,8 @@ "shape" : "__integer", "documentation" : "The number of endpoints that were successfully imported to create this segment." } - } + }, + "documentation" : "Segment import definition." }, "SegmentLocation" : { "type" : "structure", @@ -2788,7 +3877,8 @@ "shape" : "SetDimension", "documentation" : "The country filter according to ISO 3166-1 Alpha-2 codes." } - } + }, + "documentation" : "Segment location dimensions" }, "SegmentResponse" : { "type" : "structure", @@ -2823,13 +3913,14 @@ }, "SegmentType" : { "shape" : "SegmentType", - "documentation" : "The segment type:\nDIMENSIONAL – A dynamic segment built from selection criteria based on endpoint data reported by your app. You create this type of segment by using the segment builder in the Amazon Pinpoint console or by making a POST request to the segments resource.\nIMPORT – A static segment built from an imported set of endpoint definitions. You create this type of segment by importing a segment in the Amazon Pinpoint console or by making a POST request to the jobs/import resource." + "documentation" : "The segment type:\nDIMENSIONAL - A dynamic segment built from selection criteria based on endpoint data reported by your app. You create this type of segment by using the segment builder in the Amazon Pinpoint console or by making a POST request to the segments resource.\nIMPORT - A static segment built from an imported set of endpoint definitions. You create this type of segment by importing a segment in the Amazon Pinpoint console or by making a POST request to the jobs/import resource." }, "Version" : { "shape" : "__integer", "documentation" : "The segment version number." } - } + }, + "documentation" : "Segment definition." }, "SegmentType" : { "type" : "string", @@ -2846,28 +3937,61 @@ "shape" : "__string", "documentation" : "An identifier used to retrieve the next page of results. The token is null if no additional pages exist." } - } + }, + "documentation" : "Segments in your account." + }, + "SendMessagesRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "MessageRequest" : { + "shape" : "MessageRequest" + } + }, + "required" : [ "ApplicationId", "MessageRequest" ], + "payload" : "MessageRequest" + }, + "SendMessagesResponse" : { + "type" : "structure", + "members" : { + "MessageResponse" : { + "shape" : "MessageResponse" + } + }, + "required" : [ "MessageResponse" ], + "payload" : "MessageResponse" }, "SetDimension" : { "type" : "structure", "members" : { "DimensionType" : { "shape" : "DimensionType", - "documentation" : "The type of dimension:\nINCLUSIVE – Endpoints that match the criteria are included in the segment.\nEXCLUSIVE – Endpoints that match the criteria are excluded from the segment." + "documentation" : "The type of dimension:\nINCLUSIVE - Endpoints that match the criteria are included in the segment.\nEXCLUSIVE - Endpoints that match the criteria are excluded from the segment." }, "Values" : { "shape" : "ListOf__string", "documentation" : "The criteria values for the segment dimension. Endpoints with matching attribute values are included or excluded from the segment, depending on the setting for Type." } - } + }, + "documentation" : "Dimension specification of a segment." }, "TooManyRequestsException" : { "type" : "structure", "members" : { "Message" : { - "shape" : "__string" + "shape" : "__string", + "documentation" : "The error message returned from the API." + }, + "RequestID" : { + "shape" : "__string", + "documentation" : "The unique message body ID." } }, + "documentation" : "Simple message object.", "exception" : true, "error" : { "httpStatusCode" : 429 @@ -2904,7 +4028,8 @@ "shape" : "__string", "documentation" : "The custom name of a variation of the campaign used for A/B testing." } - } + }, + "documentation" : "Treatment resource" }, "UpdateApnsChannelRequest" : { "type" : "structure", @@ -2931,6 +4056,31 @@ "required" : [ "APNSChannelResponse" ], "payload" : "APNSChannelResponse" }, + "UpdateApnsSandboxChannelRequest" : { + "type" : "structure", + "members" : { + "APNSSandboxChannelRequest" : { + "shape" : "APNSSandboxChannelRequest" + }, + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId", "APNSSandboxChannelRequest" ], + "payload" : "APNSSandboxChannelRequest" + }, + "UpdateApnsSandboxChannelResponse" : { + "type" : "structure", + "members" : { + "APNSSandboxChannelResponse" : { + "shape" : "APNSSandboxChannelResponse" + } + }, + "required" : [ "APNSSandboxChannelResponse" ], + "payload" : "APNSSandboxChannelResponse" + }, "UpdateApplicationSettingsRequest" : { "type" : "structure", "members" : { @@ -2986,6 +4136,31 @@ "required" : [ "CampaignResponse" ], "payload" : "CampaignResponse" }, + "UpdateEmailChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "EmailChannelRequest" : { + "shape" : "EmailChannelRequest" + } + }, + "required" : [ "ApplicationId", "EmailChannelRequest" ], + "payload" : "EmailChannelRequest" + }, + "UpdateEmailChannelResponse" : { + "type" : "structure", + "members" : { + "EmailChannelResponse" : { + "shape" : "EmailChannelResponse" + } + }, + "required" : [ "EmailChannelResponse" ], + "payload" : "EmailChannelResponse" + }, "UpdateEndpointRequest" : { "type" : "structure", "members" : { @@ -3096,6 +4271,31 @@ "required" : [ "SegmentResponse" ], "payload" : "SegmentResponse" }, + "UpdateSmsChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "SMSChannelRequest" : { + "shape" : "SMSChannelRequest" + } + }, + "required" : [ "ApplicationId", "SMSChannelRequest" ], + "payload" : "SMSChannelRequest" + }, + "UpdateSmsChannelResponse" : { + "type" : "structure", + "members" : { + "SMSChannelResponse" : { + "shape" : "SMSChannelResponse" + } + }, + "required" : [ "SMSChannelResponse" ], + "payload" : "SMSChannelResponse" + }, "WriteApplicationSettingsRequest" : { "type" : "structure", "members" : { @@ -3107,7 +4307,8 @@ "shape" : "QuietTime", "documentation" : "The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own." } - } + }, + "documentation" : "Creating application setting request" }, "WriteCampaignRequest" : { "type" : "structure", @@ -3160,7 +4361,26 @@ "shape" : "__string", "documentation" : "The custom name of a variation of the campaign used for A/B testing." } - } + }, + "documentation" : "Used to create a campaign." + }, + "WriteEventStream" : { + "type" : "structure", + "members" : { + "DestinationStreamArn" : { + "shape" : "__string", + "documentation" : "The Amazon Resource Name (ARN) of the Amazon Kinesis stream or Firehose delivery stream to which you want to publish events.\n Firehose ARN: arn:aws:firehose:REGION:ACCOUNT_ID:deliverystream/STREAM_NAME\n Kinesis ARN: arn:aws:kinesis:REGION:ACCOUNT_ID:stream/STREAM_NAME" + }, + "ExternalId" : { + "shape" : "__string", + "documentation" : "The external ID assigned the IAM role that authorizes Amazon Pinpoint to publish to the stream." + }, + "RoleArn" : { + "shape" : "__string", + "documentation" : "The IAM role that authorizes Amazon Pinpoint to publish events to the stream in your account." + } + }, + "documentation" : "Request to save an EventStream." }, "WriteSegmentRequest" : { "type" : "structure", @@ -3173,7 +4393,8 @@ "shape" : "__string", "documentation" : "The name of segment" } - } + }, + "documentation" : "Segment definition." }, "WriteTreatmentResource" : { "type" : "structure", @@ -3198,7 +4419,8 @@ "shape" : "__string", "documentation" : "The custom name of a variation of the campaign used for A/B testing." } - } + }, + "documentation" : "Used to create a campaign treatment." }, "__boolean" : { "type" : "boolean" @@ -3211,6 +4433,9 @@ }, "__string" : { "type" : "string" + }, + "__timestamp" : { + "type" : "timestamp" } } -} +} \ No newline at end of file diff --git a/botocore/data/polly/2016-06-10/examples-1.json b/botocore/data/polly/2016-06-10/examples-1.json new file mode 100644 index 00000000..38205dbe --- /dev/null +++ b/botocore/data/polly/2016-06-10/examples-1.json @@ -0,0 +1,171 @@ +{ + "version": "1.0", + "examples": { + "DeleteLexicon": [ + { + "input": { + "Name": "example" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes a specified pronunciation lexicon stored in an AWS Region.", + "id": "to-delete-a-lexicon-1481922498332", + "title": "To delete a lexicon" + } + ], + "DescribeVoices": [ + { + "input": { + "LanguageCode": "en-GB" + }, + "output": { + "Voices": [ + { + "Gender": "Female", + "Id": "Emma", + "LanguageCode": "en-GB", + "LanguageName": "British English", + "Name": "Emma" + }, + { + "Gender": "Male", + "Id": "Brian", + "LanguageCode": "en-GB", + "LanguageName": "British English", + "Name": "Brian" + }, + { + "Gender": "Female", + "Id": "Amy", + "LanguageCode": "en-GB", + "LanguageName": "British English", + "Name": "Amy" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns the list of voices that are available for use when requesting speech synthesis. Displayed languages are those within the specified language code. If no language code is specified, voices for all available languages are displayed.", + "id": "to-describe-available-voices-1482180557753", + "title": "To describe available voices" + } + ], + "GetLexicon": [ + { + "input": { + "Name": "" + }, + "output": { + "Lexicon": { + "Content": "\r\n\r\n \r\n W3C\r\n World Wide Web Consortium\r\n \r\n", + "Name": "example" + }, + "LexiconAttributes": { + "Alphabet": "ipa", + "LanguageCode": "en-US", + "LastModified": 1478542980.117, + "LexemesCount": 1, + "LexiconArn": "arn:aws:polly:us-east-1:123456789012:lexicon/example", + "Size": 503 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns the content of the specified pronunciation lexicon stored in an AWS Region.", + "id": "to-retrieve-a-lexicon-1481912870836", + "title": "To retrieve a lexicon" + } + ], + "ListLexicons": [ + { + "input": { + }, + "output": { + "Lexicons": [ + { + "Attributes": { + "Alphabet": "ipa", + "LanguageCode": "en-US", + "LastModified": 1478542980.117, + "LexemesCount": 1, + "LexiconArn": "arn:aws:polly:us-east-1:123456789012:lexicon/example", + "Size": 503 + }, + "Name": "example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a list of pronunciation lexicons stored in an AWS Region.", + "id": "to-list-all-lexicons-in-a-region-1481842106487", + "title": "To list all lexicons in a region" + } + ], + "PutLexicon": [ + { + "input": { + "Content": "file://example.pls", + "Name": "W3C" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Stores a pronunciation lexicon in an AWS Region.", + "id": "to-save-a-lexicon-1482272584088", + "title": "To save a lexicon" + } + ], + "SynthesizeSpeech": [ + { + "input": { + "LexiconNames": [ + "example" + ], + "OutputFormat": "mp3", + "SampleRate": "8000", + "Text": "All Gaul is divided into three parts", + "TextType": "text", + "VoiceId": "Joanna" + }, + "output": { + "AudioStream": "TEXT", + "ContentType": "audio/mpeg", + "RequestCharacters": 37 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Synthesizes plain text or SSML into a file of human-like speech.", + "id": "to-synthesize-speech-1482186064046", + "title": "To synthesize speech" + } + ] + } +} diff --git a/botocore/data/polly/2016-06-10/paginators-1.json b/botocore/data/polly/2016-06-10/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/polly/2016-06-10/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/polly/2016-06-10/service-2.json b/botocore/data/polly/2016-06-10/service-2.json index 9c56996b..ae3279a2 100644 --- a/botocore/data/polly/2016-06-10/service-2.json +++ b/botocore/data/polly/2016-06-10/service-2.json @@ -103,7 +103,9 @@ {"shape":"InvalidSampleRateException"}, {"shape":"InvalidSsmlException"}, {"shape":"LexiconNotFoundException"}, - {"shape":"ServiceFailureException"} + {"shape":"ServiceFailureException"}, + {"shape":"MarksNotSupportedForFormatException"}, + {"shape":"SsmlMarksNotSupportedForTextTypeException"} ], "documentation":"

Synthesizes UTF-8 input, plain text or SSML, to a stream of bytes. SSML input must be valid, well-formed SSML. Some alphabets might not be available with all the voices (for example, Cyrillic might not be read at all by English voices) unless phoneme mapping is used. For more information, see How it Works.

" } @@ -379,6 +381,15 @@ } } }, + "MarksNotSupportedForFormatException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Speech marks are not supported for the OutputFormat selected. Speech marks are only available for content in json format.

", + "error":{"httpStatusCode":400}, + "exception":true + }, "MaxLexemeLengthExceededException":{ "type":"structure", "members":{ @@ -401,6 +412,7 @@ "OutputFormat":{ "type":"string", "enum":[ + "json", "mp3", "ogg_vorbis", "pcm" @@ -443,6 +455,29 @@ "fault":true }, "Size":{"type":"integer"}, + "SpeechMarkType":{ + "type":"string", + "enum":[ + "sentence", + "ssml", + "viseme", + "word" + ] + }, + "SpeechMarkTypeList":{ + "type":"list", + "member":{"shape":"SpeechMarkType"}, + "max":4 + }, + "SsmlMarksNotSupportedForTextTypeException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

SSML speech marks are not supported for plain text-type input.

", + "error":{"httpStatusCode":400}, + "exception":true + }, "SynthesizeSpeechInput":{ "type":"structure", "required":[ @@ -457,12 +492,16 @@ }, "OutputFormat":{ "shape":"OutputFormat", - "documentation":"

The audio format in which the resulting stream will be encoded.

" + "documentation":"

The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

" }, "SampleRate":{ "shape":"SampleRate", "documentation":"

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are \"8000\", \"16000\", and \"22050\". The default value is \"22050\".

Valid values for pcm are \"8000\" and \"16000\" The default value is \"16000\".

" }, + "SpeechMarkTypes":{ + "shape":"SpeechMarkTypeList", + "documentation":"

The type of speech marks returned for the input text.

" + }, "Text":{ "shape":"Text", "documentation":"

Input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text.

" @@ -486,7 +525,7 @@ }, "ContentType":{ "shape":"ContentType", - "documentation":"

Specifies the type audio stream. This should reflect the OutputFormat parameter in your request.

  • If you request mp3 as the OutputFormat, the ContentType returned is audio/mpeg.

  • If you request ogg_vorbis as the OutputFormat, the ContentType returned is audio/ogg.

  • If you request pcm as the OutputFormat, the ContentType returned is audio/pcm in a signed 16-bit, 1 channel (mono), little-endian format.

", + "documentation":"

Specifies the type audio stream. This should reflect the OutputFormat parameter in your request.

  • If you request mp3 as the OutputFormat, the ContentType returned is audio/mpeg.

  • If you request ogg_vorbis as the OutputFormat, the ContentType returned is audio/ogg.

  • If you request pcm as the OutputFormat, the ContentType returned is audio/pcm in a signed 16-bit, 1 channel (mono), little-endian format.

  • If you request json as the OutputFormat, the ContentType returned is audio/json.

", "location":"header", "locationName":"Content-Type" }, @@ -609,7 +648,8 @@ "Maxim", "Tatyana", "Astrid", - "Filiz" + "Filiz", + "Vicki" ] }, "VoiceList":{ diff --git a/botocore/data/rds/2014-10-31/examples-1.json b/botocore/data/rds/2014-10-31/examples-1.json new file mode 100755 index 00000000..4bb4a5a9 --- /dev/null +++ b/botocore/data/rds/2014-10-31/examples-1.json @@ -0,0 +1,1658 @@ +{ + "version": "1.0", + "examples": { + "AddSourceIdentifierToSubscription": [ + { + "input": { + "SourceIdentifier": "mymysqlinstance", + "SubscriptionName": "mymysqleventsubscription" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example add a source identifier to an event notification subscription.", + "id": "add-source-identifier-to-subscription-93fb6a15-0a59-4577-a7b5-e12db9752c14", + "title": "To add a source identifier to an event notification subscription" + } + ], + "AddTagsToResource": [ + { + "input": { + "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup", + "Tags": [ + { + "Key": "Staging", + "Value": "LocationDB" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds a tag to an option group.", + "id": "add-tags-to-resource-fa99ef50-228b-449d-b893-ca4d4e9768ab", + "title": "To add tags to a resource" + } + ], + "ApplyPendingMaintenanceAction": [ + { + "input": { + "ApplyAction": "system-update", + "OptInType": "immediate", + "ResourceIdentifier": "arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example immediately applies a pending system update to a DB instance.", + "id": "apply-pending-maintenance-action-2a026047-8bbb-47fc-b695-abad9f308c24", + "title": "To apply a pending maintenance action" + } + ], + "AuthorizeDBSecurityGroupIngress": [ + { + "input": { + "CIDRIP": "203.0.113.5/32", + "DBSecurityGroupName": "mydbsecuritygroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example authorizes access to the specified security group by the specified CIDR block.", + "id": "authorize-db-security-group-ingress-ebf9ab91-8912-4b07-a32e-ca150668164f", + "title": "To authorize DB security group integress" + } + ], + "CopyDBClusterParameterGroup": [ + { + "input": { + "SourceDBClusterParameterGroupIdentifier": "mydbclusterparametergroup", + "TargetDBClusterParameterGroupDescription": "My DB cluster parameter group copy", + "TargetDBClusterParameterGroupIdentifier": "mydbclusterparametergroup-copy" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies a DB cluster parameter group.", + "id": "copy-db-cluster-parameter-group-6fefaffe-cde9-4dba-9f0b-d3f593572fe4", + "title": "To copy a DB cluster parameter group" + } + ], + "CopyDBClusterSnapshot": [ + { + "input": { + "SourceDBClusterSnapshotIdentifier": "rds:sample-cluster-2016-09-14-10-38", + "TargetDBClusterSnapshotIdentifier": "cluster-snapshot-copy-1" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example copies an automated snapshot of a DB cluster to a new DB cluster snapshot.", + "id": "to-copy-a-db-cluster-snapshot-1473879770564", + "title": "To copy a DB cluster snapshot" + } + ], + "CopyDBParameterGroup": [ + { + "input": { + "SourceDBParameterGroupIdentifier": "mymysqlparametergroup", + "TargetDBParameterGroupDescription": "My MySQL parameter group copy", + "TargetDBParameterGroupIdentifier": "mymysqlparametergroup-copy" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies a DB parameter group.", + "id": "copy-db-parameter-group-610d4dba-2c87-467f-ae5d-edd7f8e47349", + "title": "To copy a DB parameter group" + } + ], + "CopyDBSnapshot": [ + { + "input": { + "SourceDBSnapshotIdentifier": "mydbsnapshot", + "TargetDBSnapshotIdentifier": "mydbsnapshot-copy" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies a DB snapshot.", + "id": "copy-db-snapshot-1b2f0210-bc67-415d-9822-6eecf447dc86", + "title": "To copy a DB snapshot" + } + ], + "CopyOptionGroup": [ + { + "input": { + "SourceOptionGroupIdentifier": "mymysqloptiongroup", + "TargetOptionGroupDescription": "My MySQL option group copy", + "TargetOptionGroupIdentifier": "mymysqloptiongroup-copy" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies an option group.", + "id": "copy-option-group-8d5c01c3-8846-4e9c-a4b0-1b7237f7d0ec", + "title": "To copy an option group" + } + ], + "CreateDBCluster": [ + { + "input": { + "AvailabilityZones": [ + "us-east-1a" + ], + "BackupRetentionPeriod": 1, + "DBClusterIdentifier": "mydbcluster", + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "DatabaseName": "myauroradb", + "Engine": "aurora", + "EngineVersion": "5.6.10a", + "MasterUserPassword": "mypassword", + "MasterUsername": "myuser", + "Port": 3306, + "StorageEncrypted": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB cluster.", + "id": "create-db-cluster-423b998d-eba9-40dd-8e19-96c5b6e5f31d", + "title": "To create a DB cluster" + } + ], + "CreateDBClusterParameterGroup": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "DBParameterGroupFamily": "aurora5.6", + "Description": "My DB cluster parameter group" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB cluster parameter group.", + "id": "create-db-cluster-parameter-group-8eb1c3ae-1965-4262-afe3-ee134c4430b1", + "title": "To create a DB cluster parameter group" + } + ], + "CreateDBClusterSnapshot": [ + { + "input": { + "DBClusterIdentifier": "mydbcluster", + "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB cluster snapshot.", + "id": "create-db-cluster-snapshot-", + "title": "To create a DB cluster snapshot" + } + ], + "CreateDBInstance": [ + { + "input": { + "AllocatedStorage": 5, + "DBInstanceClass": "db.t2.micro", + "DBInstanceIdentifier": "mymysqlinstance", + "Engine": "MySQL", + "MasterUserPassword": "MyPassword", + "MasterUsername": "MyUser" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB instance.", + "id": "create-db-instance-57eb5d16-8bf8-4c84-9709-1700322b37b9", + "title": "To create a DB instance." + } + ], + "CreateDBInstanceReadReplica": [ + { + "input": { + "AvailabilityZone": "us-east-1a", + "CopyTagsToSnapshot": true, + "DBInstanceClass": "db.t2.micro", + "DBInstanceIdentifier": "mydbreadreplica", + "PubliclyAccessible": true, + "SourceDBInstanceIdentifier": "mymysqlinstance", + "StorageType": "gp2", + "Tags": [ + { + "Key": "mydbreadreplicakey", + "Value": "mydbreadreplicavalue" + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB instance read replica.", + "id": "create-db-instance-read-replica-81b41cd5-2871-4dae-bc59-3e264449d5fe", + "title": "To create a DB instance read replica." + } + ], + "CreateDBParameterGroup": [ + { + "input": { + "DBParameterGroupFamily": "mysql5.6", + "DBParameterGroupName": "mymysqlparametergroup", + "Description": "My MySQL parameter group" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB parameter group.", + "id": "create-db-parameter-group-42afcc37-12e9-4b6a-a55c-b8a141246e87", + "title": "To create a DB parameter group." + } + ], + "CreateDBSecurityGroup": [ + { + "input": { + "DBSecurityGroupDescription": "My DB security group", + "DBSecurityGroupName": "mydbsecuritygroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB security group.", + "id": "create-db-security-group-41b6786a-539e-42a5-a645-a8bc3cf99353", + "title": "To create a DB security group." + } + ], + "CreateDBSnapshot": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "DBSnapshotIdentifier": "mydbsnapshot" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB snapshot.", + "id": "create-db-snapshot-e10e0e2c-9ac4-426d-9b17-6b6a3e382ce2", + "title": "To create a DB snapshot." + } + ], + "CreateDBSubnetGroup": [ + { + "input": { + "DBSubnetGroupDescription": "My DB subnet group", + "DBSubnetGroupName": "mydbsubnetgroup", + "SubnetIds": [ + "subnet-1fab8a69", + "subnet-d43a468c" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB subnet group.", + "id": "create-db-subnet-group-c3d162c2-0ec4-4955-ba89-18967615fdb8", + "title": "To create a DB subnet group." + } + ], + "CreateEventSubscription": [ + { + "input": { + "Enabled": true, + "EventCategories": [ + "availability" + ], + "SnsTopicArn": "arn:aws:sns:us-east-1:992648334831:MyDemoSNSTopic", + "SourceIds": [ + "mymysqlinstance" + ], + "SourceType": "db-instance", + "SubscriptionName": "mymysqleventsubscription" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an event notification subscription.", + "id": "create-event-subscription-00dd0ee6-0e0f-4a38-ae83-e5f2ded5f69a", + "title": "To create an event notification subscription" + } + ], + "CreateOptionGroup": [ + { + "input": { + "EngineName": "MySQL", + "MajorEngineVersion": "5.6", + "OptionGroupDescription": "My MySQL 5.6 option group", + "OptionGroupName": "mymysqloptiongroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an option group.", + "id": "create-option-group-a7708c87-1b79-4a5e-a762-21cf8fc62b78", + "title": "To create an option group" + } + ], + "DeleteDBCluster": [ + { + "input": { + "DBClusterIdentifier": "mydbcluster", + "SkipFinalSnapshot": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB cluster.", + "id": "delete-db-cluster-927fc2c8-6c67-4075-b1ba-75490be0f7d6", + "title": "To delete a DB cluster." + } + ], + "DeleteDBClusterParameterGroup": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB cluster parameter group.", + "id": "delete-db-cluster-parameter-group-364f5555-ba0a-4cc8-979c-e769098924fc", + "title": "To delete a DB cluster parameter group." + } + ], + "DeleteDBClusterSnapshot": [ + { + "input": { + "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB cluster snapshot.", + "id": "delete-db-cluster-snapshot-c67e0d95-670e-4fb5-af90-6d9a70a91b07", + "title": "To delete a DB cluster snapshot." + } + ], + "DeleteDBInstance": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "SkipFinalSnapshot": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB instance.", + "id": "delete-db-instance-4412e650-949c-488a-b32a-7d3038ebccc4", + "title": "To delete a DB instance." + } + ], + "DeleteDBParameterGroup": [ + { + "input": { + "DBParameterGroupName": "mydbparamgroup3" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a DB parameter group.", + "id": "to-delete-a-db-parameter-group-1473888796509", + "title": "To delete a DB parameter group" + } + ], + "DeleteDBSecurityGroup": [ + { + "input": { + "DBSecurityGroupName": "mysecgroup" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a DB security group.", + "id": "to-delete-a-db-security-group-1473960141889", + "title": "To delete a DB security group" + } + ], + "DeleteDBSnapshot": [ + { + "input": { + "DBSnapshotIdentifier": "mydbsnapshot" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB snapshot.", + "id": "delete-db-snapshot-505d6b4e-8ced-479c-856a-c460a33fe07b", + "title": "To delete a DB cluster snapshot." + } + ], + "DeleteDBSubnetGroup": [ + { + "input": { + "DBSubnetGroupName": "mydbsubnetgroup" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB subnetgroup.", + "id": "delete-db-subnet-group-4ae00375-511e-443d-a01d-4b9f552244aa", + "title": "To delete a DB subnet group." + } + ], + "DeleteEventSubscription": [ + { + "input": { + "SubscriptionName": "myeventsubscription" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB event subscription.", + "id": "delete-db-event-subscription-d33567e3-1d5d-48ff-873f-0270453f4a75", + "title": "To delete a DB event subscription." + } + ], + "DeleteOptionGroup": [ + { + "input": { + "OptionGroupName": "mydboptiongroup" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified option group.", + "id": "delete-db-option-group-578be2be-3095-431a-9ea4-9a3c3b0daef4", + "title": "To delete an option group." + } + ], + "DescribeAccountAttributes": [ + { + "input": { + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists account attributes.", + "id": "describe-account-attributes-683d3ff7-5524-421a-8da5-e88f1ea2222b", + "title": "To list account attributes" + } + ], + "DescribeCertificates": [ + { + "input": { + "CertificateIdentifier": "rds-ca-2015", + "MaxRecords": 20 + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists up to 20 certificates for the specified certificate identifier.", + "id": "describe-certificates-9d71a70d-7908-4444-b43f-321d842c62dc", + "title": "To list certificates" + } + ], + "DescribeDBClusterParameterGroups": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified DB cluster parameter group.", + "id": "describe-db-cluster-parameter-groups-cf9c6e66-664e-4f57-8e29-a9080abfc013", + "title": "To list DB cluster parameter group settings" + } + ], + "DescribeDBClusterParameters": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "Source": "system" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists system parameters for the specified DB cluster parameter group.", + "id": "describe-db-cluster-parameters-98043c28-e489-41a7-b118-bfd96dc779a1", + "title": "To list DB cluster parameters" + } + ], + "DescribeDBClusterSnapshotAttributes": [ + { + "input": { + "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists attributes for the specified DB cluster snapshot.", + "id": "describe-db-cluster-snapshot-attributes-6752ade3-0c7b-4b06-a8e4-b76bf4e2d3571", + "title": "To list DB cluster snapshot attributes" + } + ], + "DescribeDBClusterSnapshots": [ + { + "input": { + "DBClusterSnapshotIdentifier": "mydbclustersnapshot", + "SnapshotType": "manual" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified, manually-created cluster snapshot.", + "id": "describe-db-cluster-snapshots-52f38af1-3431-4a51-9a6a-e6bb8c961b32", + "title": "To list DB cluster snapshots" + } + ], + "DescribeDBClusters": [ + { + "input": { + "DBClusterIdentifier": "mynewdbcluster" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified DB cluster.", + "id": "describe-db-clusters-7aae8861-cb95-4b3b-9042-f62df7698635", + "title": "To list DB clusters" + } + ], + "DescribeDBEngineVersions": [ + { + "input": { + "DBParameterGroupFamily": "mysql5.6", + "DefaultOnly": true, + "Engine": "mysql", + "EngineVersion": "5.6", + "ListSupportedCharacterSets": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified DB engine version.", + "id": "describe-db-engine-versions-8e698cf2-2162-425a-a854-111cdaceb52b", + "title": "To list DB engine version settings" + } + ], + "DescribeDBInstances": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified DB instance.", + "id": "describe-db-instances-0e11a8c5-4ec3-4463-8cbf-f7254d04c4fc", + "title": "To list DB instance settings" + } + ], + "DescribeDBLogFiles": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "FileLastWritten": 1470873600000, + "FileSize": 0, + "FilenameContains": "error" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists matching log file names for the specified DB instance, file name pattern, last write date in POSIX time with milleseconds, and minimum file size.", + "id": "describe-db-log-files-5f002d8d-5c1d-44c2-b5f4-bd284c0f1285", + "title": "To list DB log file names" + } + ], + "DescribeDBParameterGroups": [ + { + "input": { + "DBParameterGroupName": "mymysqlparametergroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information about the specified DB parameter group.", + "id": "describe-db-parameter-groups-", + "title": "To list information about DB parameter groups" + } + ], + "DescribeDBParameters": [ + { + "input": { + "DBParameterGroupName": "mymysqlparametergroup", + "MaxRecords": 20, + "Source": "system" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for up to the first 20 system parameters for the specified DB parameter group.", + "id": "describe-db-parameters-09db4201-ef4f-4d97-a4b5-d71c0715b901", + "title": "To list information about DB parameters" + } + ], + "DescribeDBSecurityGroups": [ + { + "input": { + "DBSecurityGroupName": "mydbsecuritygroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified security group.", + "id": "describe-db-security-groups-66fe9ea1-17dd-4275-b82e-f771cee0c849", + "title": "To list DB security group settings" + } + ], + "DescribeDBSnapshotAttributes": [ + { + "input": { + "DBSnapshotIdentifier": "mydbsnapshot" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists attributes for the specified DB snapshot.", + "id": "describe-db-snapshot-attributes-1d4fb750-34f6-4e43-8b3d-b2751d796a95", + "title": "To list DB snapshot attributes" + } + ], + "DescribeDBSnapshots": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "IncludePublic": false, + "IncludeShared": true, + "SnapshotType": "manual" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all manually-created, shared snapshots for the specified DB instance.", + "id": "describe-db-snapshots-2c935989-a1ef-4c85-aea4-1d0f45f17f26", + "title": "To list DB snapshot attributes" + } + ], + "DescribeDBSubnetGroups": [ + { + "input": { + "DBSubnetGroupName": "mydbsubnetgroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information about the specified DB subnet group.", + "id": "describe-db-subnet-groups-1d97b340-682f-4dd6-9653-8ed72a8d1221", + "title": "To list information about DB subnet groups" + } + ], + "DescribeEngineDefaultClusterParameters": [ + { + "input": { + "DBParameterGroupFamily": "aurora5.6" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists default parameters for the specified DB cluster engine.", + "id": "describe-engine-default-cluster-parameters-f130374a-7bee-434b-b51d-da20b6e000e0", + "title": "To list default parameters for a DB cluster engine" + } + ], + "DescribeEngineDefaultParameters": [ + { + "input": { + "DBParameterGroupFamily": "mysql5.6" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists default parameters for the specified DB engine.", + "id": "describe-engine-default-parameters-35d5108e-1d44-4fac-8aeb-04b8fdfface1", + "title": "To list default parameters for a DB engine" + } + ], + "DescribeEventCategories": [ + { + "input": { + "SourceType": "db-instance" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all DB instance event categories.", + "id": "describe-event-categories-97bd4c77-12da-4be6-b42f-edf77771428b", + "title": "To list event categories." + } + ], + "DescribeEventSubscriptions": [ + { + "input": { + "SubscriptionName": "mymysqleventsubscription" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for the specified DB event notification subscription.", + "id": "describe-event-subscriptions-11184a82-e58a-4d0c-b558-f3a7489e0850", + "title": "To list information about DB event notification subscriptions" + } + ], + "DescribeEvents": [ + { + "input": { + "Duration": 10080, + "EventCategories": [ + "backup" + ], + "SourceIdentifier": "mymysqlinstance", + "SourceType": "db-instance" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all backup-related events for the specified DB instance for the past 7 days (7 days * 24 hours * 60 minutes = 10,080 minutes).", + "id": "describe-events-3836e5ed-3913-4f76-8452-c77fcad5016b", + "title": "To list information about events" + } + ], + "DescribeOptionGroupOptions": [ + { + "input": { + "EngineName": "mysql", + "MajorEngineVersion": "5.6" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all option group options for the specified DB engine.", + "id": "describe-option-group-options-30d735a4-81f1-49e4-b3f2-5dc45d50c8ed", + "title": "To list information about DB option group options" + } + ], + "DescribeOptionGroups": [ + { + "input": { + "EngineName": "mysql", + "MajorEngineVersion": "5.6" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all option groups for the specified DB engine.", + "id": "describe-option-groups-4ef478a1-66d5-45f2-bec3-e608720418a4", + "title": "To list information about DB option groups" + } + ], + "DescribeOrderableDBInstanceOptions": [ + { + "input": { + "DBInstanceClass": "db.t2.micro", + "Engine": "mysql", + "EngineVersion": "5.6.27", + "LicenseModel": "general-public-license", + "Vpc": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all orderable DB instance options for the specified DB engine, engine version, DB instance class, license model, and VPC settings.", + "id": "describe-orderable-db-instance-options-7444d3ed-82eb-42b9-9ed9-896b8c27a782", + "title": "To list information about orderable DB instance options" + } + ], + "DescribePendingMaintenanceActions": [ + { + "input": { + "ResourceIdentifier": "arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all pending maintenance actions for the specified DB instance.", + "id": "describe-pending-maintenance-actions-e6021f7e-58ae-49cc-b874-11996176835c", + "title": "To list information about pending maintenance actions" + } + ], + "DescribeReservedDBInstances": [ + { + "input": { + "DBInstanceClass": "db.t2.micro", + "Duration": "1y", + "MultiAZ": false, + "OfferingType": "No Upfront", + "ProductDescription": "mysql" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all reserved DB instances for the specified DB instance class, duration, product, offering type, and availability zone settings.", + "id": "describe-reserved-db-instances-d45adaca-2e30-407c-a0f3-aa7b98bea17f", + "title": "To list information about reserved DB instances" + } + ], + "DescribeReservedDBInstancesOfferings": [ + { + "input": { + "DBInstanceClass": "db.t2.micro", + "Duration": "1y", + "MultiAZ": false, + "OfferingType": "No Upfront", + "ProductDescription": "mysql" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all reserved DB instance offerings for the specified DB instance class, duration, product, offering type, and availability zone settings.", + "id": "describe-reserved-db-instances-offerings-9de7d1fd-d6a6-4a72-84ae-b2ef58d47d8d", + "title": "To list information about reserved DB instance offerings" + } + ], + "DescribeSourceRegions": [ + { + "input": { + }, + "output": { + "SourceRegions": [ + { + "Endpoint": "https://rds.ap-northeast-1.amazonaws.com", + "RegionName": "ap-northeast-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.ap-northeast-2.amazonaws.com", + "RegionName": "ap-northeast-2", + "Status": "available" + }, + { + "Endpoint": "https://rds.ap-south-1.amazonaws.com", + "RegionName": "ap-south-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.ap-southeast-1.amazonaws.com", + "RegionName": "ap-southeast-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.ap-southeast-2.amazonaws.com", + "RegionName": "ap-southeast-2", + "Status": "available" + }, + { + "Endpoint": "https://rds.eu-central-1.amazonaws.com", + "RegionName": "eu-central-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.eu-west-1.amazonaws.com", + "RegionName": "eu-west-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.sa-east-1.amazonaws.com", + "RegionName": "sa-east-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.us-west-1.amazonaws.com", + "RegionName": "us-west-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.us-west-2.amazonaws.com", + "RegionName": "us-west-2", + "Status": "available" + } + ] + }, + "comments": { + }, + "description": "To list the AWS regions where a Read Replica can be created.", + "id": "to-describe-source-regions-1473457722410", + "title": "To describe source regions" + } + ], + "DownloadDBLogFilePortion": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "LogFileName": "mysqlUpgrade" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for the specified log file for the specified DB instance.", + "id": "download-db-log-file-portion-54a82731-a441-4fc7-a010-8eccae6fa202", + "title": "To list information about DB log files" + } + ], + "FailoverDBCluster": [ + { + "input": { + "DBClusterIdentifier": "myaurorainstance-cluster", + "TargetDBInstanceIdentifier": "myaurorareplica" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example performs a failover for the specified DB cluster to the specified DB instance.", + "id": "failover-db-cluster-9e7f2f93-d98c-42c7-bb0e-d6c485c096d6", + "title": "To perform a failover for a DB cluster" + } + ], + "ListTagsForResource": [ + { + "input": { + "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information about all tags associated with the specified DB option group.", + "id": "list-tags-for-resource-8401f3c2-77cd-4f90-bfd5-b523f0adcc2f", + "title": "To list information about tags associated with a resource" + } + ], + "ModifyDBCluster": [ + { + "input": { + "ApplyImmediately": true, + "DBClusterIdentifier": "mydbcluster", + "MasterUserPassword": "mynewpassword", + "NewDBClusterIdentifier": "mynewdbcluster", + "PreferredBackupWindow": "04:00-04:30", + "PreferredMaintenanceWindow": "Tue:05:00-Tue:05:30" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the specified settings for the specified DB cluster.", + "id": "modify-db-cluster-a370ee1b-768d-450a-853b-707cb1ab663d", + "title": "To change DB cluster settings" + } + ], + "ModifyDBClusterParameterGroup": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "Parameters": [ + { + "ApplyMethod": "immediate", + "ParameterName": "time_zone", + "ParameterValue": "America/Phoenix" + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example immediately changes the specified setting for the specified DB cluster parameter group.", + "id": "modify-db-cluster-parameter-group-f9156bc9-082a-442e-8d12-239542c1a113", + "title": "To change DB cluster parameter group settings" + } + ], + "ModifyDBClusterSnapshotAttribute": [ + { + "input": { + "AttributeName": "restore", + "DBClusterSnapshotIdentifier": "manual-cluster-snapshot1", + "ValuesToAdd": [ + "123451234512", + "123456789012" + ], + "ValuesToRemove": [ + "all" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gives two AWS accounts access to a manual DB cluster snapshot and ensures that the DB cluster snapshot is private by removing the value \"all\".", + "id": "to-add-or-remove-access-to-a-manual-db-cluster-snapshot-1473889426431", + "title": "To add or remove access to a manual DB cluster snapshot" + } + ], + "ModifyDBInstance": [ + { + "input": { + "AllocatedStorage": 10, + "ApplyImmediately": true, + "BackupRetentionPeriod": 1, + "DBInstanceClass": "db.t2.small", + "DBInstanceIdentifier": "mymysqlinstance", + "MasterUserPassword": "mynewpassword", + "PreferredBackupWindow": "04:00-04:30", + "PreferredMaintenanceWindow": "Tue:05:00-Tue:05:30" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example immediately changes the specified settings for the specified DB instance.", + "id": "modify-db-instance-6979a368-6254-467b-8a8d-61103f4fcde9", + "title": "To change DB instance settings" + } + ], + "ModifyDBParameterGroup": [ + { + "input": { + "DBParameterGroupName": "mymysqlparametergroup", + "Parameters": [ + { + "ApplyMethod": "immediate", + "ParameterName": "time_zone", + "ParameterValue": "America/Phoenix" + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example immediately changes the specified setting for the specified DB parameter group.", + "id": "modify-db-parameter-group-f3a4e52a-68e4-4b88-b559-f912d34c457a", + "title": "To change DB parameter group settings" + } + ], + "ModifyDBSnapshotAttribute": [ + { + "input": { + "AttributeName": "restore", + "DBSnapshotIdentifier": "mydbsnapshot", + "ValuesToAdd": [ + "all" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified attribute for the specified DB snapshot.", + "id": "modify-db-snapshot-attribute-2e66f120-2b21-4a7c-890b-4474da88bde6", + "title": "To change DB snapshot attributes" + } + ], + "ModifyDBSubnetGroup": [ + { + "input": { + "DBSubnetGroupName": "mydbsubnetgroup", + "SubnetIds": [ + "subnet-70e1975a", + "subnet-747a5c49" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the specified setting for the specified DB subnet group.", + "id": "modify-db-subnet-group-e34a97d9-8fe6-4239-a4ed-ad6e73a956b0", + "title": "To change DB subnet group settings" + } + ], + "ModifyEventSubscription": [ + { + "input": { + "Enabled": true, + "EventCategories": [ + "deletion", + "low storage" + ], + "SourceType": "db-instance", + "SubscriptionName": "mymysqleventsubscription" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the specified setting for the specified event notification subscription.", + "id": "modify-event-subscription-405ac869-1f02-42cd-b8f4-6950a435f30e", + "title": "To change event notification subscription settings" + } + ], + "ModifyOptionGroup": [ + { + "input": { + "ApplyImmediately": true, + "OptionGroupName": "myawsuser-og02", + "OptionsToInclude": [ + { + "DBSecurityGroupMemberships": [ + "default" + ], + "OptionName": "MEMCACHED" + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds an option to an option group.", + "id": "to-modify-an-option-group-1473890247875", + "title": "To modify an option group" + } + ], + "PromoteReadReplica": [ + { + "input": { + "BackupRetentionPeriod": 1, + "DBInstanceIdentifier": "mydbreadreplica", + "PreferredBackupWindow": "03:30-04:00" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example promotes the specified read replica and sets its backup retention period and preferred backup window.", + "id": "promote-read-replica-cc580039-c55d-4035-838a-def4a1ae4181", + "title": "To promote a read replica" + } + ], + "PurchaseReservedDBInstancesOffering": [ + { + "input": { + "ReservedDBInstanceId": "myreservationid", + "ReservedDBInstancesOfferingId": "fb29428a-646d-4390-850e-5fe89926e727" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example purchases a reserved DB instance offering that matches the specified settings.", + "id": "purchase-reserved-db-instances-offfering-f423c736-8413-429b-ba13-850fd4fa4dcd", + "title": "To purchase a reserved DB instance offering" + } + ], + "RebootDBInstance": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "ForceFailover": false + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example reboots the specified DB instance without forcing a failover.", + "id": "reboot-db-instance-b9ce8a0a-2920-451d-a1f3-01d288aa7366", + "title": "To reboot a DB instance" + } + ], + "RemoveSourceIdentifierFromSubscription": [ + { + "input": { + "SourceIdentifier": "mymysqlinstance", + "SubscriptionName": "myeventsubscription" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the specified source identifier from the specified DB event subscription.", + "id": "remove-source-identifier-from-subscription-30d25493-c19d-4cf7-b4e5-68371d0d8770", + "title": "To remove a source identifier from a DB event subscription" + } + ], + "RemoveTagsFromResource": [ + { + "input": { + "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mydboptiongroup", + "TagKeys": [ + "MyKey" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the specified tag associated with the specified DB option group.", + "id": "remove-tags-from-resource-49f00574-38f6-4d01-ac89-d3c668449ce3", + "title": "To remove tags from a resource" + } + ], + "ResetDBClusterParameterGroup": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "ResetAllParameters": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resets all parameters for the specified DB cluster parameter group to their default values.", + "id": "reset-db-cluster-parameter-group-b04aeaf7-7f73-49e1-9bb4-857573ea3ee4", + "title": "To reset the values of a DB cluster parameter group" + } + ], + "ResetDBParameterGroup": [ + { + "input": { + "DBParameterGroupName": "mydbparametergroup", + "ResetAllParameters": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resets all parameters for the specified DB parameter group to their default values.", + "id": "reset-db-parameter-group-ed2ed723-de0d-4824-8af5-3c65fa130abf", + "title": "To reset the values of a DB parameter group" + } + ], + "RestoreDBClusterFromSnapshot": [ + { + "input": { + "DBClusterIdentifier": "restored-cluster1", + "Engine": "aurora", + "SnapshotIdentifier": "sample-cluster-snapshot1" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example restores an Amazon Aurora DB cluster from a DB cluster snapshot.", + "id": "to-restore-an-amazon-aurora-db-cluster-from-a-db-cluster-snapshot-1473958144325", + "title": "To restore an Amazon Aurora DB cluster from a DB cluster snapshot" + } + ], + "RestoreDBClusterToPointInTime": [ + { + "input": { + "DBClusterIdentifier": "sample-restored-cluster1", + "RestoreToTime": "2016-09-13T18:45:00Z", + "SourceDBClusterIdentifier": "sample-cluster1" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example restores a DB cluster to a new DB cluster at a point in time from the source DB cluster.", + "id": "to-restore-a-db-cluster-to-a-point-in-time-1473962082214", + "title": "To restore a DB cluster to a point in time." + } + ], + "RevokeDBSecurityGroupIngress": [ + { + "input": { + "CIDRIP": "203.0.113.5/32", + "DBSecurityGroupName": "mydbsecuritygroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example revokes ingress for the specified CIDR block associated with the specified DB security group.", + "id": "revoke-db-security-group-ingress-ce5b2c1c-bd4e-4809-b04a-6d78ec448813", + "title": "To revoke ingress for a DB security group" + } + ] + } +} diff --git a/botocore/data/rds/2014-10-31/service-2.json b/botocore/data/rds/2014-10-31/service-2.json old mode 100755 new mode 100644 index eac78425..ccb180e5 --- a/botocore/data/rds/2014-10-31/service-2.json +++ b/botocore/data/rds/2014-10-31/service-2.json @@ -129,7 +129,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

" + "documentation":"

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another AWS region. In that case, the region where you call the CopyDBClusterSnapshot action is the destination region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot action to be called in the source region where the DB cluster snapshot will be copied from. The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source region that contains the encrypted DB cluster snapshot to be copied.

    The pre-signed URL request must contain the following parameter values:

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination region, and the action contained in the pre-signed URL.

    • DestinationRegion - The name of the region that the DB cluster snapshot will be created in.

    • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination region.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

For more information on copying encrypted DB cluster snapshots from one region to another, see Copying a DB Cluster Snapshot in the Same Account, Either in the Same Region or Across Regions in the Amazon RDS User Guide.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

" }, "CopyDBParameterGroup":{ "name":"CopyDBParameterGroup", @@ -167,7 +167,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Copies the specified DB snapshot. The source DB snapshot must be in the \"available\" state.

To copy a DB snapshot from a shared manual DB snapshot, SourceDBSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB snapshot.

You can copy an encrypted DB snapshot from another AWS Region. In that case, the region where you call the CopyDBSnapshot action is the destination region for the encrypted DB snapshot to be copied to. To copy an encrypted DB snapshot from another region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (KMS) key identifier for the key to use to encrypt the copy of the DB snapshot in the destination region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBSnapshot action to be called in the source region where the DB snapshot will be copied from. The presigned URL must be a valid request for the CopyDBSnapshot API action that can be executed in the source region that contains the encrypted DB snapshot to be copied.

    The presigned URL request must contain the following parameter values:

    • DestinationRegion - The AWS Region that the encrypted DB snapshot will be copied to. This region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.

      For example, if you copy an encrypted DB snapshot from the us-west-2 region to the us-east-1 region, then you will call the CopyDBSnapshot action in the us-east-1 region and provide a presigned URL that contains a call to the CopyDBSnapshot action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination region. This identifier is the same for both the CopyDBSnapshot action that is called in the destination region, and the action contained in the presigned URL.

    • SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you copy an encrypted DB snapshot from the us-west-2 region, then your SourceDBSnapshotIdentifier looks like this example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • TargetDBSnapshotIdentifier - The identifier for the new copy of the DB snapshot in the destination region.

  • SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the ARN format for the source region and is the same value as the SourceDBSnapshotIdentifier in the presigned URL.

For more information on copying encrypted snapshots from one region to another, see Copying an Encrypted DB Snapshot to Another Region in the Amazon RDS User Guide.

" + "documentation":"

Copies the specified DB snapshot. The source DB snapshot must be in the \"available\" state.

You can copy a snapshot from one AWS region to another. In that case, the region where you call the CopyDBSnapshot action is the destination region for the DB snapshot copy.

You cannot copy an encrypted, shared DB snapshot from one AWS region to another.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

" }, "CopyOptionGroup":{ "name":"CopyOptionGroup", @@ -215,7 +215,7 @@ {"shape":"DBInstanceNotFoundFault"}, {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"} ], - "documentation":"

Creates a new Amazon Aurora DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

" + "documentation":"

Creates a new Amazon Aurora DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

" }, "CreateDBClusterParameterGroup":{ "name":"CreateDBClusterParameterGroup", @@ -318,7 +318,7 @@ {"shape":"StorageTypeNotSupportedFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Creates a DB instance for a DB instance running MySQL, MariaDB, or PostgreSQL that acts as a Read Replica of a source DB instance.

All Read Replica DB instances are created as Single-AZ deployments with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified below.

The source DB instance must have backup retention enabled.

You can create an encrypted Read Replica in a different AWS Region than the source DB instance. In that case, the region where you call the CreateDBInstanceReadReplica action is the destination region of the encrypted Read Replica. The source DB instance must be encrypted.

To create an encrypted Read Replica in another AWS Region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (KMS) key identifier for the key to use to encrypt the Read Replica in the destination region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the AWS region that contains the source DB instance. The PreSignedUrl parameter must be used when encrypting a Read Replica from another AWS region.

    The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source region that contains the encrypted DB instance. The presigned URL request must contain the following parameter values:

    • DestinationRegion - The AWS Region that the Read Replica is created in. This region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

      For example, if you create an encrypted Read Replica in the us-east-1 region, and the source DB instance is in the west-2 region, then you call the CreateDBInstanceReadReplica action in the us-east-1 region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the Read Replica in the destination region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination region, and the action contained in the presigned URL.

    • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted Read Replica to be created. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you create an encrypted Read Replica from a DB instance in the us-west-2 region, then your SourceDBInstanceIdentifier would look like this example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-instance-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • DBInstanceIdentifier - The identifier for the encrypted Read Replica in the destination region.

  • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted Read Replica. This identifier must be in the ARN format for the source region and is the same value as the SourceDBInstanceIdentifier in the presigned URL.

" + "documentation":"

Creates a DB instance for a DB instance running MySQL, MariaDB, or PostgreSQL that acts as a Read Replica of a source DB instance.

Amazon Aurora does not support this action. You must call the CreateDBInstance action to create a DB instance for an Aurora DB cluster.

All Read Replica DB instances are created as Single-AZ deployments with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified below.

The source DB instance must have backup retention enabled.

You can create an encrypted Read Replica in a different AWS Region than the source DB instance. In that case, the region where you call the CreateDBInstanceReadReplica action is the destination region of the encrypted Read Replica. The source DB instance must be encrypted.

To create an encrypted Read Replica in another AWS Region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (KMS) key identifier for the key to use to encrypt the Read Replica in the destination region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the AWS region that contains the source DB instance. The PreSignedUrl parameter must be used when encrypting a Read Replica from another AWS region.

    The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source region that contains the encrypted DB instance. The presigned URL request must contain the following parameter values:

    • DestinationRegion - The AWS Region that the Read Replica is created in. This region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

      For example, if you create an encrypted Read Replica in the us-east-1 region, and the source DB instance is in the west-2 region, then you call the CreateDBInstanceReadReplica action in the us-east-1 region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the Read Replica in the destination region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination region, and the action contained in the presigned URL.

    • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted Read Replica to be created. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you create an encrypted Read Replica from a DB instance in the us-west-2 region, then your SourceDBInstanceIdentifier would look like this example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-instance-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • DBInstanceIdentifier - The identifier for the encrypted Read Replica in the destination region.

  • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted Read Replica. This identifier must be in the ARN format for the source region and is the same value as the SourceDBInstanceIdentifier in the presigned URL.

" }, "CreateDBParameterGroup":{ "name":"CreateDBParameterGroup", @@ -1123,7 +1123,7 @@ {"shape":"InvalidDBClusterSnapshotStateFault"}, {"shape":"SharedSnapshotQuotaExceededFault"} ], - "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts.

To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

If a manual DB cluster snapshot is encrypted, it cannot be shared.

" + "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

" }, "ModifyDBInstance":{ "name":"ModifyDBInstance", @@ -1205,7 +1205,7 @@ {"shape":"InvalidDBSnapshotStateFault"}, {"shape":"SharedSnapshotQuotaExceededFault"} ], - "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot.

To share a manual DB snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB snapshot. Uses the value all to make the manual DB snapshot public, which means it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts.

To view which AWS accounts have access to copy or restore a manual DB snapshot, or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes API action.

If the manual DB snapshot is encrypted, it cannot be shared.

" + "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot.

To share a manual DB snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB snapshot. Uses the value all to make the manual DB snapshot public, which means it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts. If the manual DB snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB snapshot, or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes API action.

" }, "ModifyDBSubnetGroup":{ "name":"ModifyDBSubnetGroup", @@ -1411,7 +1411,7 @@ {"shape":"InvalidDBParameterGroupStateFault"}, {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request.

" + "documentation":"

Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request.

" }, "RestoreDBClusterFromS3":{ "name":"RestoreDBClusterFromS3", @@ -1439,7 +1439,7 @@ {"shape":"DBClusterNotFoundFault"}, {"shape":"InsufficientStorageClusterCapacityFault"} ], - "documentation":"

Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data from MySQL by Using an Amazon S3 Bucket.

" + "documentation":"

Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data from MySQL by Using an Amazon S3 Bucket.

" }, "RestoreDBClusterFromSnapshot":{ "name":"RestoreDBClusterFromSnapshot", @@ -1486,24 +1486,23 @@ }, "errors":[ {"shape":"DBClusterAlreadyExistsFault"}, - {"shape":"DBClusterQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterQuotaExceededFault"}, {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"InsufficientDBClusterCapacityFault"}, {"shape":"InsufficientStorageClusterCapacityFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBSnapshotStateFault"}, {"shape":"InvalidRestoreFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"OptionGroupNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"} + {"shape":"StorageQuotaExceededFault"} ], - "documentation":"

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

" + "documentation":"

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

" }, "RestoreDBInstanceFromDBSnapshot":{ "name":"RestoreDBInstanceFromDBSnapshot", @@ -1589,6 +1588,52 @@ {"shape":"InvalidDBSecurityGroupStateFault"} ], "documentation":"

Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC Security Groups. Required parameters for this API are one of CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId).

" + }, + "StartDBInstance":{ + "name":"StartDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDBInstanceMessage"}, + "output":{ + "shape":"StartDBInstanceResult", + "resultWrapper":"StartDBInstanceResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"InsufficientDBInstanceCapacityFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

Starts a DB instance that was stopped using the AWS console, the stop-db-instance AWS CLI command, or the StopDBInstance action. For more information, see Stopping and Starting a DB instance in the AWS RDS user guide.

" + }, + "StopDBInstance":{ + "name":"StopDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDBInstanceMessage"}, + "output":{ + "shape":"StopDBInstanceResult", + "resultWrapper":"StopDBInstanceResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBSnapshotAlreadyExistsFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterStateFault"} + ], + "documentation":"

Stops a DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata, including its endpoint, DB parameter group, and option group membership. Amazon RDS also retains the transaction logs so you can do a point-in-time restore if necessary. For more information, see Stopping and Starting a DB instance in the AWS RDS user guide.

" } }, "shapes":{ @@ -1942,12 +1987,24 @@ "members":{ "SourceDBClusterSnapshotIdentifier":{ "shape":"String", - "documentation":"

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot1

" + "documentation":"

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

You cannot copy an encrypted, shared DB cluster snapshot from one AWS region to another.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different region than the copy, specify a valid DB cluster snapshot ARN. For more information, go to Copying a DB Snapshot or DB Cluster Snapshot.

Example: my-cluster-snapshot1

" }, "TargetDBClusterSnapshotIdentifier":{ "shape":"String", "documentation":"

The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is not case-sensitive.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot2

" }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, Amazon RDS encrypts the target DB cluster snapshot using the specified KMS encryption key.

If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot.

If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

To copy an encrypted DB cluster snapshot to another region, you must set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB cluster snapshot in the destination region. KMS encryption keys are specific to the region that they are created in, and you cannot use encryption keys from one region in another region.

" + }, + "PreSignedUrl":{ + "shape":"String", + "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS region that contains the source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another AWS region.

The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the region that the DB cluster snapshot will be created in.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + }, + "CopyTags":{ + "shape":"BooleanOptional", + "documentation":"

True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot; otherwise false. The default is false.

" + }, "Tags":{"shape":"TagList"} }, "documentation":"

" @@ -1997,15 +2054,15 @@ "members":{ "SourceDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

The identifier for the source DB snapshot.

If you are copying from a shared manual DB snapshot, this must be the ARN of the shared DB snapshot.

You cannot copy an encrypted, shared DB snapshot from one AWS region to another.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different region than the copy, specify a valid DB snapshot ARN. For more information, go to Copying a DB Snapshot.

Example: rds:mydb-2012-04-02-00-01

Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

" + "documentation":"

The identifier for the source DB snapshot.

If the source snapshot is in the same region as the copy, specify a valid DB snapshot identifier. For example, rds:mysql-instance1-snapshot-20130805.

If the source snapshot is in a different region than the copy, specify a valid DB snapshot ARN. For example, arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.

If you are copying from a shared manual DB snapshot, this parameter must be the Amazon Resource Name (ARN) of the shared DB snapshot.

If you are copying an encrypted snapshot this parameter must be in the ARN format for the source region, and must match the SourceDBSnapshotIdentifier in the PreSignedUrl parameter.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

Example: rds:mydb-2012-04-02-00-01

Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

" }, "TargetDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

The identifier for the copied snapshot.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-db-snapshot

" + "documentation":"

The identifier for the copy of the snapshot.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-db-snapshot

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an unencrypted DB snapshot and specify a value for the KmsKeyId parameter, Amazon RDS encrypts the target DB snapshot using the specified KMS encryption key.

If you copy an encrypted DB snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.

If you copy an encrypted snapshot to a different AWS region, then you must specify a KMS key for the destination AWS region.

If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

To copy an encrypted DB snapshot to another region, you must set KmsKeyId to the KMS key ID used to encrypt the copy of the DB snapshot in the destination region. KMS encryption keys are specific to the region that they are created in, and you cannot use encryption keys from one region in another region.

" + "documentation":"

The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an encrypted DB snapshot from your AWS account, you can specify a value for this parameter to encrypt the copy with a new KMS encryption key. If you don't specify a value for this parameter, then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.

If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for this parameter.

If you specify this parameter when you copy an unencrypted snapshot, the copy is encrypted.

If you copy an encrypted snapshot to a different AWS region, then you must specify a KMS key for the destination AWS region. KMS encryption keys are specific to the region that they are created in, and you cannot use encryption keys from one region in another region.

" }, "Tags":{"shape":"TagList"}, "CopyTags":{ @@ -2014,7 +2071,11 @@ }, "PreSignedUrl":{ "shape":"String", - "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot API action in the AWS region that contains the source DB snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB snapshot from another AWS region.

The presigned URL must be a valid request for the CopyDBSnapshot API action that can be executed in the source region that contains the encrypted DB snapshot to be copied. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted DB snapshot will be copied to. This region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.

    For example, if you copy an encrypted DB snapshot from the us-west-2 region to the us-east-1 region, then you will call the CopyDBSnapshot action in the us-east-1 region and provide a presigned URL that contains a call to the CopyDBSnapshot action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination region. This is the same identifier for both the CopyDBSnapshot action that is called in the destination region, and the action contained in the presigned URL.

  • SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are copying an encrypted DB snapshot from the us-west-2 region, then your SourceDBSnapshotIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot API action in the source AWS region that contains the source DB snapshot to copy.

You must specify this parameter when you copy an encrypted DB snapshot from another AWS region by using the Amazon RDS API. You can specify the source region option instead of this parameter when you copy an encrypted DB snapshot from another AWS region by using the AWS CLI.

The presigned URL must be a valid request for the CopyDBSnapshot API action that can be executed in the source region that contains the encrypted DB snapshot to be copied. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted DB snapshot will be copied to. This region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.

    For example, if you copy an encrypted DB snapshot from the us-west-2 region to the us-east-1 region, then you will call the CopyDBSnapshot action in the us-east-1 region and provide a presigned URL that contains a call to the CopyDBSnapshot action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination region. This is the same identifier for both the CopyDBSnapshot action that is called in the destination region, and the action contained in the presigned URL.

  • SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are copying an encrypted DB snapshot from the us-west-2 region, then your SourceDBSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

The name of an option group to associate with the copy.

Specify this option if you are copying a snapshot from one AWS region to another, and your DB instance uses a non-default option group. If your source DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL Server, you must specify this option when copying across regions. For more information, see Option Group Considerations.

" } }, "documentation":"

" @@ -2076,7 +2137,7 @@ }, "DatabaseName":{ "shape":"String", - "documentation":"

The name for your database of up to 8 alpha-numeric characters. If you do not provide a name, Amazon RDS will not create a database in the DB cluster you are creating.

" + "documentation":"

The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon RDS will not create a database in the DB cluster you are creating.

" }, "DBClusterIdentifier":{ "shape":"String", @@ -2137,7 +2198,15 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

The KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" + "documentation":"

The KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

If you create a Read Replica of an encrypted DB cluster in another region, you must set KmsKeyId to a KMS key ID that is valid in the destination region. This key is used to encrypt the Read Replica in that region.

" + }, + "PreSignedUrl":{ + "shape":"String", + "documentation":"

A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source region where the DB cluster will be replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the region that Aurora Read Replica will be created in.

  • ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are copying an encrypted DB cluster from the us-west-2 region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" } }, "documentation":"

" @@ -2216,7 +2285,7 @@ "members":{ "DBName":{ "shape":"String", - "documentation":"

The meaning of this parameter differs according to the database engine you use.

Type: String

MySQL

The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 alphanumeric characters

  • Cannot be a word reserved by the specified database engine

MariaDB

The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 alphanumeric characters

  • Cannot be a word reserved by the specified database engine

PostgreSQL

The name of the database to create when the DB instance is created. If this parameter is not specified, the default \"postgres\" database is created in the DB instance.

Constraints:

  • Must contain 1 to 63 alphanumeric characters

  • Must begin with a letter or an underscore. Subsequent characters can be letters, underscores, or digits (0-9).

  • Cannot be a word reserved by the specified database engine

Oracle

The Oracle System ID (SID) of the created DB instance.

Default: ORCL

Constraints:

  • Cannot be longer than 8 characters

SQL Server

Not applicable. Must be null.

Amazon Aurora

The name of the database to create when the primary instance of the DB cluster is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 alphanumeric characters

  • Cannot be a word reserved by the specified database engine

" + "documentation":"

The meaning of this parameter differs according to the database engine you use.

Type: String

MySQL

The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 alphanumeric characters

  • Cannot be a word reserved by the specified database engine

MariaDB

The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 alphanumeric characters

  • Cannot be a word reserved by the specified database engine

PostgreSQL

The name of the database to create when the DB instance is created. If this parameter is not specified, the default \"postgres\" database is created in the DB instance.

Constraints:

  • Must contain 1 to 63 alphanumeric characters

  • Must begin with a letter or an underscore. Subsequent characters can be letters, underscores, or digits (0-9).

  • Cannot be a word reserved by the specified database engine

Oracle

The Oracle System ID (SID) of the created DB instance. If you specify null, the default value ORCL is used. You can't specify the string NULL, or any other reserved word, for DBName.

Default: ORCL

Constraints:

  • Cannot be longer than 8 characters

SQL Server

Not applicable. Must be null.

Amazon Aurora

The name of the database to create when the primary instance of the DB cluster is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 alphanumeric characters

  • Cannot be a word reserved by the specified database engine

" }, "DBInstanceIdentifier":{ "shape":"String", @@ -2224,7 +2293,7 @@ }, "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

The amount of storage (in gigabytes) to be initially allocated for the database instance.

Type: Integer

MySQL

Constraints: Must be an integer from 5 to 6144.

MariaDB

Constraints: Must be an integer from 5 to 6144.

PostgreSQL

Constraints: Must be an integer from 5 to 6144.

Oracle

Constraints: Must be an integer from 10 to 6144.

SQL Server

Constraints: Must be an integer from 200 to 4096 (Standard Edition and Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)

" + "documentation":"

The amount of storage (in gigabytes) to be initially allocated for the database instance.

Type: Integer

Amazon Aurora

Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.

MySQL

Constraints: Must be an integer from 5 to 6144.

MariaDB

Constraints: Must be an integer from 5 to 6144.

PostgreSQL

Constraints: Must be an integer from 5 to 6144.

Oracle

Constraints: Must be an integer from 10 to 6144.

SQL Server

Constraints: Must be an integer from 200 to 4096 (Standard Edition and Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)

" }, "DBInstanceClass":{ "shape":"String", @@ -2232,15 +2301,15 @@ }, "Engine":{ "shape":"String", - "documentation":"

The name of the database engine to be used for this instance.

Valid Values: mysql | mariadb | oracle-se1 | oracle-se2 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web | postgres | aurora

Not every database engine is available for every AWS region.

" + "documentation":"

The name of the database engine to be used for this instance.

Not every database engine is available for every AWS region.

Valid Values:

  • aurora

  • mariadb

  • mysql

  • oracle-ee

  • oracle-se2

  • oracle-se1

  • oracle-se

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

" }, "MasterUsername":{ "shape":"String", - "documentation":"

The name of master user for the client DB instance.

MySQL

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

MariaDB

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • Cannot be a reserved word for the chosen database engine.

Type: String

Oracle

Constraints:

  • Must be 1 to 30 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

SQL Server

Constraints:

  • Must be 1 to 128 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

PostgreSQL

Constraints:

  • Must be 1 to 63 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

" + "documentation":"

The name for the master database user.

Amazon Aurora

Not applicable. You specify the name for the master database user when you create your DB cluster.

MariaDB

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • Cannot be a reserved word for the chosen database engine.

Microsoft SQL Server

Constraints:

  • Must be 1 to 128 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

MySQL

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

Oracle

Constraints:

  • Must be 1 to 30 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

PostgreSQL

Constraints:

  • Must be 1 to 63 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

" }, "MasterUserPassword":{ "shape":"String", - "documentation":"

The password for the master database user. Can be any printable ASCII character except \"/\", \"\"\", or \"@\".

Type: String

MySQL

Constraints: Must contain from 8 to 41 characters.

MariaDB

Constraints: Must contain from 8 to 41 characters.

Oracle

Constraints: Must contain from 8 to 30 characters.

SQL Server

Constraints: Must contain from 8 to 128 characters.

PostgreSQL

Constraints: Must contain from 8 to 128 characters.

Amazon Aurora

Constraints: Must contain from 8 to 41 characters.

" + "documentation":"

The password for the master database user. Can be any printable ASCII character except \"/\", \"\"\", or \"@\".

Amazon Aurora

Not applicable. You specify the password for the master database user when you create your DB cluster.

MariaDB

Constraints: Must contain from 8 to 41 characters.

Microsoft SQL Server

Constraints: Must contain from 8 to 128 characters.

MySQL

Constraints: Must contain from 8 to 41 characters.

Oracle

Constraints: Must contain from 8 to 30 characters.

PostgreSQL

Constraints: Must contain from 8 to 128 characters.

" }, "DBSecurityGroups":{ "shape":"DBSecurityGroupNameList", @@ -2272,7 +2341,7 @@ }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see DB Instance Backups.

Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see DB Instance Backups.

Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred DB Instance Maintenance Window.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" }, "Port":{ "shape":"IntegerOptional", @@ -2284,7 +2353,7 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

The version number of the database engine to use.

The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS region.

Amazon Aurora

  • Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-2, eu-west-1, us-east-1, us-east-2, us-west-2): 5.6.10a

MariaDB

  • Version 10.1 (available in these AWS regions: us-east-2): 10.1.16

  • Version 10.1 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 10.1.14

  • Version 10.0 (available in all AWS regions): 10.0.24

  • Version 10.0 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 10.0.17

Microsoft SQL Server 2016

  • 13.00.2164.0.v1 (supported for all editions, and all AWS regions except sa-east-1)

Microsoft SQL Server 2014

  • 12.00.5000.0.v1 (supported for all editions, and all AWS regions)

  • 12.00.4422.0.v1 (supported for all editions except Enterprise Edition, and all AWS regions except us-east-2)

Microsoft SQL Server 2012

  • 11.00.6020.0.v1 (supported for all editions, and all AWS regions)

  • 11.00.5058.0.v1 (supported for all editions, and all AWS regions except us-east-2)

  • 11.00.2100.60.v1 (supported for all editions, and all AWS regions except us-east-2)

Microsoft SQL Server 2008 R2

  • 10.50.6529.0.v1 (supported for all editions, and all AWS regions except us-east-2)

  • 10.50.6000.34.v1 (supported for all editions, and all AWS regions except us-east-2)

  • 10.50.2789.0.v1 (supported for all editions, and all AWS regions except us-east-2)

MySQL

  • Version 5.7 (available in all AWS regions): 5.7.11

  • Version 5.7 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 5.7.10

  • Version 5.6 (available in all AWS regions): 5.6.29

  • Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 5.6.27

  • Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 5.6.23

  • Version 5.6 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22

  • Version 5.5 (available in all AWS regions): 5.5.46

  • Version 5.1 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 5.1.73a | 5.1.73b

Oracle Database Enterprise Edition (oracle-ee)

  • Version 12.1 (available in all AWS regions except ap-south-1, ap-northeast-2): 12.1.0.1.v1 | 12.1.0.1.v2

  • Version 12.1 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5

  • Version 12.1 (available in all AWS regions): 12.1.0.2.v1

  • Version 12.1 (available in all AWS regions except us-gov-west-1): 12.1.0.2.v2 | 12.1.0.2.v3 | 12.1.0.2.v4

  • Version 11.2 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7

  • Version 11.2 (available in all AWS regions except ap-south-1, ap-northeast-2): 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3

  • Version 11.2 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 11.2.0.3.v4

  • Version 11.2 (available in all AWS regions): 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4

  • Version 11.2 (available in all AWS regions except us-gov-west-1): 11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7 | 11.2.0.4.v8

Oracle Database Standard Edition (oracle-se)

  • Version 12.1 (available in all AWS regions except ap-south-1, ap-northeast-2): 12.1.0.1.v1 | 12.1.0.1.v2

  • Version 12.1 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5

  • Version 11.2 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7

  • Version 11.2 (available in all AWS regions except ap-south-1, ap-northeast-2): 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3

  • Version 11.2 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 11.2.0.3.v4

  • Version 11.2 (available in all AWS regions): 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4

  • Version 11.2 (available in all AWS regions except us-gov-west-1): 11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7 | 11.2.0.4.v8

Oracle Database Standard Edition One (oracle-se1)

  • Version 12.1 (available in all AWS regions except ap-south-1, ap-northeast-2): 12.1.0.1.v1 | 12.1.0.1.v2

  • Version 12.1 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5

  • Version 11.2 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7

  • Version 11.2 (available in all AWS regions except ap-south-1, ap-northeast-2): 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3

  • Version 11.2 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 11.2.0.3.v4

  • Version 11.2 (available in all AWS regions): 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4

  • Version 11.2 (available in all AWS regions except us-gov-west-1): 11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7 | 11.2.0.4.v8

Oracle Database Standard Edition Two (oracle-se2)

  • Version 12.1 (available in all AWS regions except us-gov-west-1): 12.1.0.2.v2 | 12.1.0.2.v3 | 12.1.0.2.v4

PostgreSQL

  • Version 9.6: 9.6.1

  • Version 9.5: 9.5.4 | 9.5.2

  • Version 9.4: 9.4.9 | 9.4.7 | 9.4.5 | 9.4.4 | 9.4.1

  • Version 9.3: 9.3.14 | 9.3.12 | 9.3.10 | 9.3.9 | 9.3.6 | 9.3.5 | 9.3.3 | 9.3.2 | 9.3.1

Oracle 12c

  • 12.1.0.2.v6 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v5 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v4 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v3 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v2 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v1 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.1.v6 (supported for EE, SE1, and SE, in all AWS regions except ap-south-1, ap-northeast-2)

  • 12.1.0.1.v5 (supported for EE, SE1, and SE, in all AWS regions except ap-south-1, ap-northeast-2)

  • 12.1.0.1.v4 (supported for EE, SE1, and SE, in all AWS regions except ap-south-1, ap-northeast-2)

  • 12.1.0.1.v3 (supported for EE, SE1, and SE, in all AWS regions except ap-south-1, ap-northeast-2)

  • 12.1.0.1.v2 (supported for EE, SE1, and SE, in all AWS regions except ap-south-1, ap-northeast-2)

  • 12.1.0.1.v1 (supported for EE, SE1, and SE, in all AWS regions except ap-south-1, ap-northeast-2)

Oracle 11g

  • 11.2.0.4.v10 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v9 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v8 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v7 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v6 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v5 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v4 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v3 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v1 (supported for EE, SE1, and SE, in all AWS regions)

PostgreSQL

  • Version 9.5 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 9.5.4

  • Version 9.5 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2): 9.5.2

  • Version 9.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 9.4.9

  • Version 9.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2): 9.4.7

  • Version 9.4 (available in all AWS regions): 9.4.5

  • Version 9.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 9.4.4

  • Version 9.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-east-2, us-gov-west-1, us-west-1, us-west-2): 9.4.1

  • Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9

  • Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 9.3.1 | 9.3.2

  • Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 9.3.12 | 9.3.14

" + "documentation":"

The version number of the database engine to use.

The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS region.

Amazon Aurora

  • Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-2, eu-west-1, us-east-1, us-east-2, us-west-2): 5.6.10a

MariaDB

  • 10.1.19 (supported in all AWS regions)

  • 10.1.14 (supported in all regions except us-east-2)

  • 10.0.28 (supported in all AWS regions)

  • 10.0.24 (supported in all AWS regions)

  • 10.0.17 (supported in all regions except us-east-2, ca-central-1, eu-west-2)

Microsoft SQL Server 2016

  • 13.00.4422.0.v1 (supported for all editions, and all AWS regions)

  • 13.00.2164.0.v1 (supported for all editions, and all AWS regions)

Microsoft SQL Server 2014

  • 12.00.5546.0.v1 (supported for all editions, and all AWS regions)

  • 12.00.5000.0.v1 (supported for all editions, and all AWS regions)

  • 12.00.4422.0.v1 (supported for all editions except Enterprise Edition, and all AWS regions except ca-central-1 and eu-west-2)

Microsoft SQL Server 2012

  • 11.00.6594.0.v1 (supported for all editions, and all AWS regions)

  • 11.00.6020.0.v1 (supported for all editions, and all AWS regions)

  • 11.00.5058.0.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

  • 11.00.2100.60.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

Microsoft SQL Server 2008 R2

  • 10.50.6529.0.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

  • 10.50.6000.34.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

  • 10.50.2789.0.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

MySQL

  • 5.7.17 (supported in all AWS regions)

  • 5.7.16 (supported in all AWS regions)

  • 5.7.11 (supported in all AWS regions)

  • 5.7.10 (supported in all regions except us-east-2, ca-central-1, eu-west-2)

  • 5.6.35 (supported in all AWS regions)

  • 5.6.34 (supported in all AWS regions)

  • 5.6.29 (supported in all AWS regions)

  • 5.6.27 (supported in all regions except us-east-2, ca-central-1, eu-west-2)

  • 5.6.23 (supported in all regions except us-east-2, ap-south-1, ca-central-1, eu-west-2)

  • 5.6.22 (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, ca-central-1, eu-west-2)

  • 5.6.21b (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, ca-central-1, eu-west-2)

  • 5.6.21 (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, ca-central-1, eu-west-2)

  • 5.6.19b (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, ca-central-1, eu-west-2)

  • 5.6.19a (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, ca-central-1, eu-west-2)

  • 5.5.54 (supported in all AWS regions)

  • 5.5.53 (supported in all AWS regions)

  • 5.5.46 (supported in all AWS regions)

Oracle 12c

  • 12.1.0.2.v8 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v7 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v6 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v5 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v4 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v3 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v2 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v1 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

Oracle 11g

  • 11.2.0.4.v12 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v11 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v10 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v9 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v8 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v7 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v6 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v5 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v4 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v3 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v1 (supported for EE, SE1, and SE, in all AWS regions)

PostgreSQL

  • Version 9.6.x: 9.6.1 | 9.6.2

  • Version 9.5.x: 9.5.6 | 9.5.4 | 9.5.2

  • Version 9.4.x: 9.4.11 | 9.4.9 | 9.4.7

  • Version 9.3.x: 9.3.16 | 9.3.14 | 9.3.12

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -2349,7 +2418,7 @@ }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to Setting Up and Enabling Enhanced Monitoring.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" }, "DomainIAMRoleName":{ "shape":"String", @@ -2362,6 +2431,10 @@ "Timezone":{ "shape":"String", "documentation":"

The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

You can enable IAM database authentication for the following database engines:

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

" } }, "documentation":"

" @@ -2437,6 +2510,10 @@ "PreSignedUrl":{ "shape":"String", "documentation":"

The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the AWS region that contains the source DB instance. The PreSignedUrl parameter must be used when encrypting a Read Replica from another AWS region.

The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source region that contains the encrypted DB instance. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the Read Replica is created in. This region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

    For example, if you create an encrypted Read Replica in the us-east-1 region, and the source DB instance is in the west-2 region, then you call the CreateDBInstanceReadReplica action in the us-east-1 region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the Read Replica in the destination region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination region, and the action contained in the presigned URL.

  • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted Read Replica to be created. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you create an encrypted Read Replica from a DB instance in the us-west-2 region, then your SourceDBInstanceIdentifier would look like this example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-instance-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

  • Aurora 5.6 or higher.

Default: false

" } } }, @@ -2643,7 +2720,7 @@ "members":{ "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

Specifies the allocated storage size in gigabytes (GB).

" + "documentation":"

For all database engines except Amazon Aurora, AllocatedStorage specifies the allocated storage size in gigabytes (GB). For Aurora, AllocatedStorage always returns 1, because Aurora DB cluster storage size is not fixed, but instead automatically adjusts as needed.

" }, "AvailabilityZones":{ "shape":"AvailabilityZones", @@ -2691,7 +2768,7 @@ }, "ReaderEndpoint":{ "shape":"String", - "documentation":"

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.

If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection will be dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then recoonect to the reader endpoint.

" + "documentation":"

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.

If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection will be dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint.

" }, "MultiAZ":{ "shape":"Boolean", @@ -2769,6 +2846,14 @@ "shape":"DBClusterRoles", "documentation":"

Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.

" }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled; otherwise false.

" + }, + "CloneGroupId":{ + "shape":"String", + "documentation":"

Identifies the clone group to which the DB cluster is associated.

" + }, "ClusterCreateTime":{ "shape":"TStamp", "documentation":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

" @@ -3096,6 +3181,14 @@ "DBClusterSnapshotArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) for the DB cluster snapshot.

" + }, + "SourceDBClusterSnapshotArn":{ + "shape":"String", + "documentation":"

If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon Resource Name (ARN) for the source DB cluster snapshot; otherwise, a null value.

" + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled; otherwise false.

" } }, "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", @@ -3270,7 +3363,7 @@ }, "DBName":{ "shape":"String", - "documentation":"

The meaning of this parameter differs according to the database engine you use. For example, this value returns MySQL, MariaDB, or PostgreSQL information when returning values from CreateDBInstanceReadReplica since Read Replicas are only supported for these engines.

MySQL, MariaDB, SQL Server, PostgreSQL, Amazon Aurora

Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

Type: String

Oracle

Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

" + "documentation":"

The meaning of this parameter differs according to the database engine you use. For example, this value returns MySQL, MariaDB, or PostgreSQL information when returning values from CreateDBInstanceReadReplica since Read Replicas are only supported for these engines.

MySQL, MariaDB, SQL Server, PostgreSQL

Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

Type: String

Oracle

Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

" }, "Endpoint":{ "shape":"Endpoint", @@ -3439,9 +3532,13 @@ "Timezone":{ "shape":"String", "documentation":"

The time zone of the DB instance. In most cases, the Timezone element is empty. Timezone content appears only for Microsoft SQL Server DB instances that were created with a time zone specified.

" + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled; otherwise false.

IAM database authentication can be enabled for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

  • Aurora 5.6 or higher. To enable IAM database authentication for Aurora, see DBCluster Type.

" } }, - "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBInstances action.

", + "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBInstances action.

", "wrapper":true }, "DBInstanceAlreadyExistsFault":{ @@ -3889,6 +3986,10 @@ "Timezone":{ "shape":"String", "documentation":"

The time zone of the DB snapshot. In most cases, the Timezone element is empty. Timezone content appears only for snapshots taken from Microsoft SQL Server DB instances that were created with a time zone specified.

" + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled; otherwise false.

" } }, "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBSnapshots action.

", @@ -5556,7 +5657,7 @@ "type":"structure", "members":{ }, - "documentation":"

The DB parameter group cannot be deleted because it is in use.

", + "documentation":"

The DB parameter group is in use or is in an invalid state. If you are attempting to delete the parameter group, you cannot delete it when the parameter group is in this state.

", "error":{ "code":"InvalidDBParameterGroupState", "httpStatusCode":400, @@ -5754,7 +5855,7 @@ }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

A lst of VPC security groups that the DB cluster will belong to.

" + "documentation":"

A list of VPC security groups that the DB cluster will belong to.

" }, "Port":{ "shape":"IntegerOptional", @@ -5775,6 +5876,10 @@ "PreferredMaintenanceWindow":{ "shape":"String", "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" } }, "documentation":"

" @@ -5966,6 +6071,10 @@ "PromotionTier":{ "shape":"IntegerOptional", "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster.

Default: 1

Valid Values: 0 - 15

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

" } }, "documentation":"

" @@ -6599,6 +6708,10 @@ "SupportsEnhancedMonitoring":{ "shape":"Boolean", "documentation":"

Indicates whether the DB instance supports enhanced monitoring at intervals from 1 to 60 seconds.

" + }, + "SupportsIAMDatabaseAuthentication":{ + "shape":"Boolean", + "documentation":"

Indicates whether this orderable DB instance supports IAM database authentication.

" } }, "documentation":"

Contains a list of available options for a DB instance

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", @@ -6959,7 +7072,7 @@ "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

The name of the DB cluster to disassociate the IAM role rom.

" + "documentation":"

The name of the DB cluster to disassociate the IAM role from.

" }, "RoleArn":{ "shape":"String", @@ -7246,7 +7359,7 @@ }, "Parameters":{ "shape":"ParametersList", - "documentation":"

An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; subsequent arguments are optional. A maximum of 20 parameters can be modified in a single request.

MySQL

Valid Values (for Apply method): immediate | pending-reboot

You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB instance reboots.

MariaDB

Valid Values (for Apply method): immediate | pending-reboot

You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB instance reboots.

Oracle

Valid Values (for Apply method): pending-reboot

" + "documentation":"

To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

MySQL

Valid Values (for Apply method): immediate | pending-reboot

You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB instance reboots.

MariaDB

Valid Values (for Apply method): immediate | pending-reboot

You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB instance reboots.

Oracle

Valid Values (for Apply method): pending-reboot

" } }, "documentation":"

" @@ -7364,6 +7477,10 @@ "shape":"String", "documentation":"

The KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + }, "SourceEngine":{ "shape":"String", "documentation":"

The identifier for the database engine that was backed up to create the files stored in the Amazon S3 bucket.

Valid values: mysql

" @@ -7447,6 +7564,10 @@ "KmsKeyId":{ "shape":"String", "documentation":"

The KMS key identifier to use when restoring an encrypted DB cluster from a DB cluster snapshot.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB cluster snapshot is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB cluster snapshot.

  • If the DB cluster snapshot is not encrypted, then the restored DB cluster is encrypted using the specified encryption key.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" } }, "documentation":"

" @@ -7468,13 +7589,17 @@ "shape":"String", "documentation":"

The name of the new DB cluster to be created.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" }, + "RestoreType":{ + "shape":"String", + "documentation":"

The type of restore to be performed. You can specify one of the following values:

  • full-copy - The new DB cluster is restored as a full copy of the source DB cluster.

  • copy-on-write - The new DB cluster is restored as a clone of the source DB cluster.

Constraints: You cannot specify copy-on-write if the engine version of the source DB cluster is earlier than 1.11.

If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.

" + }, "SourceDBClusterIdentifier":{ "shape":"String", "documentation":"

The identifier of the source DB cluster from which to restore.

Constraints:

  • Must be the identifier of an existing database instance

  • Must contain from 1 to 63 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" }, "RestoreToTime":{ "shape":"TStamp", - "documentation":"

The date and time to restore the DB cluster to.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Cannot be specified if UseLatestRestorableTime parameter is true

Example: 2015-03-07T23:45:00Z

" + "documentation":"

The date and time to restore the DB cluster to.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Must be specified if UseLatestRestorableTime parameter is not provided

  • Cannot be specified if UseLatestRestorableTime parameter is true

  • Cannot be specified if RestoreType parameter is copy-on-write

Example: 2015-03-07T23:45:00Z

" }, "UseLatestRestorableTime":{ "shape":"Boolean", @@ -7494,12 +7619,16 @@ }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

A lst of VPC security groups that the new DB cluster belongs to.

" + "documentation":"

A list of VPC security groups that the new DB cluster belongs to.

" }, "Tags":{"shape":"TagList"}, "KmsKeyId":{ "shape":"String", - "documentation":"

The KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster will be encrypted with the KMS key identified by the KmsKeyId parameter.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

  • If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.

If DBClusterIdentifier refers to a DB cluster that is note encrypted, then the restore request is rejected.

" + "documentation":"

The KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster will be encrypted with the KMS key identified by the KmsKeyId parameter.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

  • If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.

If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the restore request is rejected.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value that is true to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" } }, "documentation":"

" @@ -7597,6 +7726,10 @@ "DomainIAMRoleName":{ "shape":"String", "documentation":"

Specify the name of the IAM role to be used when making API calls to the Directory Service.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

  • Aurora 5.6 or higher.

Default: false

" } }, "documentation":"

" @@ -7702,6 +7835,10 @@ "DomainIAMRoleName":{ "shape":"String", "documentation":"

Specify the name of the IAM role to be used when making API calls to the Directory Service.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

  • Aurora 5.6 or higher.

Default: false

" } }, "documentation":"

" @@ -7874,6 +8011,42 @@ "db-cluster-snapshot" ] }, + "StartDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The user-supplied instance identifier.

" + } + } + }, + "StartDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "StopDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The user-supplied instance identifier.

" + }, + "DBSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The user-supplied instance identifier of the DB Snapshot created immediately before the DB instance is stopped.

" + } + } + }, + "StopDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, "StorageQuotaExceededFault":{ "type":"structure", "members":{ @@ -8095,5 +8268,5 @@ } } }, - "documentation":"Amazon Relational Database Service

Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizeable capacity for an industry-standard relational database and manages common database administration tasks, freeing up developers to focus on what makes their applications and businesses unique.

Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your database instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.

This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. Note that Amazon RDS is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.

Amazon RDS API Reference

Amazon RDS User Guide

" + "documentation":"Amazon Relational Database Service

Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks, freeing up developers to focus on what makes their applications and businesses unique.

Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your database instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.

This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. Note that Amazon RDS is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.

Amazon RDS API Reference

Amazon RDS User Guide

" } diff --git a/botocore/data/rds/2014-10-31/service-2.sdk-extras.json b/botocore/data/rds/2014-10-31/service-2.sdk-extras.json index fe3a6dab..ab6bfcd3 100644 --- a/botocore/data/rds/2014-10-31/service-2.sdk-extras.json +++ b/botocore/data/rds/2014-10-31/service-2.sdk-extras.json @@ -2,6 +2,22 @@ "version": 1.0, "merge": { "shapes": { + "CopyDBClusterSnapshotMessage": { + "members": { + "SourceRegion": { + "shape": "String", + "documentation": "

The ID of the region that contains the snapshot to be copied.

" + } + } + }, + "CreateDBClusterMessage": { + "members": { + "SourceRegion": { + "shape": "String", + "documentation": "

The ID of the region that contains the source for the db cluster.

" + } + } + }, "CopyDBSnapshotMessage": { "members": { "SourceRegion": { diff --git a/botocore/data/redshift/2012-12-01/examples-1.json b/botocore/data/redshift/2012-12-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/redshift/2012-12-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/redshift/2012-12-01/service-2.json b/botocore/data/redshift/2012-12-01/service-2.json index e2f08a8e..fa278058 100644 --- a/botocore/data/redshift/2012-12-01/service-2.json +++ b/botocore/data/redshift/2012-12-01/service-2.json @@ -1,12 +1,12 @@ { "version":"2.0", "metadata":{ - "uid":"redshift-2012-12-01", "apiVersion":"2012-12-01", "endpointPrefix":"redshift", "protocol":"query", "serviceFullName":"Amazon Redshift", "signatureVersion":"v4", + "uid":"redshift-2012-12-01", "xmlNamespace":"http://redshift.amazonaws.com/doc/2012-12-01/" }, "operations":{ @@ -670,7 +670,8 @@ }, "errors":[ {"shape":"ReservedNodeOfferingNotFoundFault"}, - {"shape":"UnsupportedOperationFault"} + {"shape":"UnsupportedOperationFault"}, + {"shape":"DependentServiceUnavailableFault"} ], "documentation":"

Returns a list of the available reserved node offerings by Amazon Redshift with their descriptions including the node type, the fixed and recurring costs of reserving the node and duration the node will be reserved for you. These descriptions help you determine which reserve node offering you want to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering to reserve one or more nodes for your Amazon Redshift cluster.

For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

" }, @@ -686,7 +687,8 @@ "resultWrapper":"DescribeReservedNodesResult" }, "errors":[ - {"shape":"ReservedNodeNotFoundFault"} + {"shape":"ReservedNodeNotFoundFault"}, + {"shape":"DependentServiceUnavailableFault"} ], "documentation":"

Returns the descriptions of the reserved nodes.

" }, @@ -838,6 +840,23 @@ ], "documentation":"

Enables the automatic copy of snapshots from one region to another region for a specified cluster.

" }, + "GetClusterCredentials":{ + "name":"GetClusterCredentials", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetClusterCredentialsMessage"}, + "output":{ + "shape":"ClusterCredentials", + "resultWrapper":"GetClusterCredentialsResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"UnsupportedOperationFault"} + ], + "documentation":"

Returns a database user name and temporary password with temporary authorization to log in to an Amazon Redshift database. The action returns the database user name prefixed with IAM: if AutoCreate is False or IAMA: if AutoCreate is True. You can optionally specify one or more database user groups that the user will join at log in. By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes). For more information, see Generating IAM Database User Credentials in the Amazon Redshift Cluster Management Guide.

The IAM user or role that executes GetClusterCredentials must have an IAM policy attached that allows the redshift:GetClusterCredentials action with access to the dbuser resource on the cluster. The user name specified for dbuser in the IAM policy and the user name specified for the DbUser parameter must match.

If the DbGroups parameter is specified, the IAM policy must allow the redshift:JoinGroup action with access to the listed dbgroups.

In addition, if the AutoCreate parameter is set to True, then the policy must include the redshift:CreateClusterUser privilege.

If the DbName parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.

" + }, "ModifyCluster":{ "name":"ModifyCluster", "http":{ @@ -854,6 +873,7 @@ {"shape":"InvalidClusterSecurityGroupStateFault"}, {"shape":"ClusterNotFoundFault"}, {"shape":"NumberOfNodesQuotaExceededFault"}, + {"shape":"NumberOfNodesPerClusterLimitExceededFault"}, {"shape":"ClusterSecurityGroupNotFoundFault"}, {"shape":"ClusterParameterGroupNotFoundFault"}, {"shape":"InsufficientClusterCapacityFault"}, @@ -1151,6 +1171,10 @@ "AccountId":{ "shape":"String", "documentation":"

The identifier of an AWS customer account authorized to restore a snapshot.

" + }, + "AccountAlias":{ + "shape":"String", + "documentation":"

The identifier of an AWS support account authorized to restore a snapshot. For AWS support, the identifier is amazon-redshift-support.

" } }, "documentation":"

Describes an AWS customer account authorized to restore a snapshot.

" @@ -1244,7 +1268,7 @@ }, "AccountWithRestoreAccess":{ "shape":"String", - "documentation":"

The identifier of the AWS customer account authorized to restore the specified snapshot.

" + "documentation":"

The identifier of the AWS customer account authorized to restore the specified snapshot.

To share a snapshot with AWS support, specify amazon-redshift-support.

" } }, "documentation":"

" @@ -1438,6 +1462,24 @@ }, "exception":true }, + "ClusterCredentials":{ + "type":"structure", + "members":{ + "DbUser":{ + "shape":"String", + "documentation":"

A database user name that is authorized to log on to the database DbName using the password DbPassword. If the DbGroups parameter is specifed, DbUser is added to the listed groups for the current session. The user name is prefixed with IAM: for an existing user name or IAMA: if the user was auto-created.

" + }, + "DbPassword":{ + "shape":"SensitiveString", + "documentation":"

A temporary password that authorizes the user name returned by DbUser to log on to the database DbName.

" + }, + "Expiration":{ + "shape":"TStamp", + "documentation":"

The date and time DbPassword expires.

" + } + }, + "documentation":"

Temporary credentials with authorization to log in to an Amazon Redshift database.

" + }, "ClusterIamRole":{ "type":"structure", "members":{ @@ -2427,6 +2469,13 @@ }, "documentation":"

Contains the output from the CreateTags action.

" }, + "DbGroupList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"DbGroup" + } + }, "DefaultClusterParameters":{ "type":"structure", "members":{ @@ -2599,6 +2648,18 @@ }, "exception":true }, + "DependentServiceUnavailableFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30 to 60 seconds and try again.

", + "error":{ + "code":"DependentServiceUnavailableFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "DescribeClusterParameterGroupsMessage":{ "type":"structure", "members":{ @@ -3440,6 +3501,40 @@ }, "documentation":"

" }, + "GetClusterCredentialsMessage":{ + "type":"structure", + "required":[ + "DbUser", + "ClusterIdentifier" + ], + "members":{ + "DbUser":{ + "shape":"String", + "documentation":"

The name of a database user. If a user name matching DbUser exists in the database, the temporary user credentials have the same permissions as the existing user. If DbUser doesn't exist in the database and Autocreate is True, a new user is created using the value for DbUser with PUBLIC permissions. If a database user matching the value for DbUser doesn't exist and Autocreate is False, then the command succeeds but the connection attempt will fail because the user doesn't exist in the database.

For more information, see CREATE USER in the Amazon Redshift Database Developer Guide.

Constraints:

  • Must be 1 to 128 alphanumeric characters or hyphens

  • Must contain only lowercase letters.

  • First character must be a letter.

  • Must not contain a colon ( : ) or slash ( / ).

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" + }, + "DbName":{ + "shape":"String", + "documentation":"

The name of a database that DbUser is authorized to log on to. If DbName is not specified, DbUser can log in to any existing database.

Constraints:

  • Must be 1 to 64 alphanumeric characters or hyphens

  • Must contain only lowercase letters.

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" + }, + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

The unique identifier of the cluster that contains the database for which your are requesting credentials. This parameter is case sensitive.

" + }, + "DurationSeconds":{ + "shape":"IntegerOptional", + "documentation":"

The number of seconds until the returned temporary password expires.

Constraint: minimum 900, maximum 3600.

Default: 900

" + }, + "AutoCreate":{ + "shape":"BooleanOptional", + "documentation":"

Create a database user with the name specified for DbUser if one does not exist.

" + }, + "DbGroups":{ + "shape":"DbGroupList", + "documentation":"

A list of the names of existing database groups that DbUser will join for the current session. If not specified, the new user is added only to PUBLIC.

" + } + }, + "documentation":"

The request parameters to get cluster credentials.

" + }, "HsmClientCertificate":{ "type":"structure", "members":{ @@ -5009,6 +5104,10 @@ }, "exception":true }, + "SensitiveString":{ + "type":"string", + "sensitive":true + }, "Snapshot":{ "type":"structure", "members":{ diff --git a/botocore/data/rekognition/2016-06-27/examples-1.json b/botocore/data/rekognition/2016-06-27/examples-1.json new file mode 100644 index 00000000..20b03280 --- /dev/null +++ b/botocore/data/rekognition/2016-06-27/examples-1.json @@ -0,0 +1,651 @@ +{ + "version": "1.0", + "examples": { + "CompareFaces": [ + { + "input": { + "SimilarityThreshold": 90, + "SourceImage": { + "S3Object": { + "Bucket": "mybucket", + "Name": "mysourceimage" + } + }, + "TargetImage": { + "S3Object": { + "Bucket": "mybucket", + "Name": "mytargetimage" + } + } + }, + "output": { + "FaceMatches": [ + { + "Face": { + "BoundingBox": { + "Height": 0.33481481671333313, + "Left": 0.31888890266418457, + "Top": 0.4933333396911621, + "Width": 0.25 + }, + "Confidence": 99.9991226196289 + }, + "Similarity": 100 + } + ], + "SourceImageFace": { + "BoundingBox": { + "Height": 0.33481481671333313, + "Left": 0.31888890266418457, + "Top": 0.4933333396911621, + "Width": 0.25 + }, + "Confidence": 99.9991226196289 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation compares the largest face detected in the source image with each face detected in the target image.", + "id": "to-compare-two-images-1482181985581", + "title": "To compare two images" + } + ], + "CreateCollection": [ + { + "input": { + "CollectionId": "myphotos" + }, + "output": { + "CollectionArn": "aws:rekognition:us-west-2:123456789012:collection/myphotos", + "StatusCode": 200 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation creates a Rekognition collection for storing image data.", + "id": "to-create-a-collection-1481833313674", + "title": "To create a collection" + } + ], + "DeleteCollection": [ + { + "input": { + "CollectionId": "myphotos" + }, + "output": { + "StatusCode": 200 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation deletes a Rekognition collection.", + "id": "to-delete-a-collection-1481838179973", + "title": "To delete a collection" + } + ], + "DeleteFaces": [ + { + "input": { + "CollectionId": "myphotos", + "FaceIds": [ + "ff43d742-0c13-5d16-a3e8-03d3f58e980b" + ] + }, + "output": { + "DeletedFaces": [ + "ff43d742-0c13-5d16-a3e8-03d3f58e980b" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation deletes one or more faces from a Rekognition collection.", + "id": "to-delete-a-face-1482182799377", + "title": "To delete a face" + } + ], + "DetectFaces": [ + { + "input": { + "Image": { + "S3Object": { + "Bucket": "mybucket", + "Name": "myphoto" + } + } + }, + "output": { + "FaceDetails": [ + { + "BoundingBox": { + "Height": 0.18000000715255737, + "Left": 0.5555555820465088, + "Top": 0.33666667342185974, + "Width": 0.23999999463558197 + }, + "Confidence": 100, + "Landmarks": [ + { + "Type": "EYE_LEFT", + "X": 0.6394737362861633, + "Y": 0.40819624066352844 + }, + { + "Type": "EYE_RIGHT", + "X": 0.7266660928726196, + "Y": 0.41039225459098816 + }, + { + "Type": "NOSE_LEFT", + "X": 0.6912462115287781, + "Y": 0.44240960478782654 + }, + { + "Type": "MOUTH_DOWN", + "X": 0.6306198239326477, + "Y": 0.46700039505958557 + }, + { + "Type": "MOUTH_UP", + "X": 0.7215608954429626, + "Y": 0.47114261984825134 + } + ], + "Pose": { + "Pitch": 4.050806522369385, + "Roll": 0.9950747489929199, + "Yaw": 13.693790435791016 + }, + "Quality": { + "Brightness": 37.60169982910156, + "Sharpness": 80 + } + } + ], + "OrientationCorrection": "ROTATE_0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation detects faces in an image stored in an AWS S3 bucket.", + "id": "to-detect-faces-in-an-image-1481841782793", + "title": "To detect faces in an image" + } + ], + "DetectLabels": [ + { + "input": { + "Image": { + "S3Object": { + "Bucket": "mybucket", + "Name": "myphoto" + } + }, + "MaxLabels": 123, + "MinConfidence": 70 + }, + "output": { + "Labels": [ + { + "Confidence": 99.25072479248047, + "Name": "People" + }, + { + "Confidence": 99.25074005126953, + "Name": "Person" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation detects labels in the supplied image", + "id": "to-detect-labels-1481834255770", + "title": "To detect labels" + } + ], + "IndexFaces": [ + { + "input": { + "CollectionId": "myphotos", + "DetectionAttributes": [ + + ], + "ExternalImageId": "myphotoid", + "Image": { + "S3Object": { + "Bucket": "mybucket", + "Name": "myphoto" + } + } + }, + "output": { + "FaceRecords": [ + { + "Face": { + "BoundingBox": { + "Height": 0.33481481671333313, + "Left": 0.31888890266418457, + "Top": 0.4933333396911621, + "Width": 0.25 + }, + "Confidence": 99.9991226196289, + "FaceId": "ff43d742-0c13-5d16-a3e8-03d3f58e980b", + "ImageId": "465f4e93-763e-51d0-b030-b9667a2d94b1" + }, + "FaceDetail": { + "BoundingBox": { + "Height": 0.33481481671333313, + "Left": 0.31888890266418457, + "Top": 0.4933333396911621, + "Width": 0.25 + }, + "Confidence": 99.9991226196289, + "Landmarks": [ + { + "Type": "EYE_LEFT", + "X": 0.3976764678955078, + "Y": 0.6248345971107483 + }, + { + "Type": "EYE_RIGHT", + "X": 0.4810936450958252, + "Y": 0.6317117214202881 + }, + { + "Type": "NOSE_LEFT", + "X": 0.41986238956451416, + "Y": 0.7111940383911133 + }, + { + "Type": "MOUTH_DOWN", + "X": 0.40525302290916443, + "Y": 0.7497701048851013 + }, + { + "Type": "MOUTH_UP", + "X": 0.4753248989582062, + "Y": 0.7558549642562866 + } + ], + "Pose": { + "Pitch": -9.713645935058594, + "Roll": 4.707281112670898, + "Yaw": -24.438663482666016 + }, + "Quality": { + "Brightness": 29.23358917236328, + "Sharpness": 80 + } + } + }, + { + "Face": { + "BoundingBox": { + "Height": 0.32592591643333435, + "Left": 0.5144444704055786, + "Top": 0.15111111104488373, + "Width": 0.24444444477558136 + }, + "Confidence": 99.99950408935547, + "FaceId": "8be04dba-4e58-520d-850e-9eae4af70eb2", + "ImageId": "465f4e93-763e-51d0-b030-b9667a2d94b1" + }, + "FaceDetail": { + "BoundingBox": { + "Height": 0.32592591643333435, + "Left": 0.5144444704055786, + "Top": 0.15111111104488373, + "Width": 0.24444444477558136 + }, + "Confidence": 99.99950408935547, + "Landmarks": [ + { + "Type": "EYE_LEFT", + "X": 0.6006892323493958, + "Y": 0.290842205286026 + }, + { + "Type": "EYE_RIGHT", + "X": 0.6808141469955444, + "Y": 0.29609042406082153 + }, + { + "Type": "NOSE_LEFT", + "X": 0.6395332217216492, + "Y": 0.3522595763206482 + }, + { + "Type": "MOUTH_DOWN", + "X": 0.5892083048820496, + "Y": 0.38689887523651123 + }, + { + "Type": "MOUTH_UP", + "X": 0.674560010433197, + "Y": 0.394125759601593 + } + ], + "Pose": { + "Pitch": -4.683138370513916, + "Roll": 2.1029529571533203, + "Yaw": 6.716655254364014 + }, + "Quality": { + "Brightness": 34.951698303222656, + "Sharpness": 160 + } + } + } + ], + "OrientationCorrection": "ROTATE_0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation detects faces in an image and adds them to the specified Rekognition collection.", + "id": "to-add-a-face-to-a-collection-1482179542923", + "title": "To add a face to a collection" + } + ], + "ListCollections": [ + { + "input": { + }, + "output": { + "CollectionIds": [ + "myphotos" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation returns a list of Rekognition collections.", + "id": "to-list-the-collections-1482179199088", + "title": "To list the collections" + } + ], + "ListFaces": [ + { + "input": { + "CollectionId": "myphotos", + "MaxResults": 20 + }, + "output": { + "Faces": [ + { + "BoundingBox": { + "Height": 0.18000000715255737, + "Left": 0.5555559992790222, + "Top": 0.336667001247406, + "Width": 0.23999999463558197 + }, + "Confidence": 100, + "FaceId": "1c62e8b5-69a7-5b7d-b3cd-db4338a8a7e7", + "ImageId": "147fdf82-7a71-52cf-819b-e786c7b9746e" + }, + { + "BoundingBox": { + "Height": 0.16555599868297577, + "Left": 0.30963000655174255, + "Top": 0.7066670060157776, + "Width": 0.22074100375175476 + }, + "Confidence": 100, + "FaceId": "29a75abe-397b-5101-ba4f-706783b2246c", + "ImageId": "147fdf82-7a71-52cf-819b-e786c7b9746e" + }, + { + "BoundingBox": { + "Height": 0.3234420120716095, + "Left": 0.3233329951763153, + "Top": 0.5, + "Width": 0.24222199618816376 + }, + "Confidence": 99.99829864501953, + "FaceId": "38271d79-7bc2-5efb-b752-398a8d575b85", + "ImageId": "d5631190-d039-54e4-b267-abd22c8647c5" + }, + { + "BoundingBox": { + "Height": 0.03555560111999512, + "Left": 0.37388700246810913, + "Top": 0.2477779984474182, + "Width": 0.04747769981622696 + }, + "Confidence": 99.99210357666016, + "FaceId": "3b01bef0-c883-5654-ba42-d5ad28b720b3", + "ImageId": "812d9f04-86f9-54fc-9275-8d0dcbcb6784" + }, + { + "BoundingBox": { + "Height": 0.05333330109715462, + "Left": 0.2937690019607544, + "Top": 0.35666701197624207, + "Width": 0.07121659815311432 + }, + "Confidence": 99.99919891357422, + "FaceId": "4839a608-49d0-566c-8301-509d71b534d1", + "ImageId": "812d9f04-86f9-54fc-9275-8d0dcbcb6784" + }, + { + "BoundingBox": { + "Height": 0.3249259889125824, + "Left": 0.5155559778213501, + "Top": 0.1513350009918213, + "Width": 0.24333299696445465 + }, + "Confidence": 99.99949645996094, + "FaceId": "70008e50-75e4-55d0-8e80-363fb73b3a14", + "ImageId": "d5631190-d039-54e4-b267-abd22c8647c5" + }, + { + "BoundingBox": { + "Height": 0.03777780011296272, + "Left": 0.7002969980239868, + "Top": 0.18777799606323242, + "Width": 0.05044509842991829 + }, + "Confidence": 99.92639923095703, + "FaceId": "7f5f88ed-d684-5a88-b0df-01e4a521552b", + "ImageId": "812d9f04-86f9-54fc-9275-8d0dcbcb6784" + }, + { + "BoundingBox": { + "Height": 0.05555560067296028, + "Left": 0.13946600258350372, + "Top": 0.46333301067352295, + "Width": 0.07270029932260513 + }, + "Confidence": 99.99469757080078, + "FaceId": "895b4e2c-81de-5902-a4bd-d1792bda00b2", + "ImageId": "812d9f04-86f9-54fc-9275-8d0dcbcb6784" + }, + { + "BoundingBox": { + "Height": 0.3259260058403015, + "Left": 0.5144439935684204, + "Top": 0.15111100673675537, + "Width": 0.24444399774074554 + }, + "Confidence": 99.99949645996094, + "FaceId": "8be04dba-4e58-520d-850e-9eae4af70eb2", + "ImageId": "465f4e93-763e-51d0-b030-b9667a2d94b1" + }, + { + "BoundingBox": { + "Height": 0.18888899683952332, + "Left": 0.3783380091190338, + "Top": 0.2355560064315796, + "Width": 0.25222599506378174 + }, + "Confidence": 99.9999008178711, + "FaceId": "908544ad-edc3-59df-8faf-6a87cc256cf5", + "ImageId": "3c731605-d772-541a-a5e7-0375dbc68a07" + }, + { + "BoundingBox": { + "Height": 0.33481499552726746, + "Left": 0.31888899207115173, + "Top": 0.49333301186561584, + "Width": 0.25 + }, + "Confidence": 99.99909973144531, + "FaceId": "ff43d742-0c13-5d16-a3e8-03d3f58e980b", + "ImageId": "465f4e93-763e-51d0-b030-b9667a2d94b1" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation lists the faces in a Rekognition collection.", + "id": "to-list-the-faces-in-a-collection-1482181416530", + "title": "To list the faces in a collection" + } + ], + "SearchFaces": [ + { + "input": { + "CollectionId": "myphotos", + "FaceId": "70008e50-75e4-55d0-8e80-363fb73b3a14", + "FaceMatchThreshold": 90, + "MaxFaces": 10 + }, + "output": { + "FaceMatches": [ + { + "Face": { + "BoundingBox": { + "Height": 0.3259260058403015, + "Left": 0.5144439935684204, + "Top": 0.15111100673675537, + "Width": 0.24444399774074554 + }, + "Confidence": 99.99949645996094, + "FaceId": "8be04dba-4e58-520d-850e-9eae4af70eb2", + "ImageId": "465f4e93-763e-51d0-b030-b9667a2d94b1" + }, + "Similarity": 99.97222137451172 + }, + { + "Face": { + "BoundingBox": { + "Height": 0.16555599868297577, + "Left": 0.30963000655174255, + "Top": 0.7066670060157776, + "Width": 0.22074100375175476 + }, + "Confidence": 100, + "FaceId": "29a75abe-397b-5101-ba4f-706783b2246c", + "ImageId": "147fdf82-7a71-52cf-819b-e786c7b9746e" + }, + "Similarity": 97.04154968261719 + }, + { + "Face": { + "BoundingBox": { + "Height": 0.18888899683952332, + "Left": 0.3783380091190338, + "Top": 0.2355560064315796, + "Width": 0.25222599506378174 + }, + "Confidence": 99.9999008178711, + "FaceId": "908544ad-edc3-59df-8faf-6a87cc256cf5", + "ImageId": "3c731605-d772-541a-a5e7-0375dbc68a07" + }, + "Similarity": 95.94520568847656 + } + ], + "SearchedFaceId": "70008e50-75e4-55d0-8e80-363fb73b3a14" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation searches for matching faces in the collection the supplied face belongs to.", + "id": "to-delete-a-face-1482182799377", + "title": "To delete a face" + } + ], + "SearchFacesByImage": [ + { + "input": { + "CollectionId": "myphotos", + "FaceMatchThreshold": 95, + "Image": { + "S3Object": { + "Bucket": "mybucket", + "Name": "myphoto" + } + }, + "MaxFaces": 5 + }, + "output": { + "FaceMatches": [ + { + "Face": { + "BoundingBox": { + "Height": 0.3234420120716095, + "Left": 0.3233329951763153, + "Top": 0.5, + "Width": 0.24222199618816376 + }, + "Confidence": 99.99829864501953, + "FaceId": "38271d79-7bc2-5efb-b752-398a8d575b85", + "ImageId": "d5631190-d039-54e4-b267-abd22c8647c5" + }, + "Similarity": 99.97036743164062 + } + ], + "SearchedFaceBoundingBox": { + "Height": 0.33481481671333313, + "Left": 0.31888890266418457, + "Top": 0.4933333396911621, + "Width": 0.25 + }, + "SearchedFaceConfidence": 99.9991226196289 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation searches for faces in a Rekognition collection that match the largest face in an S3 bucket stored image.", + "id": "to-search-for-faces-matching-a-supplied-image-1482175994491", + "title": "To search for faces matching a supplied image" + } + ] + } +} diff --git a/botocore/data/rekognition/2016-06-27/paginators-1.json b/botocore/data/rekognition/2016-06-27/paginators-1.json new file mode 100644 index 00000000..066cc83b --- /dev/null +++ b/botocore/data/rekognition/2016-06-27/paginators-1.json @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListCollections": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CollectionIds" + }, + "ListFaces": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Faces" + } + } +} diff --git a/botocore/data/rekognition/2016-06-27/service-2.json b/botocore/data/rekognition/2016-06-27/service-2.json index 34c715df..3340b414 100644 --- a/botocore/data/rekognition/2016-06-27/service-2.json +++ b/botocore/data/rekognition/2016-06-27/service-2.json @@ -29,7 +29,7 @@ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"InvalidImageFormatException"} ], - "documentation":"

Compares a face in the source input image with each face detected in the target input image.

If the source image contains multiple faces, the service detects the largest face and uses it to compare with each face detected in the target image.

In response, the operation returns an array of face matches ordered by similarity score with the highest similarity scores first. For each face match, the response provides a bounding box of the face and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match.

By default, only faces with the similarity score of greater than or equal to 80% are returned in the response. You can change this value.

In addition to the face matches, the response returns information about the face in the source image, including the bounding box of the face and confidence value.

This is a stateless API operation. That is, the operation does not persist any data.

For an example, see get-started-exercise-compare-faces

This operation requires permissions to perform the rekognition:CompareFaces action.

" + "documentation":"

Compares a face in the source input image with each face detected in the target input image.

If the source image contains multiple faces, the service detects the largest face and compares it with each face detected in the target image.

In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, role, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match.

By default, only faces with a similarity score of greater than or equal to 80% are returned in the response. You can change this value by specifying the SimilarityThreshold parameter.

CompareFaces also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value.

If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the source and target images. Use these values to display the images with the correct image orientation.

This is a stateless API operation. That is, data returned by this operation doesn't persist.

For an example, see get-started-exercise-compare-faces.

This operation requires permissions to perform the rekognition:CompareFaces action.

" }, "CreateCollection":{ "name":"CreateCollection", @@ -47,7 +47,7 @@ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceAlreadyExistsException"} ], - "documentation":"

Creates a collection in an AWS Region. You can add faces to the collection using the operation.

For example, you might create collections, one for each of your application users. A user can then index faces using the IndexFaces operation and persist results in a specific collection. Then, a user can search the collection for faces in the user-specific container.

For an example, see example1.

This operation requires permissions to perform the rekognition:CreateCollection action.

" + "documentation":"

Creates a collection in an AWS Region. You can add faces to the collection using the operation.

For example, you might create collections, one for each of your application users. A user can then index faces using the IndexFaces operation and persist results in a specific collection. Then, a user can search the collection for faces in the user-specific container.

Collection names are case-sensitive.

For an example, see example1.

This operation requires permissions to perform the rekognition:CreateCollection action.

" }, "DeleteCollection":{ "name":"DeleteCollection", @@ -125,6 +125,44 @@ ], "documentation":"

Detects instances of real-world labels within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature. For an example, see get-started-exercise-detect-labels.

For each object, scene, and concept the API returns one or more labels. Each label provides the object name, and the level of confidence that the image contains the object. For example, suppose the input image has a lighthouse, the sea, and a rock. The response will include all three labels, one for each object.

{Name: lighthouse, Confidence: 98.4629}

{Name: rock,Confidence: 79.2097}

{Name: sea,Confidence: 75.061}

In the preceding example, the operation returns one label for each of the three objects. The operation can also return multiple labels for the same object in the image. For example, if the input image shows a flower (for example, a tulip), the operation might return the following three labels.

{Name: flower,Confidence: 99.0562}

{Name: plant,Confidence: 99.0562}

{Name: tulip,Confidence: 99.0562}

In this example, the detection algorithm more precisely identifies the flower as a tulip.

You can provide the input image as an S3 object or as base64-encoded bytes. In response, the API returns an array of labels. In addition, the response also includes the orientation correction. Optionally, you can specify MinConfidence to control the confidence threshold for the labels returned. The default is 50%. You can also add the MaxLabels parameter to limit the number of labels returned.

If the object detected is a person, the operation doesn't provide the same facial details that the DetectFaces operation provides.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectLabels action.

" }, + "DetectModerationLabels":{ + "name":"DetectModerationLabels", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectModerationLabelsRequest"}, + "output":{"shape":"DetectModerationLabelsResponse"}, + "errors":[ + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidImageFormatException"} + ], + "documentation":"

Detects explicit or suggestive adult content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.

To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate. For information about moderation labels, see image-moderation.

" + }, + "GetCelebrityInfo":{ + "name":"GetCelebrityInfo", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCelebrityInfoRequest"}, + "output":{"shape":"GetCelebrityInfoResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets the name and additional information about a celebrity based on his or her Rekognition ID. The additional information is returned as an array of URLs. If there is no additional information about the celebrity, this list is empty. For more information, see celebrity-recognition.

This operation requires permissions to perform the rekognition:GetCelebrityInfo action.

" + }, "IndexFaces":{ "name":"IndexFaces", "http":{ @@ -144,7 +182,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidImageFormatException"} ], - "documentation":"

Detects faces in the input image and adds them to the specified collection.

Amazon Rekognition does not save the actual faces detected. Instead, the underlying detection algorithm first detects the faces in the input image, and for each face extracts facial features into a feature vector, and stores it in the back-end database. Amazon Rekognition uses feature vectors when performing face match and search operations using the and operations.

If you provide the optional externalImageID for the input image you provided, Amazon Rekognition associates this ID with all faces that it detects. When you call the operation, the response returns the external ID. You can use this external image ID to create a client-side index to associate the faces with each image. You can then use the index to find all faces in an image.

In response, the operation returns an array of metadata for all detected faces. This includes, the bounding box of the detected face, confidence value (indicating the bounding box contains a face), a face ID assigned by the service for each face that is detected and stored, and an image ID assigned by the service for the input image If you request all facial attributes (using the detectionAttributes parameter, Amazon Rekognition returns detailed facial attributes such as facial landmarks (for example, location of eye and mount) and other facial attributes such gender. If you provide the same image, specify the same collection, and use the same external ID in the IndexFaces operation, Amazon Rekognition doesn't save duplicate face metadata.

For an example, see example2.

This operation requires permissions to perform the rekognition:IndexFaces action.

" + "documentation":"

Detects faces in the input image and adds them to the specified collection.

Amazon Rekognition does not save the actual faces detected. Instead, the underlying detection algorithm first detects the faces in the input image, and for each face extracts facial features into a feature vector, and stores it in the back-end database. Amazon Rekognition uses feature vectors when performing face match and search operations using the and operations.

If you provide the optional externalImageID for the input image you provided, Amazon Rekognition associates this ID with all faces that it detects. When you call the operation, the response returns the external ID. You can use this external image ID to create a client-side index to associate the faces with each image. You can then use the index to find all faces in an image.

In response, the operation returns an array of metadata for all detected faces. This includes, the bounding box of the detected face, confidence value (indicating the bounding box contains a face), a face ID assigned by the service for each face that is detected and stored, and an image ID assigned by the service for the input image. If you request all facial attributes (using the detectionAttributes parameter, Amazon Rekognition returns detailed facial attributes such as facial landmarks (for example, location of eye and mount) and other facial attributes such gender. If you provide the same image, specify the same collection, and use the same external ID in the IndexFaces operation, Amazon Rekognition doesn't save duplicate face metadata.

For an example, see example2.

This operation requires permissions to perform the rekognition:IndexFaces action.

" }, "ListCollections":{ "name":"ListCollections", @@ -184,6 +222,27 @@ ], "documentation":"

Returns metadata for faces in the specified collection. This metadata includes information such as the bounding box coordinates, the confidence (that the bounding box contains a face), and face ID. For an example, see example3.

This operation requires permissions to perform the rekognition:ListFaces action.

" }, + "RecognizeCelebrities":{ + "name":"RecognizeCelebrities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RecognizeCelebritiesRequest"}, + "output":{"shape":"RecognizeCelebritiesResponse"}, + "errors":[ + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidImageFormatException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidImageFormatException"} + ], + "documentation":"

Returns an array of celebrities recognized in the input image. The image is passed either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. The image must be either a PNG or JPEG formatted file. For more information, see celebrity-recognition.

RecognizeCelebrities returns the 15 largest faces in the image. It lists recognized celebrities in the CelebrityFaces list and unrecognized faces in the UnrecognizedFaces list. The operation doesn't return celebrities whose face sizes are smaller than the largest 15 faces in the image.

For each celebrity recognized, the API returns a Celebrity object. The Celebrity object contains the celebrity name, ID, URL links to additional information, match confidence, and a ComparedFace object that you can use to locate the celebrity's face on the image.

Rekognition does not retain information about which images a celebrity has been recognized in. Your application must store this information and use the Celebrity ID property as a unique identifier for the celebrity. If you don't store the celebrity name or additional information URLs returned by RecognizeCelebrities, you will need the ID to identify the celebrity in a call to the operation.

For an example, see recognize-celebrities-tutorial.

This operation requires permissions to perform the rekognition:RecognizeCelebrities operation.

" + }, "SearchFaces":{ "name":"SearchFaces", "http":{ @@ -232,6 +291,20 @@ "documentation":"

You are not authorized to perform the action.

", "exception":true }, + "AgeRange":{ + "type":"structure", + "members":{ + "Low":{ + "shape":"UInteger", + "documentation":"

The lowest estimated age.

" + }, + "High":{ + "shape":"UInteger", + "documentation":"

The highest estimated age.

" + } + }, + "documentation":"

Structure containing the estimated age range, in years, for a face.

Rekognition estimates an age-range for faces detected in the input image. Estimated age ranges can overlap; a face of a 5 year old may have an estimated range of 4-6 whilst the face of a 6 year old may have an estimated range of 4-8.

" + }, "Attribute":{ "type":"string", "enum":[ @@ -280,6 +353,36 @@ }, "documentation":"

Identifies the bounding box around the object or face. The left (x-coordinate) and top (y-coordinate) are coordinates representing the top and left sides of the bounding box. Note that the upper-left corner of the image is the origin (0,0).

The top and left values returned are ratios of the overall image size. For example, if the input image is 700x200 pixels, and the top-left coordinate of the bounding box is 350x50 pixels, the API returns a left value of 0.5 (350/700) and a top value of 0.25 (50/200).

The width and height values represent the dimensions of the bounding box as a ratio of the overall image dimension. For example, if the input image is 700x200 pixels, and the bounding box width is 70 pixels, the width returned is 0.1.

The bounding box coordinates can have negative values. For example, if Amazon Rekognition is able to detect a face that is at the image edge and is only partially visible, the service can return coordinates that are outside the image bounds and, depending on the image edge, you might get negative values or values greater than 1 for the left or top values.

" }, + "Celebrity":{ + "type":"structure", + "members":{ + "Urls":{ + "shape":"Urls", + "documentation":"

An array of URLs pointing to additional information about the celebrity. If there is no additional information about the celebrity, this list is empty.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the celebrity.

" + }, + "Id":{ + "shape":"RekognitionUniqueId", + "documentation":"

A unique identifier for the celebrity.

" + }, + "Face":{ + "shape":"ComparedFace", + "documentation":"

Provides information about the celebrity's face, such as its location on the image.

" + }, + "MatchConfidence":{ + "shape":"Percent", + "documentation":"

The confidence, in percentage, that Rekognition has that the recognized face is the celebrity.

" + } + }, + "documentation":"

Provides information about a celebrity recognized by the operation.

" + }, + "CelebrityList":{ + "type":"list", + "member":{"shape":"Celebrity"} + }, "CollectionId":{ "type":"string", "max":255, @@ -302,7 +405,7 @@ "documentation":"

Provides face metadata (bounding box and confidence that the bounding box actually contains a face).

" } }, - "documentation":"

For the provided the bounding box, confidence level that the bounding box actually contains a face, and the similarity between the face in the bounding box and the face in the source image.

" + "documentation":"

Provides information about a face in a target image that matches the source image face analysed by CompareFaces. The Face property contains the bounding box of the face in the target image. The Similarity property is the confidence that the source image face matches the face in the bounding box.

" }, "CompareFacesMatchList":{ "type":"list", @@ -317,15 +420,15 @@ "members":{ "SourceImage":{ "shape":"Image", - "documentation":"

Source image either as bytes or an S3 object

" + "documentation":"

The source image, either as bytes or as an S3 object.

" }, "TargetImage":{ "shape":"Image", - "documentation":"

Target image either as bytes or an S3 object

" + "documentation":"

The target image, either as bytes or as an S3 object.

" }, "SimilarityThreshold":{ "shape":"Percent", - "documentation":"

The minimum level of confidence in the match you want included in the result.

" + "documentation":"

The minimum level of confidence in the face matches that a match must meet to be included in the FaceMatches array.

" } } }, @@ -334,29 +437,67 @@ "members":{ "SourceImageFace":{ "shape":"ComparedSourceImageFace", - "documentation":"

The face from the source image that was used for comparison.

" + "documentation":"

The face in the source image that was used for comparison.

" }, "FaceMatches":{ "shape":"CompareFacesMatchList", - "documentation":"

Provides an array of CompareFacesMatch objects. Each object provides the bounding box, confidence that the bounding box contains a face, and the similarity between the face in the bounding box and the face in the source image.

" + "documentation":"

An array of faces in the target image that match the source image face. Each CompareFacesMatch object provides the bounding box, the confidence level that the bounding box contains a face, and the similarity score for the face in the bounding box and the face in the source image.

" + }, + "UnmatchedFaces":{ + "shape":"CompareFacesUnmatchList", + "documentation":"

An array of faces in the target image that did not match the source image face.

" + }, + "SourceImageOrientationCorrection":{ + "shape":"OrientationCorrection", + "documentation":"

The orientation of the source image (counterclockwise direction). If your application displays the source image, you can use this value to correct image orientation. The bounding box coordinates returned in SourceImageFace represent the location of the face before the image orientation is corrected.

If the source image is in .jpeg format, it might contain exchangeable image (Exif) metadata that includes the image's orientation. If the Exif metadata for the source image populates the orientation field, the value of OrientationCorrection is null and the SourceImageFace bounding box coordinates represent the location of the face after Exif metadata is used to correct the orientation. Images in .png format don't contain Exif metadata.

" + }, + "TargetImageOrientationCorrection":{ + "shape":"OrientationCorrection", + "documentation":"

The orientation of the target image (in counterclockwise direction). If your application displays the target image, you can use this value to correct the orientation of the image. The bounding box coordinates returned in FaceMatches and UnmatchedFaces represent face locations before the image orientation is corrected.

If the target image is in .jpg format, it might contain Exif metadata that includes the orientation of the image. If the Exif metadata for the target image populates the orientation field, the value of OrientationCorrection is null and the bounding box coordinates in FaceMatches and UnmatchedFaces represent the location of the face after Exif metadata is used to correct the orientation. Images in .png format don't contain Exif metadata.

" } } }, + "CompareFacesUnmatchList":{ + "type":"list", + "member":{"shape":"ComparedFace"} + }, "ComparedFace":{ "type":"structure", "members":{ - "BoundingBox":{"shape":"BoundingBox"}, + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

Bounding box of the face.

" + }, "Confidence":{ "shape":"Percent", "documentation":"

Level of confidence that what the bounding box contains is a face.

" + }, + "Landmarks":{ + "shape":"Landmarks", + "documentation":"

An array of facial landmarks.

" + }, + "Pose":{ + "shape":"Pose", + "documentation":"

Indicates the pose of the face as determined by its pitch, roll, and yaw.

" + }, + "Quality":{ + "shape":"ImageQuality", + "documentation":"

Identifies face image brightness and sharpness.

" } }, - "documentation":"

Provides face metadata (bounding box and confidence that the bounding box actually contains a face).

" + "documentation":"

Provides face metadata for target image faces that are analysed by CompareFaces and RecognizeCelebrities.

" + }, + "ComparedFaceList":{ + "type":"list", + "member":{"shape":"ComparedFace"} }, "ComparedSourceImageFace":{ "type":"structure", "members":{ - "BoundingBox":{"shape":"BoundingBox"}, + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

Bounding box of the face.

" + }, "Confidence":{ "shape":"Percent", "documentation":"

Confidence level that the selected bounding box contains a face.

" @@ -447,7 +588,7 @@ }, "Attributes":{ "shape":"Attributes", - "documentation":"

A list of facial attributes you would like to be returned. By default, the API returns subset of facial attributes.

For example, you can specify the value as, [\"ALL\"] or [\"DEFAULT\"]. If you provide both, [\"ALL\", \"DEFAULT\"], the service uses a logical AND operator to determine which attributes to return (in this case, it is all attributes). If you specify all attributes, Amazon Rekognition performs additional detection.

" + "documentation":"

An array of facial attributes you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for Attributes or if you specify [\"DEFAULT\"], the API returns the following subset of facial attributes: BoundingBox, Confidence, Pose, Quality and Landmarks. If you provide [\"ALL\"], all facial attributes are returned but the operation will take longer to complete.

If you provide both, [\"ALL\", \"DEFAULT\"], the service uses a logical AND operator to determine which attributes to return (in this case, all attributes).

" } } }, @@ -460,7 +601,7 @@ }, "OrientationCorrection":{ "shape":"OrientationCorrection", - "documentation":"

The algorithm detects the image orientation. If it detects that the image was rotated, it returns the degrees of rotation. If your application is displaying the image, you can use this value to adjust the orientation.

For example, if the service detects that the input image was rotated by 90 degrees, it corrects orientation, performs face detection, and then returns the faces. That is, the bounding box coordinates in the response are based on the corrected orientation.

If the source image Exif metadata populates the orientation field, Amazon Rekognition does not perform orientation correction and the value of OrientationCorrection will be nil.

" + "documentation":"

The orientation of the input image (counter-clockwise direction). If your application displays the image, you can use this value to correct image orientation. The bounding box coordinates returned in FaceDetails represent face locations before the image orientation is corrected.

If the input image is in .jpeg format, it might contain exchangeable image (Exif) metadata that includes the image's orientation. If so, and the Exif metadata for the input image populates the orientation field, the value of OrientationCorrection is null and the FaceDetails bounding box coordinates represent face locations after Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata.

" } } }, @@ -478,7 +619,7 @@ }, "MinConfidence":{ "shape":"Percent", - "documentation":"

Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value.

If minConfidence is not specified, the operation returns labels with a confidence values greater than or equal to 50 percent.

" + "documentation":"

Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value.

If MinConfidence is not specified, the operation returns labels with a confidence values greater than or equal to 50 percent.

" } } }, @@ -491,7 +632,30 @@ }, "OrientationCorrection":{ "shape":"OrientationCorrection", - "documentation":"

Amazon Rekognition returns the orientation of the input image that was detected (clockwise direction). If your application displays the image, you can use this value to correct the orientation. If Amazon Rekognition detects that the input image was rotated (for example, by 90 degrees), it first corrects the orientation before detecting the labels.

If the source image Exif metadata populates the orientation field, Amazon Rekognition does not perform orientation correction and the value of OrientationCorrection will be nil.

" + "documentation":"

The orientation of the input image (counter-clockwise direction). If your application displays the image, you can use this value to correct the orientation. If Amazon Rekognition detects that the input image was rotated (for example, by 90 degrees), it first corrects the orientation before detecting the labels.

If the input image Exif metadata populates the orientation field, Amazon Rekognition does not perform orientation correction and the value of OrientationCorrection will be null.

" + } + } + }, + "DetectModerationLabelsRequest":{ + "type":"structure", + "required":["Image"], + "members":{ + "Image":{ + "shape":"Image", + "documentation":"

The input image as bytes or an S3 object.

" + }, + "MinConfidence":{ + "shape":"Percent", + "documentation":"

Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence level lower than this specified value.

If you don't specify MinConfidence, the operation returns labels with confidence values greater than or equal to 50 percent.

" + } + } + }, + "DetectModerationLabelsResponse":{ + "type":"structure", + "members":{ + "ModerationLabels":{ + "shape":"ModerationLabels", + "documentation":"

An array of labels for explicit or suggestive adult content found in the image. The list includes the top-level label and each child label detected in the image. This is useful for filtering specific categories of content.

" } } }, @@ -567,10 +731,13 @@ "shape":"FaceId", "documentation":"

Unique identifier that Amazon Rekognition assigns to the face.

" }, - "BoundingBox":{"shape":"BoundingBox"}, + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

Bounding box of the face.

" + }, "ImageId":{ "shape":"ImageId", - "documentation":"

Unique identifier that Amazon Rekognition assigns to the source image.

" + "documentation":"

Unique identifier that Amazon Rekognition assigns to the input image.

" }, "ExternalImageId":{ "shape":"ExternalImageId", @@ -581,7 +748,7 @@ "documentation":"

Confidence level that the bounding box contains a face (and not a different object such as a tree).

" } }, - "documentation":"

Describes the face properties such as the bounding box, face ID, image ID of the source image, and external image ID that you assigned.

" + "documentation":"

Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned.

" }, "FaceDetail":{ "type":"structure", @@ -590,6 +757,10 @@ "shape":"BoundingBox", "documentation":"

Bounding box of the face.

" }, + "AgeRange":{ + "shape":"AgeRange", + "documentation":"

The estimated age range, in years, for the face. Low represents the lowest estimated age and High represents the highest estimated age.

" + }, "Smile":{ "shape":"Smile", "documentation":"

Indicates whether or not the face is smiling, and the confidence level in the determination.

" @@ -628,11 +799,11 @@ }, "Landmarks":{ "shape":"Landmarks", - "documentation":"

Indicates the location of the landmark on the face.

" + "documentation":"

Indicates the location of landmarks on the face.

" }, "Pose":{ "shape":"Pose", - "documentation":"

Indicates the pose of the face as determined by pitch, roll, and the yaw.

" + "documentation":"

Indicates the pose of the face as determined by its pitch, roll, and yaw.

" }, "Quality":{ "shape":"ImageQuality", @@ -670,7 +841,10 @@ "shape":"Percent", "documentation":"

Confidence in the match of this face with the input face.

" }, - "Face":{"shape":"Face"} + "Face":{ + "shape":"Face", + "documentation":"

Describes the face properties such as the bounding box, face ID, image ID of the source image, and external image ID that you assigned.

" + } }, "documentation":"

Provides face metadata. In addition, it also provides the confidence in the match of this face with the input face.

" }, @@ -681,8 +855,14 @@ "FaceRecord":{ "type":"structure", "members":{ - "Face":{"shape":"Face"}, - "FaceDetail":{"shape":"FaceDetail"} + "Face":{ + "shape":"Face", + "documentation":"

Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned.

" + }, + "FaceDetail":{ + "shape":"FaceDetail", + "documentation":"

Structure containing attributes of the face that the algorithm detected.

" + } }, "documentation":"

Object containing both the face metadata (stored in the back-end database) and facial attributes that are detected but aren't stored in the database.

" }, @@ -712,6 +892,29 @@ "FEMALE" ] }, + "GetCelebrityInfoRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"RekognitionUniqueId", + "documentation":"

The ID for the celebrity. You get the celebrity ID from a call to the operation, which recognizes celebrities in an image.

" + } + } + }, + "GetCelebrityInfoResponse":{ + "type":"structure", + "members":{ + "Urls":{ + "shape":"Urls", + "documentation":"

An array of URLs pointing to additional celebrity information.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the celebrity.

" + } + } + }, "Image":{ "type":"structure", "members":{ @@ -724,7 +927,7 @@ "documentation":"

Identifies an S3 object as the image source.

" } }, - "documentation":"

Provides the source image either as bytes or an S3 object.

The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.

You may need to Base64-encode the image bytes depending on the language you are using and whether or not you are using the AWS SDK. For more information, see example4.

If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes using the Bytes property is not supported. You must first upload the image to an Amazon S3 bucket and then call the operation using the S3Object property.

For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see manage-access-resource-policies.

" + "documentation":"

Provides the input image either as bytes or an S3 object.

You pass image bytes to a Rekognition API operation by using the Bytes property. For example, you would use the Bytes property to pass an image loaded from a local file system. Image bytes passed by using the Bytes property must be base64-encoded. Your code may not need to encode image bytes if you are using an AWS SDK to call Rekognition API operations. For more information, see example4.

You pass images stored in an S3 bucket to a Rekognition API operation by using the S3Object property. Images stored in an S3 bucket do not need to be base64-encoded.

The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.

If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes using the Bytes property is not supported. You must first upload the image to an Amazon S3 bucket and then call the operation using the S3Object property.

For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see manage-access-resource-policies.

" }, "ImageBlob":{ "type":"blob", @@ -740,14 +943,14 @@ "members":{ "Brightness":{ "shape":"Float", - "documentation":"

Value representing brightness of the face. The service returns a value between 0 and 1 (inclusive).

" + "documentation":"

Value representing brightness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a brighter face image.

" }, "Sharpness":{ "shape":"Float", - "documentation":"

Value representing sharpness of the face.

" + "documentation":"

Value representing sharpness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a sharper face image.

" } }, - "documentation":"

Identifies image brightness and sharpness.

" + "documentation":"

Identifies face image brightness and sharpness.

" }, "ImageTooLargeException":{ "type":"structure", @@ -765,16 +968,19 @@ "members":{ "CollectionId":{ "shape":"CollectionId", - "documentation":"

ID of an existing collection to which you want to add the faces that are detected in the input images.

" + "documentation":"

The ID of an existing collection to which you want to add the faces that are detected in the input images.

" + }, + "Image":{ + "shape":"Image", + "documentation":"

The input image as bytes or an S3 object.

" }, - "Image":{"shape":"Image"}, "ExternalImageId":{ "shape":"ExternalImageId", "documentation":"

ID you want to assign to all the faces detected in the image.

" }, "DetectionAttributes":{ "shape":"Attributes", - "documentation":"

(Optional) Returns detailed attributes of indexed faces. By default, the operation returns a subset of the facial attributes.

For example, you can specify the value as, [\"ALL\"] or [\"DEFAULT\"]. If you provide both, [\"ALL\", \"DEFAULT\"], Amazon Rekognition uses the logical AND operator to determine which attributes to return (in this case, it is all attributes). If you specify all attributes, the service performs additional detection, in addition to the default.

" + "documentation":"

An array of facial attributes that you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for Attributes or if you specify [\"DEFAULT\"], the API returns the following subset of facial attributes: BoundingBox, Confidence, Pose, Quality and Landmarks. If you provide [\"ALL\"], all facial attributes are returned but the operation will take longer to complete.

If you provide both, [\"ALL\", \"DEFAULT\"], the service uses a logical AND operator to determine which attributes to return (in this case, all attributes).

" } } }, @@ -787,7 +993,7 @@ }, "OrientationCorrection":{ "shape":"OrientationCorrection", - "documentation":"

The algorithm detects the image orientation. If it detects that the image was rotated, it returns the degree of rotation. You can use this value to correct the orientation and also appropriately analyze the bounding box coordinates that are returned.

If the source image Exif metadata populates the orientation field, Amazon Rekognition does not perform orientation correction and the value of OrientationCorrection will be nil.

" + "documentation":"

The orientation of the input image (counterclockwise direction). If your application displays the image, you can use this value to correct image orientation. The bounding box coordinates returned in FaceRecords represent face locations before the image orientation is corrected.

If the input image is in jpeg format, it might contain exchangeable image (Exif) metadata. If so, and the Exif metadata populates the orientation field, the value of OrientationCorrection is null and the bounding box coordinates in FaceRecords represent face locations after Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata.

" } } }, @@ -959,6 +1165,28 @@ "max":4096, "min":1 }, + "ModerationLabel":{ + "type":"structure", + "members":{ + "Confidence":{ + "shape":"Percent", + "documentation":"

Specifies the confidence that Amazon Rekognition has that the label has been correctly identified.

If you don't specify the MinConfidence parameter in the call to DetectModerationLabels, the operation returns labels with a confidence value greater than or equal to 50 percent.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The label name for the type of content detected in the image.

" + }, + "ParentName":{ + "shape":"String", + "documentation":"

The name for the parent label. Labels at the top-level of the hierarchy have the parent label \"\".

" + } + }, + "documentation":"

Provides information about a single type of moderated content found in an image. Each type of moderated content has a label within a hierarchical taxonomy. For more information, see image-moderation.

" + }, + "ModerationLabels":{ + "type":"list", + "member":{"shape":"ModerationLabel"} + }, "MouthOpen":{ "type":"structure", "members":{ @@ -1026,7 +1254,7 @@ "documentation":"

Value representing the face rotation on the pitch axis.

" } }, - "documentation":"

Indicates the pose of the face as determined by pitch, roll, and the yaw.

" + "documentation":"

Indicates the pose of the face as determined by its pitch, roll, and yaw.

" }, "ProvisionedThroughputExceededException":{ "type":"structure", @@ -1035,6 +1263,37 @@ "documentation":"

The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Rekognition.

", "exception":true }, + "RecognizeCelebritiesRequest":{ + "type":"structure", + "required":["Image"], + "members":{ + "Image":{ + "shape":"Image", + "documentation":"

The input image to use for celebrity recognition.

" + } + } + }, + "RecognizeCelebritiesResponse":{ + "type":"structure", + "members":{ + "CelebrityFaces":{ + "shape":"CelebrityList", + "documentation":"

Details about each celebrity found in the image. Amazon Rekognition can detect a maximum of 15 celebrities in an image.

" + }, + "UnrecognizedFaces":{ + "shape":"ComparedFaceList", + "documentation":"

Details about each unrecognized face in the image.

" + }, + "OrientationCorrection":{ + "shape":"OrientationCorrection", + "documentation":"

The orientation of the input image (counterclockwise direction). If your application displays the image, you can use this value to correct the orientation. The bounding box coordinates returned in CelebrityFaces and UnrecognizedFaces represent face locations before the image orientation is corrected.

If the input image is in .jpeg format, it might contain exchangeable image (Exif) metadata that includes the image's orientation. If so, and the Exif metadata for the input image populates the orientation field, the value of OrientationCorrection is null and the CelebrityFaces and UnrecognizedFaces bounding box coordinates represent face locations after Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata.

" + } + } + }, + "RekognitionUniqueId":{ + "type":"string", + "pattern":"[0-9A-Za-z]*" + }, "ResourceAlreadyExistsException":{ "type":"structure", "members":{ @@ -1094,7 +1353,10 @@ "shape":"CollectionId", "documentation":"

ID of the collection to search.

" }, - "Image":{"shape":"Image"}, + "Image":{ + "shape":"Image", + "documentation":"

The input image as bytes or an S3 object.

" + }, "MaxFaces":{ "shape":"MaxFaces", "documentation":"

Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match.

" @@ -1200,6 +1462,11 @@ "UInteger":{ "type":"integer", "min":0 + }, + "Url":{"type":"string"}, + "Urls":{ + "type":"list", + "member":{"shape":"Url"} } }, "documentation":"

This is the Amazon Rekognition API reference.

" diff --git a/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json b/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json new file mode 100644 index 00000000..7c8ba892 --- /dev/null +++ b/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json @@ -0,0 +1,20 @@ +{ + "pagination": { + "GetResources": { + "input_token": "PaginationToken", + "limit_key": "ResourcesPerPage", + "output_token": "PaginationToken", + "result_key": "ResourceTagMappingList" + }, + "GetTagKeys": { + "input_token": "PaginationToken", + "output_token": "PaginationToken", + "result_key": "TagKeys" + }, + "GetTagValues": { + "input_token": "PaginationToken", + "output_token": "PaginationToken", + "result_key": "TagValues" + } + } +} diff --git a/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json b/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json new file mode 100644 index 00000000..e4275899 --- /dev/null +++ b/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json @@ -0,0 +1,429 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-01-26", + "endpointPrefix":"tagging", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Resource Groups Tagging API", + "signatureVersion":"v4", + "targetPrefix":"ResourceGroupsTaggingAPI_20170126", + "uid":"resourcegroupstaggingapi-2017-01-26" + }, + "operations":{ + "GetResources":{ + "name":"GetResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourcesInput"}, + "output":{"shape":"GetResourcesOutput"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"}, + {"shape":"PaginationTokenExpiredException"} + ], + "documentation":"

Returns all the tagged resources that are associated with the specified tags (keys and values) located in the specified region for the AWS account. The tags and the resource types that you specify in the request are known as filters. The response includes all tags that are associated with the requested resources. If no filter is provided, this action returns a paginated resource list with the associated tags.

" + }, + "GetTagKeys":{ + "name":"GetTagKeys", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTagKeysInput"}, + "output":{"shape":"GetTagKeysOutput"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"}, + {"shape":"PaginationTokenExpiredException"} + ], + "documentation":"

Returns all tag keys in the specified region for the AWS account.

" + }, + "GetTagValues":{ + "name":"GetTagValues", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTagValuesInput"}, + "output":{"shape":"GetTagValuesOutput"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"}, + {"shape":"PaginationTokenExpiredException"} + ], + "documentation":"

Returns all tag values for the specified key in the specified region for the AWS account.

" + }, + "TagResources":{ + "name":"TagResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourcesInput"}, + "output":{"shape":"TagResourcesOutput"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Applies one or more tags to the specified resources. Note the following:

  • Not all resources can have tags. For a list of resources that support tagging, see Supported Resources in the AWS Resource Groups and Tag Editor User Guide.

  • Each resource can have up to 50 tags. For other limits, see Tag Restrictions in the Amazon EC2 User Guide for Linux Instances.

  • You can only tag resources that are located in the specified region for the AWS account.

  • To add tags to a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for adding tags. For more information, see Obtaining Permissions for Tagging in the AWS Resource Groups and Tag Editor User Guide.

" + }, + "UntagResources":{ + "name":"UntagResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourcesInput"}, + "output":{"shape":"UntagResourcesOutput"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Removes the specified tags from the specified resources. When you specify a tag key, the action removes both that key and its associated value. The operation succeeds even if you attempt to remove tags from a resource that were already removed. Note the following:

  • To remove tags from a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for removing tags. For more information, see Obtaining Permissions for Tagging in the AWS Resource Groups and Tag Editor User Guide.

  • You can only tag resources that are located in the specified region for the AWS account.

" + } + }, + "shapes":{ + "AmazonResourceType":{ + "type":"string", + "max":256, + "min":0 + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "InternalServiceException", + "InvalidParameterException" + ] + }, + "ErrorMessage":{"type":"string"}, + "ExceptionMessage":{ + "type":"string", + "max":2048, + "min":0 + }, + "FailedResourcesMap":{ + "type":"map", + "key":{"shape":"ResourceARN"}, + "value":{"shape":"FailureInfo"} + }, + "FailureInfo":{ + "type":"structure", + "members":{ + "StatusCode":{ + "shape":"StatusCode", + "documentation":"

The HTTP status code of the common error.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The code of the common error. Valid values include InternalServiceException, InvalidParameterException, and any valid error code returned by the AWS service that hosts the resource that you want to tag.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

The message of the common error.

" + } + }, + "documentation":"

Details of the common errors that all actions return.

" + }, + "GetResourcesInput":{ + "type":"structure", + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

" + }, + "TagFilters":{ + "shape":"TagFilterList", + "documentation":"

A list of tags (keys and values). A request can include up to 50 keys, and each key can include up to 20 values.

If you specify multiple filters connected by an AND operator in a single request, the response returns only those resources that are associated with every specified filter.

If you specify multiple filters connected by an OR operator in a single request, the response returns all resources that are associated with at least one or possibly more of the specified filters.

" + }, + "ResourcesPerPage":{ + "shape":"ResourcesPerPage", + "documentation":"

A limit that restricts the number of resources returned by GetResources in paginated output. You can set ResourcesPerPage to a minimum of 1 item and the maximum of 50 items.

" + }, + "TagsPerPage":{ + "shape":"TagsPerPage", + "documentation":"

A limit that restricts the number of tags (key and value pairs) returned by GetResources in paginated output. A resource with no tags is counted as having one tag (one key and value pair).

GetResources does not split a resource and its associated tags across pages. If the specified TagsPerPage would cause such a break, a PaginationToken is returned in place of the affected resource and its tags. Use that token in another request to get the remaining data. For example, if you specify a TagsPerPage of 100 and the account has 22 resources with 10 tags each (meaning that each resource has 10 key and value pairs), the output will consist of 3 pages, with the first page displaying the first 10 resources, each with its 10 tags, the second page displaying the next 10 resources each with its 10 tags, and the third page displaying the remaining 2 resources, each with its 10 tags.

You can set TagsPerPage to a minimum of 100 items and the maximum of 500 items.

" + }, + "ResourceTypeFilters":{ + "shape":"ResourceTypeFilterList", + "documentation":"

The constraints on the resources that you want returned. The format of each resource type is service[:resourceType]. For example, specifying a resource type of ec2 returns all tagged Amazon EC2 resources (which includes tagged EC2 instances). Specifying a resource type of ec2:instance returns only EC2 instances.

The string for each service name and resource type is the same as that embedded in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference for the following:

" + } + } + }, + "GetResourcesOutput":{ + "type":"structure", + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

A string that indicates that the response contains more data than can be returned in a single response. To receive additional data, specify this string for the PaginationToken value in a subsequent request.

" + }, + "ResourceTagMappingList":{ + "shape":"ResourceTagMappingList", + "documentation":"

A list of resource ARNs and the tags (keys and values) associated with each.

" + } + } + }, + "GetTagKeysInput":{ + "type":"structure", + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

" + } + } + }, + "GetTagKeysOutput":{ + "type":"structure", + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

A string that indicates that the response contains more data than can be returned in a single response. To receive additional data, specify this string for the PaginationToken value in a subsequent request.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of all tag keys in the AWS account.

" + } + } + }, + "GetTagValuesInput":{ + "type":"structure", + "required":["Key"], + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

" + }, + "Key":{ + "shape":"TagKey", + "documentation":"

The key for which you want to list all existing values in the specified region for the AWS account.

" + } + } + }, + "GetTagValuesOutput":{ + "type":"structure", + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

A string that indicates that the response contains more data than can be returned in a single response. To receive additional data, specify this string for the PaginationToken value in a subsequent request.

" + }, + "TagValues":{ + "shape":"TagValuesOutputList", + "documentation":"

A list of all tag values for the specified key in the AWS account.

" + } + } + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The request processing failed because of an unknown error, exception, or failure. You can retry the request.

", + "exception":true, + "fault":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A parameter is missing or a malformed string or invalid or out-of-range value was supplied for the request parameter.

", + "exception":true + }, + "PaginationToken":{ + "type":"string", + "max":2048, + "min":0 + }, + "PaginationTokenExpiredException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A PaginationToken is valid for a maximum of 15 minutes. Your request was denied because the specified PaginationToken has expired.

", + "exception":true + }, + "ResourceARN":{ + "type":"string", + "max":1600, + "min":1 + }, + "ResourceARNList":{ + "type":"list", + "member":{"shape":"ResourceARN"}, + "max":20, + "min":1 + }, + "ResourceTagMapping":{ + "type":"structure", + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

An array of resource ARN(s).

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags that have been applied to one or more AWS resources.

" + } + }, + "documentation":"

A list of resource ARNs and the tags (keys and values) that are associated with each.

" + }, + "ResourceTagMappingList":{ + "type":"list", + "member":{"shape":"ResourceTagMapping"} + }, + "ResourceTypeFilterList":{ + "type":"list", + "member":{"shape":"AmazonResourceType"} + }, + "ResourcesPerPage":{"type":"integer"}, + "StatusCode":{"type":"integer"}, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

" + } + }, + "documentation":"

The metadata that you apply to AWS resources to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. For more information, see Tag Basics in the Amazon EC2 User Guide for Linux Instances.

" + }, + "TagFilter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

" + }, + "Values":{ + "shape":"TagValueList", + "documentation":"

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

" + } + }, + "documentation":"

A list of tags (keys and values) that are used to specify the associated resources.

" + }, + "TagFilterList":{ + "type":"list", + "member":{"shape":"TagFilter"}, + "max":50, + "min":0 + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagKeyListForUntag":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourcesInput":{ + "type":"structure", + "required":[ + "ResourceARNList", + "Tags" + ], + "members":{ + "ResourceARNList":{ + "shape":"ResourceARNList", + "documentation":"

A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. You can specify a minimum of 1 and a maximum of 20 ARNs (resources) to tag. An ARN can be set to a maximum of 1600 characters. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags that you want to add to the specified resources. A tag consists of a key and a value that you define.

" + } + } + }, + "TagResourcesOutput":{ + "type":"structure", + "members":{ + "FailedResourcesMap":{ + "shape":"FailedResourcesMap", + "documentation":"

Details of resources that could not be tagged. An error code, status code, and error message are returned for each failed item.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TagValueList":{ + "type":"list", + "member":{"shape":"TagValue"}, + "max":20, + "min":0 + }, + "TagValuesOutputList":{ + "type":"list", + "member":{"shape":"TagValue"} + }, + "TagsPerPage":{"type":"integer"}, + "ThrottledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The request was denied to limit the frequency of submitted requests.

", + "exception":true + }, + "UntagResourcesInput":{ + "type":"structure", + "required":[ + "ResourceARNList", + "TagKeys" + ], + "members":{ + "ResourceARNList":{ + "shape":"ResourceARNList", + "documentation":"

A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. You can specify a minimum of 1 and a maximum of 20 ARNs (resources) to untag. An ARN can be set to a maximum of 1600 characters. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + }, + "TagKeys":{ + "shape":"TagKeyListForUntag", + "documentation":"

A list of the tag keys that you want to remove from the specified resources.

" + } + } + }, + "UntagResourcesOutput":{ + "type":"structure", + "members":{ + "FailedResourcesMap":{ + "shape":"FailedResourcesMap", + "documentation":"

Details of resources that could not be untagged. An error code, status code, and error message are returned for each failed item.

" + } + } + } + }, + "documentation":"Resource Groups Tagging API

This guide describes the API operations for the resource groups tagging.

A tag is a label that you assign to an AWS resource. A tag consists of a key and a value, both of which you define. For example, if you have two Amazon EC2 instances, you might assign both a tag key of \"Stack.\" But the value of \"Stack\" might be \"Testing\" for one and \"Production\" for the other.

Tagging can help you organize your resources and enables you to simplify resource management, access management and cost allocation. For more information about tagging, see Working with Tag Editor and Working with Resource Groups. For more information about permissions you need to use the resource groups tagging APIs, see Obtaining Permissions for Resource Groups and Obtaining Permissions for Tagging .

You can use the resource groups tagging APIs to complete the following tasks:

  • Tag and untag supported resources located in the specified region for the AWS account

  • Use tag-based filters to search for resources located in the specified region for the AWS account

  • List all existing tag keys in the specified region for the AWS account

  • List all existing values for the specified key in the specified region for the AWS account

Not all resources can have tags. For a lists of resources that you can tag, see Supported Resources in the AWS Resource Groups and Tag Editor User Guide.

To make full use of the resource groups tagging APIs, you might need additional IAM permissions, including permission to access the resources of individual services as well as permission to view and apply tags to those resources. For more information, see Obtaining Permissions for Tagging in the AWS Resource Groups and Tag Editor User Guide.

" +} diff --git a/botocore/data/route53/2013-04-01/examples-1.json b/botocore/data/route53/2013-04-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/route53/2013-04-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/route53/2013-04-01/service-2.json b/botocore/data/route53/2013-04-01/service-2.json index b10b7d37..e46b712b 100644 --- a/botocore/data/route53/2013-04-01/service-2.json +++ b/botocore/data/route53/2013-04-01/service-2.json @@ -32,7 +32,7 @@ {"shape":"ConflictingDomainExists"}, {"shape":"LimitsExceeded"} ], - "documentation":"

Associates an Amazon VPC with a private hosted zone.

To perform the association, the VPC and the private hosted zone must already exist. You can't convert a public hosted zone into a private hosted zone.

Send a POST request to the /2013-04-01/hostedzone/hosted zone ID/associatevpc resource. The request body must include a document with an AssociateVPCWithHostedZoneRequest element. The response contains a ChangeInfo data type that you can use to track the progress of the request.

If you want to associate a VPC that was created by using one AWS account with a private hosted zone that was created by using a different account, the AWS account that created the private hosted zone must first submit a CreateVPCAssociationAuthorization request. Then the account that created the VPC must submit an AssociateVPCWithHostedZone request.

" + "documentation":"

Associates an Amazon VPC with a private hosted zone.

To perform the association, the VPC and the private hosted zone must already exist. You can't convert a public hosted zone into a private hosted zone.

If you want to associate a VPC that was created by using one AWS account with a private hosted zone that was created by using a different account, the AWS account that created the private hosted zone must first submit a CreateVPCAssociationAuthorization request. Then the account that created the VPC must submit an AssociateVPCWithHostedZone request.

" }, "ChangeResourceRecordSets":{ "name":"ChangeResourceRecordSets", @@ -53,7 +53,7 @@ {"shape":"InvalidInput"}, {"shape":"PriorRequestNotComplete"} ], - "documentation":"

Create, change, update, or delete authoritative DNS information on all Amazon Route 53 servers. Send a POST request to:

/2013-04-01/hostedzone/Amazon Route 53 hosted Zone ID/rrset resource.

The request body must include a document with a ChangeResourceRecordSetsRequest element. The request body contains a list of change items, known as a change batch. Change batches are considered transactional changes. When using the Amazon Route 53 API to change resource record sets, Amazon Route 53 either makes all or none of the changes in a change batch request. This ensures that Amazon Route 53 never partially implements the intended changes to the resource record sets in a hosted zone.

For example, a change batch request that deletes the CNAME record for www.example.com and creates an alias resource record set for www.example.com. Amazon Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If either the DELETE or the CREATE action fails, then both changes (plus any other changes in the batch) fail, and the original CNAME record continues to exist.

Due to the nature of transactional changes, you can't delete the same resource record set more than once in a single change batch. If you attempt to delete the same change batch more than once, Amazon Route 53 returns an InvalidChangeBatch error.

To create resource record sets for complex routing configurations, use either the traffic flow visual editor in the Amazon Route 53 console or the API actions for traffic policies and traffic policy instances. Save the configuration as a traffic policy, then associate the traffic policy with one or more domain names (such as example.com) or subdomain names (such as www.example.com), in the same hosted zone or in multiple hosted zones. You can roll back the updates if the new configuration isn't performing as expected. For more information, see Using Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer Guide.

Use ChangeResourceRecordsSetsRequest to perform the following actions:

  • CREATE: Creates a resource record set that has the specified values.

  • DELETE: Deletes an existing resource record set that has the specified values.

  • UPSERT: If a resource record set does not already exist, AWS creates it. If a resource set does exist, Amazon Route 53 updates it with the values in the request.

The values that you need to include in the request depend on the type of resource record set that you're creating, deleting, or updating:

Basic resource record sets (excluding alias, failover, geolocation, latency, and weighted resource record sets)

  • Name

  • Type

  • TTL

Failover, geolocation, latency, or weighted resource record sets (excluding alias resource record sets)

  • Name

  • Type

  • TTL

  • SetIdentifier

Alias resource record sets (including failover alias, geolocation alias, latency alias, and weighted alias resource record sets)

  • Name

  • Type

  • AliasTarget (includes DNSName, EvaluateTargetHealth, and HostedZoneId)

  • SetIdentifier (for failover, geolocation, latency, and weighted resource record sets)

When you submit a ChangeResourceRecordSets request, Amazon Route 53 propagates your changes to all of the Amazon Route 53 authoritative DNS servers. While your changes are propagating, GetChange returns a status of PENDING. When propagation is complete, GetChange returns a status of INSYNC. Changes generally propagate to all Amazon Route 53 name servers in a few minutes. In rare circumstances, propagation can take up to 30 minutes. For more information, see GetChange

For information about the limits on a ChangeResourceRecordSets request, see Limits in the Amazon Route 53 Developer Guide.

" + "documentation":"

Creates, changes, or deletes a resource record set, which contains authoritative DNS information for a specified domain name or subdomain name. For example, you can use ChangeResourceRecordSets to create a resource record set that routes traffic for test.example.com to a web server that has an IP address of 192.0.2.44.

Change Batches and Transactional Changes

The request body must include a document with a ChangeResourceRecordSetsRequest element. The request body contains a list of change items, known as a change batch. Change batches are considered transactional changes. When using the Amazon Route 53 API to change resource record sets, Amazon Route 53 either makes all or none of the changes in a change batch request. This ensures that Amazon Route 53 never partially implements the intended changes to the resource record sets in a hosted zone.

For example, a change batch request that deletes the CNAME record for www.example.com and creates an alias resource record set for www.example.com. Amazon Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If either the DELETE or the CREATE action fails, then both changes (plus any other changes in the batch) fail, and the original CNAME record continues to exist.

Due to the nature of transactional changes, you can't delete the same resource record set more than once in a single change batch. If you attempt to delete the same change batch more than once, Amazon Route 53 returns an InvalidChangeBatch error.

Traffic Flow

To create resource record sets for complex routing configurations, use either the traffic flow visual editor in the Amazon Route 53 console or the API actions for traffic policies and traffic policy instances. Save the configuration as a traffic policy, then associate the traffic policy with one or more domain names (such as example.com) or subdomain names (such as www.example.com), in the same hosted zone or in multiple hosted zones. You can roll back the updates if the new configuration isn't performing as expected. For more information, see Using Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer Guide.

Create, Delete, and Upsert

Use ChangeResourceRecordsSetsRequest to perform the following actions:

  • CREATE: Creates a resource record set that has the specified values.

  • DELETE: Deletes an existing resource record set that has the specified values.

  • UPSERT: If a resource record set does not already exist, AWS creates it. If a resource set does exist, Amazon Route 53 updates it with the values in the request.

Syntaxes for Creating, Updating, and Deleting Resource Record Sets

The syntax for a request depends on the type of resource record set that you want to create, delete, or update, such as weighted, alias, or failover. The XML elements in your request must appear in the order listed in the syntax.

For an example for each type of resource record set, see \"Examples.\"

Don't refer to the syntax in the \"Parameter Syntax\" section, which includes all of the elements for every kind of resource record set that you can create, delete, or update by using ChangeResourceRecordSets.

Change Propagation to Amazon Route 53 DNS Servers

When you submit a ChangeResourceRecordSets request, Amazon Route 53 propagates your changes to all of the Amazon Route 53 authoritative DNS servers. While your changes are propagating, GetChange returns a status of PENDING. When propagation is complete, GetChange returns a status of INSYNC. Changes generally propagate to all Amazon Route 53 name servers within 60 seconds. For more information, see GetChange.

Limits on ChangeResourceRecordSets Requests

For information about the limits on a ChangeResourceRecordSets request, see Limits in the Amazon Route 53 Developer Guide.

" }, "ChangeTagsForResource":{ "name":"ChangeTagsForResource", @@ -94,7 +94,7 @@ {"shape":"HealthCheckAlreadyExists"}, {"shape":"InvalidInput"} ], - "documentation":"

Creates a new health check.

To create a new health check, send a POST request to the /2013-04-01/healthcheck resource. The request body must include a document with a CreateHealthCheckRequest element. The response returns the CreateHealthCheckResponse element, containing the health check ID specified when adding health check to a resource record set. For information about adding health checks to resource record sets, see ResourceRecordSet$HealthCheckId in ChangeResourceRecordSets.

If you are registering EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route 53 health checks for the EC2 instances. When you register an EC2 instance with a load balancer, you configure settings for an ELB health check, which performs a similar function to an Amazon Route 53 health check.

You can associate health checks with failover resource record sets in a private hosted zone. Note the following:

  • Amazon Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you must assign a public IP address to the instance in the VPC.

  • You can configure a health checker to check the health of an external resource that the instance relies on, such as a database server.

  • You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, and then create a health check that is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the CloudWatch console, see the Amazon CloudWatch User Guide.

" + "documentation":"

Creates a new health check.

For information about adding health checks to resource record sets, see ResourceRecordSet$HealthCheckId in ChangeResourceRecordSets.

ELB Load Balancers

If you're registering EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route 53 health checks for the EC2 instances. When you register an EC2 instance with a load balancer, you configure settings for an ELB health check, which performs a similar function to an Amazon Route 53 health check.

Private Hosted Zones

You can associate health checks with failover resource record sets in a private hosted zone. Note the following:

  • Amazon Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you must assign a public IP address to the instance in the VPC.

  • You can configure a health checker to check the health of an external resource that the instance relies on, such as a database server.

  • You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, and then create a health check that is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the CloudWatch console, see the Amazon CloudWatch User Guide.

" }, "CreateHostedZone":{ "name":"CreateHostedZone", @@ -120,7 +120,7 @@ {"shape":"NoSuchDelegationSet"}, {"shape":"DelegationSetNotReusable"} ], - "documentation":"

Creates a new public hosted zone, used to specify how the Domain Name System (DNS) routes traffic on the Internet for a domain, such as example.com, and its subdomains.

Public hosted zones can't be converted to a private hosted zone or vice versa. Instead, create a new hosted zone with the same name and create new resource record sets.

Send a POST request to the /2013-04-01/hostedzone resource. The request body must include a document with a CreateHostedZoneRequest element. The response returns the CreateHostedZoneResponse element containing metadata about the hosted zone.

Fore more information about charges for hosted zones, see Amazon Route 53 Pricing.

Note the following:

  • You can't create a hosted zone for a top-level domain (TLD).

  • Amazon Route 53 automatically creates a default SOA record and four NS records for the zone. For more information about SOA and NS records, see NS and SOA Records that Amazon Route 53 Creates for a Hosted Zone in the Amazon Route 53 Developer Guide.

  • If your domain is registered with a registrar other than Amazon Route 53, you must update the name servers with your registrar to make Amazon Route 53 your DNS service. For more information, see Configuring Amazon Route 53 as your DNS Service in the Amazon Route 53 Developer's Guide.

After creating a zone, its initial status is PENDING. This means that it is not yet available on all DNS servers. The status of the zone changes to INSYNC when the NS and SOA records are available on all Amazon Route 53 DNS servers.

When trying to create a hosted zone using a reusable delegation set, specify an optional DelegationSetId, and Amazon Route 53 would assign those 4 NS records for the zone, instead of allotting a new one.

" + "documentation":"

Creates a new public hosted zone, which you use to specify how the Domain Name System (DNS) routes traffic on the Internet for a domain, such as example.com, and its subdomains.

You can't convert a public hosted zones to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.

For more information about charges for hosted zones, see Amazon Route 53 Pricing.

Note the following:

  • You can't create a hosted zone for a top-level domain (TLD).

  • Amazon Route 53 automatically creates a default SOA record and four NS records for the zone. For more information about SOA and NS records, see NS and SOA Records that Amazon Route 53 Creates for a Hosted Zone in the Amazon Route 53 Developer Guide.

    If you want to use the same name servers for multiple hosted zones, you can optionally associate a reusable delegation set with the hosted zone. See the DelegationSetId element.

  • If your domain is registered with a registrar other than Amazon Route 53, you must update the name servers with your registrar to make Amazon Route 53 your DNS service. For more information, see Configuring Amazon Route 53 as your DNS Service in the Amazon Route 53 Developer Guide.

When you submit a CreateHostedZone request, the initial status of the hosted zone is PENDING. This means that the NS and SOA records are not yet available on all Amazon Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to INSYNC.

" }, "CreateReusableDelegationSet":{ "name":"CreateReusableDelegationSet", @@ -144,7 +144,7 @@ {"shape":"DelegationSetNotAvailable"}, {"shape":"DelegationSetAlreadyReusable"} ], - "documentation":"

Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones. If a hosted zoned ID is specified, CreateReusableDelegationSet marks the delegation set associated with that zone as reusable

Send a POST request to the /2013-04-01/delegationset resource. The request body must include a document with a CreateReusableDelegationSetRequest element.

A reusable delegation set can't be associated with a private hosted zone/

For more information, including a procedure on how to create and configure a reusable delegation set (also known as white label name servers), see Configuring White Label Name Servers.

" + "documentation":"

Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones. If a hosted zoned ID is specified, CreateReusableDelegationSet marks the delegation set associated with that zone as reusable

A reusable delegation set can't be associated with a private hosted zone.

For information on how to use a reusable delegation set to configure white label name servers, see Configuring White Label Name Servers.

" }, "CreateTrafficPolicy":{ "name":"CreateTrafficPolicy", @@ -165,7 +165,7 @@ {"shape":"TrafficPolicyAlreadyExists"}, {"shape":"InvalidTrafficPolicyDocument"} ], - "documentation":"

Creates a traffic policy, which you use to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com).

Send a POST request to the /2013-04-01/trafficpolicy resource. The request body must include a document with a CreateTrafficPolicyRequest element. The response includes the CreateTrafficPolicyResponse element, which contains information about the new traffic policy.

" + "documentation":"

Creates a traffic policy, which you use to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com).

" }, "CreateTrafficPolicyInstance":{ "name":"CreateTrafficPolicyInstance", @@ -187,7 +187,7 @@ {"shape":"NoSuchTrafficPolicy"}, {"shape":"TrafficPolicyInstanceAlreadyExists"} ], - "documentation":"

Creates resource record sets in a specified hosted zone based on the settings in a specified traffic policy version. In addition, CreateTrafficPolicyInstance associates the resource record sets with a specified domain name (such as example.com) or subdomain name (such as www.example.com). Amazon Route 53 responds to DNS queries for the domain or subdomain name by using the resource record sets that CreateTrafficPolicyInstance created.

Send a POST request to the /2013-04-01/trafficpolicyinstance resource. The request body must include a document with a CreateTrafficPolicyRequest element. The response returns the CreateTrafficPolicyInstanceResponse element, which contains information about the traffic policy instance.

" + "documentation":"

Creates resource record sets in a specified hosted zone based on the settings in a specified traffic policy version. In addition, CreateTrafficPolicyInstance associates the resource record sets with a specified domain name (such as example.com) or subdomain name (such as www.example.com). Amazon Route 53 responds to DNS queries for the domain or subdomain name by using the resource record sets that CreateTrafficPolicyInstance created.

" }, "CreateTrafficPolicyVersion":{ "name":"CreateTrafficPolicyVersion", @@ -208,7 +208,7 @@ {"shape":"ConcurrentModification"}, {"shape":"InvalidTrafficPolicyDocument"} ], - "documentation":"

Creates a new version of an existing traffic policy. When you create a new version of a traffic policy, you specify the ID of the traffic policy that you want to update and a JSON-formatted document that describes the new version. You use traffic policies to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com). You can create a maximum of 1000 versions of a traffic policy. If you reach the limit and need to create another version, you'll need to start a new traffic policy.

Send a POST request to the /2013-04-01/trafficpolicy/ resource. The request body includes a document with a CreateTrafficPolicyVersionRequest element. The response returns the CreateTrafficPolicyVersionResponse element, which contains information about the new version of the traffic policy.

" + "documentation":"

Creates a new version of an existing traffic policy. When you create a new version of a traffic policy, you specify the ID of the traffic policy that you want to update and a JSON-formatted document that describes the new version. You use traffic policies to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com). You can create a maximum of 1000 versions of a traffic policy. If you reach the limit and need to create another version, you'll need to start a new traffic policy.

" }, "CreateVPCAssociationAuthorization":{ "name":"CreateVPCAssociationAuthorization", @@ -223,12 +223,13 @@ }, "output":{"shape":"CreateVPCAssociationAuthorizationResponse"}, "errors":[ + {"shape":"ConcurrentModification"}, {"shape":"TooManyVPCAssociationAuthorizations"}, {"shape":"NoSuchHostedZone"}, {"shape":"InvalidVPCId"}, {"shape":"InvalidInput"} ], - "documentation":"

Authorizes the AWS account that created a specified VPC to submit an AssociateVPCWithHostedZone request to associate the VPC with a specified hosted zone that was created by a different account. To submit a CreateVPCAssociationAuthorization request, you must use the account that created the hosted zone. After you authorize the association, use the account that created the VPC to submit an AssociateVPCWithHostedZone request.

If you want to associate multiple VPCs that you created by using one account with a hosted zone that you created by using a different account, you must submit one authorization request for each VPC.

Send a POST request to the /2013-04-01/hostedzone/hosted zone ID/authorizevpcassociation resource. The request body must include a document with a CreateVPCAssociationAuthorizationRequest element. The response contains information about the authorization.

" + "documentation":"

Authorizes the AWS account that created a specified VPC to submit an AssociateVPCWithHostedZone request to associate the VPC with a specified hosted zone that was created by a different account. To submit a CreateVPCAssociationAuthorization request, you must use the account that created the hosted zone. After you authorize the association, use the account that created the VPC to submit an AssociateVPCWithHostedZone request.

If you want to associate multiple VPCs that you created by using one account with a hosted zone that you created by using a different account, you must submit one authorization request for each VPC.

" }, "DeleteHealthCheck":{ "name":"DeleteHealthCheck", @@ -243,7 +244,7 @@ {"shape":"HealthCheckInUse"}, {"shape":"InvalidInput"} ], - "documentation":"

Deletes a health check. Send a DELETE request to the /2013-04-01/healthcheck/health check ID resource.

Amazon Route 53 does not prevent you from deleting a health check even if the health check is associated with one or more resource record sets. If you delete a health check and you don't update the associated resource record sets, the future status of the health check can't be predicted and may change. This will affect the routing of DNS queries for your DNS failover configuration. For more information, see Replacing and Deleting Health Checks in the Amazon Route 53 Developer Guide.

" + "documentation":"

Deletes a health check.

Amazon Route 53 does not prevent you from deleting a health check even if the health check is associated with one or more resource record sets. If you delete a health check and you don't update the associated resource record sets, the future status of the health check can't be predicted and may change. This will affect the routing of DNS queries for your DNS failover configuration. For more information, see Replacing and Deleting Health Checks in the Amazon Route 53 Developer Guide.

" }, "DeleteHostedZone":{ "name":"DeleteHostedZone", @@ -260,7 +261,7 @@ {"shape":"InvalidInput"}, {"shape":"InvalidDomainName"} ], - "documentation":"

Deletes a hosted zone. Send a DELETE request to the /Amazon Route 53 API version/hostedzone/hosted zone ID resource.

Delete a hosted zone only if there are no resource record sets other than the default SOA record and NS resource record sets. If the hosted zone contains other resource record sets, delete them before deleting the hosted zone. If you try to delete a hosted zone that contains other resource record sets, Amazon Route 53 denies your request with a HostedZoneNotEmpty error. For information about deleting records from your hosted zone, see ChangeResourceRecordSets.

" + "documentation":"

Deletes a hosted zone.

If the name servers for the hosted zone are associated with a domain and if you want to make the domain unavailable on the Internet, we recommend that you delete the name servers from the domain to prevent future DNS queries from possibly being misrouted. If the domain is registered with Amazon Route 53, see UpdateDomainNameservers. If the domain is registered with another registrar, use the method provided by the registrar to delete name servers for the domain.

Some domain registries don't allow you to remove all of the name servers for a domain. If the registry for your domain requires one or more name servers, we recommend that you delete the hosted zone only if you transfer DNS service to another service provider, and you replace the name servers for the domain with name servers from the new provider.

You can delete a hosted zone only if it contains only the default SOA record and NS resource record sets. If the hosted zone contains other resource record sets, you must delete them before you can delete the hosted zone. If you try to delete a hosted zone that contains other resource record sets, the request fails, and Amazon Route 53 returns a HostedZoneNotEmpty error. For information about deleting records from your hosted zone, see ChangeResourceRecordSets.

To verify that the hosted zone has been deleted, do one of the following:

  • Use the GetHostedZone action to request information about the hosted zone.

  • Use the ListHostedZones action to get a list of the hosted zones associated with the current AWS account.

" }, "DeleteReusableDelegationSet":{ "name":"DeleteReusableDelegationSet", @@ -276,7 +277,7 @@ {"shape":"DelegationSetNotReusable"}, {"shape":"InvalidInput"} ], - "documentation":"

Deletes a reusable delegation set. Send a DELETE request to the /2013-04-01/delegationset/delegation set ID resource.

You can delete a reusable delegation set only if there are no associated hosted zones.

To verify that the reusable delegation set is not associated with any hosted zones, run the GetReusableDelegationSet action and specify the ID of the reusable delegation set that you want to delete.

" + "documentation":"

Deletes a reusable delegation set.

You can delete a reusable delegation set only if it isn't associated with any hosted zones.

To verify that the reusable delegation set is not associated with any hosted zones, submit a GetReusableDelegationSet request and specify the ID of the reusable delegation set that you want to delete.

" }, "DeleteTrafficPolicy":{ "name":"DeleteTrafficPolicy", @@ -292,7 +293,7 @@ {"shape":"TrafficPolicyInUse"}, {"shape":"ConcurrentModification"} ], - "documentation":"

Deletes a traffic policy.

Send a DELETE request to the /Amazon Route 53 API version/trafficpolicy resource.

" + "documentation":"

Deletes a traffic policy.

" }, "DeleteTrafficPolicyInstance":{ "name":"DeleteTrafficPolicyInstance", @@ -307,7 +308,7 @@ {"shape":"InvalidInput"}, {"shape":"PriorRequestNotComplete"} ], - "documentation":"

Deletes a traffic policy instance and all of the resource record sets that Amazon Route 53 created when you created the instance.

Send a DELETE request to the /Amazon Route 53 API version/trafficpolicy/traffic policy instance ID resource.

In the Amazon Route 53 console, traffic policy instances are known as policy records.

" + "documentation":"

Deletes a traffic policy instance and all of the resource record sets that Amazon Route 53 created when you created the instance.

In the Amazon Route 53 console, traffic policy instances are known as policy records.

" }, "DeleteVPCAssociationAuthorization":{ "name":"DeleteVPCAssociationAuthorization", @@ -322,12 +323,13 @@ }, "output":{"shape":"DeleteVPCAssociationAuthorizationResponse"}, "errors":[ + {"shape":"ConcurrentModification"}, {"shape":"VPCAssociationAuthorizationNotFound"}, {"shape":"NoSuchHostedZone"}, {"shape":"InvalidVPCId"}, {"shape":"InvalidInput"} ], - "documentation":"

Removes authorization to submit an AssociateVPCWithHostedZone request to associate a specified VPC with a hosted zone that was created by a different account. You must use the account that created the hosted zone to submit a DeleteVPCAssociationAuthorization request.

Sending this request only prevents the AWS account that created the VPC from associating the VPC with the Amazon Route 53 hosted zone in the future. If the VPC is already associated with the hosted zone, DeleteVPCAssociationAuthorization won't disassociate the VPC from the hosted zone. If you want to delete an existing association, use DisassociateVPCFromHostedZone.

Send a DELETE request to the /2013-04-01/hostedzone/hosted zone ID/deauthorizevpcassociation resource. The request body must include a document with a DeleteVPCAssociationAuthorizationRequest element.

" + "documentation":"

Removes authorization to submit an AssociateVPCWithHostedZone request to associate a specified VPC with a hosted zone that was created by a different account. You must use the account that created the hosted zone to submit a DeleteVPCAssociationAuthorization request.

Sending this request only prevents the AWS account that created the VPC from associating the VPC with the Amazon Route 53 hosted zone in the future. If the VPC is already associated with the hosted zone, DeleteVPCAssociationAuthorization won't disassociate the VPC from the hosted zone. If you want to delete an existing association, use DisassociateVPCFromHostedZone.

" }, "DisassociateVPCFromHostedZone":{ "name":"DisassociateVPCFromHostedZone", @@ -348,7 +350,7 @@ {"shape":"LastVPCAssociation"}, {"shape":"InvalidInput"} ], - "documentation":"

Disassociates a VPC from a Amazon Route 53 private hosted zone.

You can't disassociate the last VPC from a private hosted zone.

Send a POST request to the /2013-04-01/hostedzone/hosted zone ID/disassociatevpc resource. The request body must include a document with a DisassociateVPCFromHostedZoneRequest element. The response includes a DisassociateVPCFromHostedZoneResponse element.

You can't disassociate a VPC from a private hosted zone when only one VPC is associated with the hosted zone. You also can't convert a private hosted zone into a public hosted zone.

" + "documentation":"

Disassociates a VPC from a Amazon Route 53 private hosted zone.

You can't disassociate the last VPC from a private hosted zone.

You can't disassociate a VPC from a private hosted zone when only one VPC is associated with the hosted zone. You also can't convert a private hosted zone into a public hosted zone.

" }, "GetChange":{ "name":"GetChange", @@ -362,7 +364,7 @@ {"shape":"NoSuchChange"}, {"shape":"InvalidInput"} ], - "documentation":"

Returns the current status of a change batch request. The status is one of the following values:

  • PENDING indicates that the changes in this request have not replicated to all Amazon Route 53 DNS servers. This is the initial status of all change batch requests.

  • INSYNC indicates that the changes have replicated to all Amazon Route 53 DNS servers.

" + "documentation":"

Returns the current status of a change batch request. The status is one of the following values:

  • PENDING indicates that the changes in this request have not propagated to all Amazon Route 53 DNS servers. This is the initial status of all change batch requests.

  • INSYNC indicates that the changes have propagated to all Amazon Route 53 DNS servers.

" }, "GetCheckerIpRanges":{ "name":"GetCheckerIpRanges", @@ -372,7 +374,7 @@ }, "input":{"shape":"GetCheckerIpRangesRequest"}, "output":{"shape":"GetCheckerIpRangesResponse"}, - "documentation":"

Retrieves a list of the IP ranges used by Amazon Route 53 health checkers to check the health of your resources. Send a GET request to the /Amazon Route 53 API version/checkeripranges resource. Use these IP addresses to configure router and firewall rules to allow health checkers to check the health of your resources.

" + "documentation":"

GetCheckerIpRanges still works, but we recommend that you download ip-ranges.json, which includes IP address ranges for all AWS services. For more information, see IP Address Ranges of Amazon Route 53 Servers in the Amazon Route 53 Developer Guide.

" }, "GetGeoLocation":{ "name":"GetGeoLocation", @@ -386,7 +388,7 @@ {"shape":"NoSuchGeoLocation"}, {"shape":"InvalidInput"} ], - "documentation":"

Retrieves a single geo location. Send a GET request to the /2013-04-01/geolocation resource with one of these options: continentcode | countrycode | countrycode and subdivisioncode.

" + "documentation":"

Gets information about whether a specified geographic location is supported for Amazon Route 53 geolocation resource record sets.

Use the following syntax to determine whether a continent is supported for geolocation:

GET /2013-04-01/geolocation?ContinentCode=two-letter abbreviation for a continent

Use the following syntax to determine whether a country is supported for geolocation:

GET /2013-04-01/geolocation?CountryCode=two-character country code

Use the following syntax to determine whether a subdivision of a country is supported for geolocation:

GET /2013-04-01/geolocation?CountryCode=two-character country code&SubdivisionCode=subdivision code

" }, "GetHealthCheck":{ "name":"GetHealthCheck", @@ -401,7 +403,7 @@ {"shape":"InvalidInput"}, {"shape":"IncompatibleVersion"} ], - "documentation":"

Gets information about a specified health check. Send a GET request to the /2013-04-01/healthcheck/health check ID resource. For more information about using the console to perform this operation, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.

" + "documentation":"

Gets information about a specified health check.

" }, "GetHealthCheckCount":{ "name":"GetHealthCheckCount", @@ -411,7 +413,7 @@ }, "input":{"shape":"GetHealthCheckCountRequest"}, "output":{"shape":"GetHealthCheckCountResponse"}, - "documentation":"

To retrieve a count of all your health checks, send a GET request to the /2013-04-01/healthcheckcount resource.

" + "documentation":"

Retrieves the number of health checks that are associated with the current AWS account.

" }, "GetHealthCheckLastFailureReason":{ "name":"GetHealthCheckLastFailureReason", @@ -425,7 +427,7 @@ {"shape":"NoSuchHealthCheck"}, {"shape":"InvalidInput"} ], - "documentation":"

If you want to learn why a health check is currently failing or why it failed most recently (if at all), you can get the failure reason for the most recent failure. Send a GET request to the /Amazon Route 53 API version/healthcheck/health check ID/lastfailurereason resource.

" + "documentation":"

Gets the reason that a specified health check failed most recently.

" }, "GetHealthCheckStatus":{ "name":"GetHealthCheckStatus", @@ -439,7 +441,7 @@ {"shape":"NoSuchHealthCheck"}, {"shape":"InvalidInput"} ], - "documentation":"

Gets status of a specified health check. Send a GET request to the /2013-04-01/healthcheck/health check ID/status resource. You can use this call to get a health check's current status.

" + "documentation":"

Gets status of a specified health check.

" }, "GetHostedZone":{ "name":"GetHostedZone", @@ -453,7 +455,7 @@ {"shape":"NoSuchHostedZone"}, {"shape":"InvalidInput"} ], - "documentation":"

Retrieves the delegation set for a hosted zone, including the four name servers assigned to the hosted zone. Send a GET request to the /Amazon Route 53 API version/hostedzone/hosted zone ID resource.

" + "documentation":"

Gets information about a specified hosted zone including the four name servers assigned to the hosted zone.

" }, "GetHostedZoneCount":{ "name":"GetHostedZoneCount", @@ -466,7 +468,7 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

Retrieves a count of all your hosted zones. Send a GET request to the /2013-04-01/hostedzonecount resource.

" + "documentation":"

Retrieves the number of hosted zones that are associated with the current AWS account.

" }, "GetReusableDelegationSet":{ "name":"GetReusableDelegationSet", @@ -481,7 +483,7 @@ {"shape":"DelegationSetNotReusable"}, {"shape":"InvalidInput"} ], - "documentation":"

Retrieves the reusable delegation set. Send a GET request to the /2013-04-01/delegationset/delegation set ID resource.

" + "documentation":"

Retrieves information about a specified reusable delegation set, including the four name servers that are assigned to the delegation set.

" }, "GetTrafficPolicy":{ "name":"GetTrafficPolicy", @@ -495,7 +497,7 @@ {"shape":"NoSuchTrafficPolicy"}, {"shape":"InvalidInput"} ], - "documentation":"

Gets information about a specific traffic policy version.

Send a GET request to the /Amazon Route 53 API version/trafficpolicy resource.

" + "documentation":"

Gets information about a specific traffic policy version.

" }, "GetTrafficPolicyInstance":{ "name":"GetTrafficPolicyInstance", @@ -509,7 +511,7 @@ {"shape":"NoSuchTrafficPolicyInstance"}, {"shape":"InvalidInput"} ], - "documentation":"

Gets information about a specified traffic policy instance.

Send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance resource.

After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

In the Amazon Route 53 console, traffic policy instances are known as policy records.

" + "documentation":"

Gets information about a specified traffic policy instance.

After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

In the Amazon Route 53 console, traffic policy instances are known as policy records.

" }, "GetTrafficPolicyInstanceCount":{ "name":"GetTrafficPolicyInstanceCount", @@ -519,7 +521,7 @@ }, "input":{"shape":"GetTrafficPolicyInstanceCountRequest"}, "output":{"shape":"GetTrafficPolicyInstanceCountResponse"}, - "documentation":"

Gets the number of traffic policy instances that are associated with the current AWS account.

To get the number of traffic policy instances, send a GET request to the /2013-04-01/trafficpolicyinstancecount resource.

" + "documentation":"

Gets the number of traffic policy instances that are associated with the current AWS account.

" }, "ListGeoLocations":{ "name":"ListGeoLocations", @@ -532,7 +534,7 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

Retrieves a list of supported geo locations. Send a GET request to the /2013-04-01/geolocations resource. The response to this request includes a GeoLocationDetailsList element for each location that Amazon Route 53 supports.

Countries are listed first, and continents are listed last. If Amazon Route 53 supports subdivisions for a country (for example, states or provinces), the subdivisions for that country are listed in alphabetical order immediately after the corresponding country.

" + "documentation":"

Retrieves a list of supported geo locations.

Countries are listed first, and continents are listed last. If Amazon Route 53 supports subdivisions for a country (for example, states or provinces), the subdivisions for that country are listed in alphabetical order immediately after the corresponding country.

" }, "ListHealthChecks":{ "name":"ListHealthChecks", @@ -546,7 +548,7 @@ {"shape":"InvalidInput"}, {"shape":"IncompatibleVersion"} ], - "documentation":"

Retrieve a list of your health checks. Send a GET request to the /2013-04-01/healthcheck resource. The response to this request includes a HealthChecks element with zero or more HealthCheck child elements. By default, the list of health checks is displayed on a single page. You can control the length of the page that is displayed by using the MaxItems parameter. You can use the Marker parameter to control the health check that the list begins with.

For information about listing health checks using the Amazon Route 53 console, see Amazon Route 53 Health Checks and DNS Failover.

" + "documentation":"

Retrieve a list of the health checks that are associated with the current AWS account.

" }, "ListHostedZones":{ "name":"ListHostedZones", @@ -561,7 +563,7 @@ {"shape":"NoSuchDelegationSet"}, {"shape":"DelegationSetNotReusable"} ], - "documentation":"

To retrieve a list of your public and private hosted zones, send a GET request to the /2013-04-01/hostedzone resource. The response to this request includes a HostedZones child element for each hosted zone created by the current AWS account.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of hosted zones, you can use the maxitems parameter to list them in groups of up to 100. The response includes four values that help navigate from one group of maxitems hosted zones to the next:

  • MaxItems is the value specified for the maxitems parameter in the request that produced the current response.

  • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current AWS account.

  • NextMarker is the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZones, and specify the value of the NextMarker element in the marker parameter.

    If IsTruncated is false, the NextMarker element is omitted from the response.

  • If you're making the second or subsequent call to ListHostedZones, the Marker element matches the value that you specified in the marker parameter in the previous request.

" + "documentation":"

Retrieves a list of the public and private hosted zones that are associated with the current AWS account. The response includes a HostedZones child element for each hosted zone.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of hosted zones, you can use the maxitems parameter to list them in groups of up to 100.

" }, "ListHostedZonesByName":{ "name":"ListHostedZonesByName", @@ -575,7 +577,7 @@ {"shape":"InvalidInput"}, {"shape":"InvalidDomainName"} ], - "documentation":"

Retrieves a list of your hosted zones in lexicographic order. Send a GET request to the /2013-04-01/hostedzonesbyname resource. The response includes a HostedZones child element for each hosted zone created by the current AWS account.

ListHostedZonesByName sorts hosted zones by name with the labels reversed. For example:

  • com.example.www.

Note the trailing dot, which can change the sort order in some circumstances.

If the domain name includes escape characters or Punycode, ListHostedZonesByName alphabetizes the domain name using the escaped or Punycoded value, which is the format that Amazon Route 53 saves in its database. For example, to create a hosted zone for example.com, specify ex\\344mple.com for the domain name. ListHostedZonesByName alphabetizes it as:

  • com.ex\\344mple.

The labels are reversed and alphabetized using the escaped value. For more information about valid domain name formats, including internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

Amazon Route 53 returns up to 100 items in each response. If you have a lot of hosted zones, use the MaxItems parameter to list them in groups of up to 100. The response includes values that help navigate from one group of MaxItems hosted zones to the next:

  • The DNSName and HostedZoneId elements in the response contain the values, if any, specified for the dnsname and hostedzoneid parameters in the request that produced the current response.

  • The MaxItems element in the response contains the value, if any, that you specified for the maxitems parameter in the request that produced the current response.

  • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current AWS account.

    If IsTruncated is false, this response includes the last hosted zone that is associated with the current account. The NextDNSName element and NextHostedZoneId elements are omitted from the response.

  • The NextDNSName and NextHostedZoneId elements in the response contain the domain name and the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZonesByName, and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

" + "documentation":"

Retrieves a list of your hosted zones in lexicographic order. The response includes a HostedZones child element for each hosted zone created by the current AWS account.

ListHostedZonesByName sorts hosted zones by name with the labels reversed. For example:

com.example.www.

Note the trailing dot, which can change the sort order in some circumstances.

If the domain name includes escape characters or Punycode, ListHostedZonesByName alphabetizes the domain name using the escaped or Punycoded value, which is the format that Amazon Route 53 saves in its database. For example, to create a hosted zone for exämple.com, you specify ex\\344mple.com for the domain name. ListHostedZonesByName alphabetizes it as:

com.ex\\344mple.

The labels are reversed and alphabetized using the escaped value. For more information about valid domain name formats, including internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

Amazon Route 53 returns up to 100 items in each response. If you have a lot of hosted zones, use the MaxItems parameter to list them in groups of up to 100. The response includes values that help navigate from one group of MaxItems hosted zones to the next:

  • The DNSName and HostedZoneId elements in the response contain the values, if any, specified for the dnsname and hostedzoneid parameters in the request that produced the current response.

  • The MaxItems element in the response contains the value, if any, that you specified for the maxitems parameter in the request that produced the current response.

  • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current AWS account.

    If IsTruncated is false, this response includes the last hosted zone that is associated with the current account. The NextDNSName element and NextHostedZoneId elements are omitted from the response.

  • The NextDNSName and NextHostedZoneId elements in the response contain the domain name and the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZonesByName, and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

" }, "ListResourceRecordSets":{ "name":"ListResourceRecordSets", @@ -602,7 +604,7 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

To retrieve a list of your reusable delegation sets, send a GET request to the /2013-04-01/delegationset resource. The response to this request includes a DelegationSets element with zero, one, or multiple DelegationSet child elements. By default, the list of delegation sets is displayed on a single page. You can control the length of the page that is displayed by using the MaxItems parameter. You can use the Marker parameter to control the delegation set that the list begins with.

Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100.

" + "documentation":"

Retrieves a list of the reusable delegation sets that are associated with the current AWS account.

" }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -653,7 +655,7 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

Gets information about the latest version for every traffic policy that is associated with the current AWS account. Send a GET request to the /Amazon Route 53 API version/trafficpolicy resource.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policies, you can use the maxitems parameter to list them in groups of up to 100.

The response includes three values that help you navigate from one group of maxitems traffic policies to the next:

  • IsTruncated

    If the value of IsTruncated in the response is true, there are more traffic policies associated with the current AWS account.

    If IsTruncated is false, this response includes the last traffic policy that is associated with the current account.

  • TrafficPolicyIdMarker

    If IsTruncated is true, TrafficPolicyIdMarker is the ID of the first traffic policy in the next group of MaxItems traffic policies. If you want to list more traffic policies, make another call to ListTrafficPolicies, and specify the value of the TrafficPolicyIdMarker element from the response in the TrafficPolicyIdMarker request parameter.

    If IsTruncated is false, the TrafficPolicyIdMarker element is omitted from the response.

  • MaxItems

    The value that you specified for the MaxItems parameter in the request that produced the current response.

" + "documentation":"

Gets information about the latest version for every traffic policy that is associated with the current AWS account. Policies are listed in the order in which they were created.

" }, "ListTrafficPolicyInstances":{ "name":"ListTrafficPolicyInstances", @@ -667,7 +669,7 @@ {"shape":"InvalidInput"}, {"shape":"NoSuchTrafficPolicyInstance"} ], - "documentation":"

Gets information about the traffic policy instances that you created by using the current AWS account.

After you submit an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

Send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance resource.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

The response includes five values that help you navigate from one group of MaxItems traffic policy instances to the next:

  • IsTruncated

    If the value of IsTruncated in the response is true, there are more traffic policy instances associated with the current AWS account.

    If IsTruncated is false, this response includes the last traffic policy instance that is associated with the current account.

  • MaxItems

    The value that you specified for the MaxItems parameter in the request that produced the current response.

  • HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker

    If IsTruncated is true, these three values in the response represent the first traffic policy instance in the next group of MaxItems traffic policy instances. To list more traffic policy instances, make another call to ListTrafficPolicyInstances, and specify these values in the corresponding request parameters.

    If IsTruncated is false, all three elements are omitted from the response.

" + "documentation":"

Gets information about the traffic policy instances that you created by using the current AWS account.

After you submit an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

" }, "ListTrafficPolicyInstancesByHostedZone":{ "name":"ListTrafficPolicyInstancesByHostedZone", @@ -682,7 +684,7 @@ {"shape":"NoSuchTrafficPolicyInstance"}, {"shape":"NoSuchHostedZone"} ], - "documentation":"

Gets information about the traffic policy instances that you created in a specified hosted zone.

After you submit an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

Send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance resource and include the ID of the hosted zone.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

The response includes four values that help you navigate from one group of MaxItems traffic policy instances to the next:

  • IsTruncated

    If the value of IsTruncated in the response is true, there are more traffic policy instances associated with the current AWS account.

    If IsTruncated is false, this response includes the last traffic policy instance that is associated with the current account.

  • MaxItems

    The value that you specified for the MaxItems parameter in the request that produced the current response.

  • TrafficPolicyInstanceNameMarker and TrafficPolicyInstanceTypeMarker

    If IsTruncated is true, these two values in the response represent the first traffic policy instance in the next group of MaxItems traffic policy instances. To list more traffic policy instances, make another call to ListTrafficPolicyInstancesByHostedZone, and specify these values in the corresponding request parameters.

    If IsTruncated is false, all three elements are omitted from the response.

" + "documentation":"

Gets information about the traffic policy instances that you created in a specified hosted zone.

After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

" }, "ListTrafficPolicyInstancesByPolicy":{ "name":"ListTrafficPolicyInstancesByPolicy", @@ -697,7 +699,7 @@ {"shape":"NoSuchTrafficPolicyInstance"}, {"shape":"NoSuchTrafficPolicy"} ], - "documentation":"

Gets information about the traffic policy instances that you created by using a specify traffic policy version.

After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

Send a GET request to the /Route 53 API version/trafficpolicyinstance resource and include the ID and version of the traffic policy.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

The response includes five values that help you navigate from one group of MaxItems traffic policy instances to the next:

  • IsTruncated

    If the value of IsTruncated in the response is true, there are more traffic policy instances associated with the specified traffic policy.

    If IsTruncated is false, this response includes the last traffic policy instance that is associated with the specified traffic policy.

  • MaxItems

    The value that you specified for the MaxItems parameter in the request that produced the current response.

  • HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker

    If IsTruncated is true, these values in the response represent the first traffic policy instance in the next group of MaxItems traffic policy instances. To list more traffic policy instances, make another call to ListTrafficPolicyInstancesByPolicy, and specify these values in the corresponding request parameters.

    If IsTruncated is false, all three elements are omitted from the response.

" + "documentation":"

Gets information about the traffic policy instances that you created by using a specify traffic policy version.

After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

" }, "ListTrafficPolicyVersions":{ "name":"ListTrafficPolicyVersions", @@ -711,7 +713,7 @@ {"shape":"InvalidInput"}, {"shape":"NoSuchTrafficPolicy"} ], - "documentation":"

Gets information about all of the versions for a specified traffic policy.

Send a GET request to the /Amazon Route 53 API version/trafficpolicy resource and specify the ID of the traffic policy for which you want to list versions.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policies, you can use the maxitems parameter to list them in groups of up to 100.

The response includes three values that help you navigate from one group of maxitems traffic policies to the next:

  • IsTruncated

    If the value of IsTruncated in the response is true, there are more traffic policy versions associated with the specified traffic policy.

    If IsTruncated is false, this response includes the last traffic policy version that is associated with the specified traffic policy.

  • TrafficPolicyVersionMarker

    The ID of the next traffic policy version that is associated with the current AWS account. If you want to list more traffic policies, make another call to ListTrafficPolicyVersions, and specify the value of the TrafficPolicyVersionMarker element in the TrafficPolicyVersionMarker request parameter.

    If IsTruncated is false, Amazon Route 53 omits the TrafficPolicyVersionMarker element from the response.

  • MaxItems

    The value that you specified for the MaxItems parameter in the request that produced the current response.

" + "documentation":"

Gets information about all of the versions for a specified traffic policy.

Traffic policy versions are listed in numerical order by VersionNumber.

" }, "ListVPCAssociationAuthorizations":{ "name":"ListVPCAssociationAuthorizations", @@ -726,7 +728,7 @@ {"shape":"InvalidInput"}, {"shape":"InvalidPaginationToken"} ], - "documentation":"

Gets a list of the VPCs that were created by other accounts and that can be associated with a specified hosted zone because you've submitted one or more CreateVPCAssociationAuthorization requests.

Send a GET request to the /2013-04-01/hostedzone/hosted zone ID/authorizevpcassociation resource. The response to this request includes a VPCs element with a VPC child element for each VPC that can be associated with the hosted zone.

Amazon Route 53 returns up to 50 VPCs per page. To return fewer VPCs per page, include the MaxResults parameter:

/2013-04-01/hostedzone/hosted zone ID/authorizevpcassociation?MaxItems=VPCs per page

If the response includes a NextToken element, there are more VPCs to list. To get the next page of VPCs, submit another ListVPCAssociationAuthorizations request, and include the value of the NextToken element from the response in the NextToken request parameter:

/2013-04-01/hostedzone/hosted zone ID/authorizevpcassociation?MaxItems=VPCs per page&NextToken=

" + "documentation":"

Gets a list of the VPCs that were created by other accounts and that can be associated with a specified hosted zone because you've submitted one or more CreateVPCAssociationAuthorization requests.

The response includes a VPCs element with a VPC child element for each VPC that can be associated with the hosted zone.

" }, "TestDNSAnswer":{ "name":"TestDNSAnswer", @@ -759,7 +761,7 @@ {"shape":"InvalidInput"}, {"shape":"HealthCheckVersionMismatch"} ], - "documentation":"

Updates an existing health check.

Send a POST request to the /2013-04-01/healthcheck/health check ID resource. The request body must include a document with an UpdateHealthCheckRequest element. For more information about updating health checks, see Creating, Updating, and Deleting Health Checks in the Amazon Route 53 Developer Guide.

" + "documentation":"

Updates an existing health check. Note that some values can't be updated.

For more information about updating health checks, see Creating, Updating, and Deleting Health Checks in the Amazon Route 53 Developer Guide.

" }, "UpdateHostedZoneComment":{ "name":"UpdateHostedZoneComment", @@ -777,7 +779,7 @@ {"shape":"NoSuchHostedZone"}, {"shape":"InvalidInput"} ], - "documentation":"

Updates the hosted zone comment. Send a POST request to the /2013-04-01/hostedzone/hosted zone ID resource.

" + "documentation":"

Updates the comment for a specified hosted zone.

" }, "UpdateTrafficPolicyComment":{ "name":"UpdateTrafficPolicyComment", @@ -796,7 +798,7 @@ {"shape":"NoSuchTrafficPolicy"}, {"shape":"ConcurrentModification"} ], - "documentation":"

Updates the comment for a specified traffic policy version.

Send a POST request to the /2013-04-01/trafficpolicy/ resource.

The request body must include a document with an UpdateTrafficPolicyCommentRequest element.

" + "documentation":"

Updates the comment for a specified traffic policy version.

" }, "UpdateTrafficPolicyInstance":{ "name":"UpdateTrafficPolicyInstance", @@ -817,7 +819,7 @@ {"shape":"PriorRequestNotComplete"}, {"shape":"ConflictingTypes"} ], - "documentation":"

Updates the resource record sets in a specified hosted zone that were created based on the settings in a specified traffic policy version.

Send a POST request to the /2013-04-01/trafficpolicyinstance/traffic policy ID resource. The request body must include a document with an UpdateTrafficPolicyInstanceRequest element.

When you update a traffic policy instance, Amazon Route 53 continues to respond to DNS queries for the root resource record set name (such as example.com) while it replaces one group of resource record sets with another. Amazon Route 53 performs the following operations:

  1. Amazon Route 53 creates a new group of resource record sets based on the specified traffic policy. This is true regardless of how substantial the differences are between the existing resource record sets and the new resource record sets.

  2. When all of the new resource record sets have been created, Amazon Route 53 starts to respond to DNS queries for the root resource record set name (such as example.com) by using the new resource record sets.

  3. Amazon Route 53 deletes the old group of resource record sets that are associated with the root resource record set name.

" + "documentation":"

Updates the resource record sets in a specified hosted zone that were created based on the settings in a specified traffic policy version.

When you update a traffic policy instance, Amazon Route 53 continues to respond to DNS queries for the root resource record set name (such as example.com) while it replaces one group of resource record sets with another. Amazon Route 53 performs the following operations:

  1. Amazon Route 53 creates a new group of resource record sets based on the specified traffic policy. This is true regardless of how significant the differences are between the existing resource record sets and the new resource record sets.

  2. When all of the new resource record sets have been created, Amazon Route 53 starts to respond to DNS queries for the root resource record set name (such as example.com) by using the new resource record sets.

  3. Amazon Route 53 deletes the old group of resource record sets that are associated with the root resource record set name.

" } }, "shapes":{ @@ -830,7 +832,7 @@ "members":{ "Region":{ "shape":"CloudWatchRegion", - "documentation":"

A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.

For the current list of CloudWatch regions, see Amazon CloudWatch in AWS Regions and Endpoints in the Amazon Web Services General Reference.

" + "documentation":"

A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.

For the current list of CloudWatch regions, see Amazon CloudWatch in the AWS Regions and Endpoints chapter of the Amazon Web Services General Reference.

" }, "Name":{ "shape":"AlarmName", @@ -855,18 +857,18 @@ "members":{ "HostedZoneId":{ "shape":"ResourceId", - "documentation":"

Alias resource records sets only: The value used depends on where the queries are routed:

A CloudFront distribution

Specify Z2FDTNDATAQYW2.

Alias resource record sets for CloudFront can't be created in a private zone.

Elastic Beanstalk environment

Specify the hosted zone ID for the region in which you created the environment. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see AWS Elastic Beanstalk in the Regions and Endpoints chapter of the Amazon Web Services General Reference.

ELB load balancer

Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:

  • AWS Management Console: Go to the Amazon EC2 page, click Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted zone field on the Description tab. Use the same process to get the value of DNS name. (You specify the value of DNS name for AliasTarget$DNSName.)

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of CanonicalHostedZoneNameId and DNSName. (You specify the value of DNSName for AliasTarget$DNSName.) For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the value of CanonicalHostedZoneNameID and DNSName. (You specify the value of DNSName for AliasTarget$DNSName.)

An Amazon S3 bucket configured as a static website

Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table Amazon Simple Storage Service Website Endpoints in the Amazon Web Services General Reference.

Another Amazon Route 53 resource record set in your hosted zone

Specify the hosted zone ID of your hosted zone. (An alias resource record set can't reference a resource record set in a different hosted zone.)

" + "documentation":"

Alias resource records sets only: The value used depends on where you want to route traffic:

CloudFront distribution

Specify Z2FDTNDATAQYW2.

Alias resource record sets for CloudFront can't be created in a private zone.

Elastic Beanstalk environment

Specify the hosted zone ID for the region in which you created the environment. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see AWS Elastic Beanstalk in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference.

ELB load balancer

Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:

  • Elastic Load Balancing table in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference: Use the value in the \"Amazon Route 53 Hosted Zone ID\" column that corresponds with the region that you created your load balancer in.

  • AWS Management Console: Go to the Amazon EC2 page, click Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted zone field on the Description tab.

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of CanonicalHostedZoneNameId. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the value of CanonicalHostedZoneNameID.

An Amazon S3 bucket configured as a static website

Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the Amazon Simple Storage Service Website Endpoints table in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference.

Another Amazon Route 53 resource record set in your hosted zone

Specify the hosted zone ID of your hosted zone. (An alias resource record set can't reference a resource record set in a different hosted zone.)

" }, "DNSName":{ "shape":"DNSName", - "documentation":"

Alias resource record sets only: The value that you specify depends on where you want to route queries:

  • A CloudFront distribution: Specify the domain name that CloudFront assigned when you created your distribution.

    Your CloudFront distribution must include an alternate domain name that matches the name of the resource record set. For example, if the name of the resource record set is acme.example.com, your CloudFront distribution must include acme.example.com as one of the alternate domain names. For more information, see Using Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer Guide.

  • Elastic Beanstalk environment: Specify the CNAME attribute for the environment. (The environment must have a regionalized domain name.) You can use the following methods to get the value of the CNAME attribute:

    • AWS Management Console: For information about how to get the value by using the console, see Using Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk Developer Guide.

    • Elastic Beanstalk API: Use the DescribeEnvironments action to get the value of the CNAME attribute. For more information, see DescribeEnvironments in the AWS Elastic Beanstalk API Reference.

    • AWS CLI: Use the describe-environments command to get the value of the CNAME attribute. For more information, see describe-environments in the AWS Command Line Interface Reference.

  • An ELB load balancer: Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console, the ELB API, or the AWS CLI. Use the same method to get values for HostedZoneId and DNSName. If you get one value from the console and the other value from the API or the CLI, creating the resource record set will fail.

    • AWS Management Console: Go to the EC2 page, click Load Balancers in the navigation pane, choose the load balancer, choose the Description tab, and get the value of the DNS name field. (If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack.) Use the same process to get the value of the Hosted zone field. See AliasTarget$HostedZoneId.

    • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of DNSName and CanonicalHostedZoneNameId. (You specify the value of CanonicalHostedZoneNameId for AliasTarget$HostedZoneId.) For more information, see the applicable guide:

    • AWS CLI: Use describe-load-balancers to get the value of DNSName and CanonicalHostedZoneNameId. (You specify the value of CanonicalHostedZoneNameId for AliasTarget$HostedZoneId.)

  • An Amazon S3 bucket that is configured as a static website: Specify the domain name of the Amazon S3 website endpoint in which you created the bucket, for example, s3-website-us-east-1.amazonaws.com. For more information about valid values, see the table Amazon Simple Storage Service (S3) Website Endpoints in the Amazon Web Services General Reference. For more information about using S3 buckets for websites, see Getting Started with Amazon Route 53 in the Amazon Route 53 Developer Guide.

  • Another Amazon Route 53 resource record set: Specify the value of the Name element for a resource record set in the current hosted zone.

" + "documentation":"

Alias resource record sets only: The value that you specify depends on where you want to route queries:

CloudFront distribution

Specify the domain name that CloudFront assigned when you created your distribution.

Your CloudFront distribution must include an alternate domain name that matches the name of the resource record set. For example, if the name of the resource record set is acme.example.com, your CloudFront distribution must include acme.example.com as one of the alternate domain names. For more information, see Using Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer Guide.

Elastic Beanstalk environment

Specify the CNAME attribute for the environment. (The environment must have a regionalized domain name.) You can use the following methods to get the value of the CNAME attribute:

  • AWS Management Console: For information about how to get the value by using the console, see Using Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk Developer Guide.

  • Elastic Beanstalk API: Use the DescribeEnvironments action to get the value of the CNAME attribute. For more information, see DescribeEnvironments in the AWS Elastic Beanstalk API Reference.

  • AWS CLI: Use the describe-environments command to get the value of the CNAME attribute. For more information, see describe-environments in the AWS Command Line Interface Reference.

ELB load balancer

Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console, the ELB API, or the AWS CLI.

  • AWS Management Console: Go to the EC2 page, choose Load Balancers in the navigation pane, choose the load balancer, choose the Description tab, and get the value of the DNS name field. (If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack.)

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of DNSName. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the value of DNSName.

Amazon S3 bucket that is configured as a static website

Specify the domain name of the Amazon S3 website endpoint in which you created the bucket, for example, s3-website-us-east-2.amazonaws.com. For more information about valid values, see the table Amazon Simple Storage Service (S3) Website Endpoints in the Amazon Web Services General Reference. For more information about using S3 buckets for websites, see Getting Started with Amazon Route 53 in the Amazon Route 53 Developer Guide.

Another Amazon Route 53 resource record set

Specify the value of the Name element for a resource record set in the current hosted zone.

" }, "EvaluateTargetHealth":{ "shape":"AliasHealthEnabled", - "documentation":"

Applies only to alias, weighted alias, latency alias, and failover alias record sets: If you set the value of EvaluateTargetHealth to true for the resource record set or sets in an alias, weighted alias, latency alias, or failover alias resource record set, and if you specify a value for HealthCheck$Id for every resource record set that is referenced by these alias resource record sets, the alias resource record sets inherit the health of the referenced resource record sets.

In this configuration, when Amazon Route 53 receives a DNS query for an alias resource record set:

  • Amazon Route 53 looks at the resource record sets that are referenced by the alias resource record sets to determine which health checks they're using.

  • Amazon Route 53 checks the current status of each health check. (Amazon Route 53 periodically checks the health of the endpoint that is specified in a health check; it doesn't perform the health check when the DNS query arrives.)

  • Based on the status of the health checks, Amazon Route 53 determines which resource record sets are healthy. Unhealthy resource record sets are immediately removed from consideration. In addition, if all of the resource record sets that are referenced by an alias resource record set are unhealthy, that alias resource record set also is immediately removed from consideration.

  • Based on the configuration of the alias resource record sets (weighted alias or latency alias, for example) and the configuration of the resource record sets that they reference, Amazon Route 53 chooses a resource record set from the healthy resource record sets, and responds to the query.

Note the following:

  • You can't set EvaluateTargetHealth to true when the alias target is a CloudFront distribution.

  • If the AWS resource that you specify in AliasTarget is a resource record set or a group of resource record sets (for example, a group of weighted resource record sets), but it is not another alias resource record set, we recommend that you associate a health check with all of the resource record sets in the alias target.For more information, see What Happens When You Omit Health Checks? in the Amazon Route 53 Developer Guide.

  • If you specify an Elastic Beanstalk environment in HostedZoneId and DNSName, and if the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one EC2 instance.) If you set EvaluateTargetHealth to true and either no EC2 instances are healthy or the load balancer itself is unhealthy, Amazon Route 53 routes queries to other available resources that are healthy, if any.

    If the environment contains a single EC2 instance, there are no special requirements.

  • If you specify an ELB load balancer in AliasTarget , Elastic Load Balancing routes queries only to the healthy EC2 instances that are registered with the load balancer. If no EC2 instances are healthy or if the load balancer itself is unhealthy, and if EvaluateTargetHealth is true for the corresponding alias resource record set, Amazon Route 53 routes queries to other resources. When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Amazon Route 53 health checks, but they perform a similar function. Do not create Amazon Route 53 health checks for the EC2 instances that you register with an ELB load balancer.

    For more information, see How Health Checks Work in More Complex Amazon Route 53 Configurations in the Amazon Route 53 Developers Guide.

  • We recommend that you set EvaluateTargetHealth to true only when you have enough idle capacity to handle the failure of one or more endpoints.

For more information and examples, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.

" + "documentation":"

Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets: When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer, or the referenced resource record set.

Note the following:

  • You can't set EvaluateTargetHealth to true when the alias target is a CloudFront distribution.

  • If the AWS resource that you specify in AliasTarget is a resource record set or a group of resource record sets (for example, a group of weighted resource record sets), but it is not another alias resource record set, we recommend that you associate a health check with all of the resource record sets in the alias target. For more information, see What Happens When You Omit Health Checks? in the Amazon Route 53 Developer Guide.

  • If you specify an Elastic Beanstalk environment in HostedZoneId and DNSName, and if the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one EC2 instance.) If you set EvaluateTargetHealth to true and either no EC2 instances are healthy or the load balancer itself is unhealthy, Amazon Route 53 routes queries to other available resources that are healthy, if any.

    If the environment contains a single EC2 instance, there are no special requirements.

  • If you specify an ELB load balancer in AliasTarget , ELB routes queries only to the healthy EC2 instances that are registered with the load balancer. If no EC2 instances are healthy or if the load balancer itself is unhealthy, and if EvaluateTargetHealth is true for the corresponding alias resource record set, Amazon Route 53 routes queries to other resources. When you create a load balancer, you configure settings for ELB health checks; they're not Amazon Route 53 health checks, but they perform a similar function. Do not create Amazon Route 53 health checks for the EC2 instances that you register with an ELB load balancer.

    For more information, see How Health Checks Work in More Complex Amazon Route 53 Configurations in the Amazon Route 53 Developer Guide.

  • We recommend that you set EvaluateTargetHealth to true only when you have enough idle capacity to handle the failure of one or more endpoints.

For more information and examples, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.

" } }, - "documentation":"

Alias resource record sets only: Information about the CloudFront distribution, Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set that you're redirecting queries to. The Elastic Beanstalk environment must have a regionalized subdomain.

When creating resource record sets for a private hosted zone, note the following:

  • Resource record sets can't be created for CloudFront distributions in a private hosted zone.

  • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

  • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone.

" + "documentation":"

Alias resource record sets only: Information about the CloudFront distribution, Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set that you're redirecting queries to. An Elastic Beanstalk environment must have a regionalized subdomain.

When creating resource record sets for a private hosted zone, note the following:

  • Resource record sets can't be created for CloudFront distributions in a private hosted zone.

  • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

  • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone.

" }, "AssociateVPCComment":{"type":"string"}, "AssociateVPCWithHostedZoneRequest":{ @@ -963,7 +965,7 @@ }, "SubmittedAt":{ "shape":"TimeStamp", - "documentation":"

The date and time the change request was submitted, in Coordinated Universal Time (UTC) format: YYYY-MM-DDThh:mm:ssZ. For more information, see the Wikipedia entry ISO 8601.

" + "documentation":"

The date and time that the change request was submitted in ISO 8601 format and Coordinated Universal Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC.

" }, "Comment":{ "shape":"ResourceDescription", @@ -1031,7 +1033,7 @@ }, "AddTags":{ "shape":"TagList", - "documentation":"

A complex type that contains a list of the tags that you want to add to the specified health check or hosted zone and/or the tags for which you want to edit the Value element.

You can add a maximum of 10 tags to a health check or a hosted zone.

" + "documentation":"

A complex type that contains a list of the tags that you want to add to the specified health check or hosted zone and/or the tags that you want to edit Value for.

You can add a maximum of 10 tags to a health check or a hosted zone.

" }, "RemoveTagKeys":{ "shape":"TagKeyList", @@ -1108,7 +1110,7 @@ }, "Dimensions":{ "shape":"DimensionList", - "documentation":"

For the metric that the CloudWatch alarm is associated with, a complex type that contains information about the dimensions for the metric.For information, see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference in the Amazon CloudWatch User Guide.

" + "documentation":"

For the metric that the CloudWatch alarm is associated with, a complex type that contains information about the dimensions for the metric. For information, see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference in the Amazon CloudWatch User Guide.

" } }, "documentation":"

A complex type that contains information about the CloudWatch alarm that Amazon Route 53 is monitoring for this health check.

" @@ -1160,7 +1162,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

You specified an Amazon VPC that you're already using for another hosted zone, and the domain that you specified for one of the hosted zones is a subdomain of the domain that you specified for the other hosted zone. For example, you can't use the same Amazon VPC for the hosted zones for example.com and test.example.com.

", + "documentation":"

The cause of this error depends on whether you're trying to create a public or a private hosted zone:

  • Public hosted zone: Two hosted zones that have the same name or that have a parent/child relationship (example.com and test.example.com) can't have any common name servers. You tried to create a hosted zone that has the same name as an existing hosted zone or that's the parent or child of an existing hosted zone, and you specified a delegation set that shares one or more name servers with the existing hosted zone.

  • Private hosted zone: You specified an Amazon VPC that you're already using for another hosted zone, and the domain that you specified for one of the hosted zones is a subdomain of the domain that you specified for the other hosted zone. For example, you can't use the same Amazon VPC for the hosted zones for example.com and test.example.com.

", "exception":true }, "ConflictingTypes":{ @@ -1184,7 +1186,7 @@ "members":{ "CallerReference":{ "shape":"HealthCheckNonce", - "documentation":"

A unique string that identifies the request and that allows failed CreateHealthCheck requests to be retried without the risk of executing the operation twice. You must use a unique CallerReference string every time you create a health check.

" + "documentation":"

A unique string that identifies the request and that allows you to retry a failed CreateHealthCheck request without the risk of creating two identical health checks:

  • If you send a CreateHealthCheck request with the same CallerReference and settings as a previous request, and if the health check doesn't exist, Amazon Route 53 creates the health check. If the health check does exist, Amazon Route 53 returns the settings for the existing health check.

  • If you send a CreateHealthCheck request with the same CallerReference as a deleted health check, regardless of the settings, Amazon Route 53 returns a HealthCheckAlreadyExists error.

  • If you send a CreateHealthCheck request with the same CallerReference as an existing health check but with different settings, Amazon Route 53 returns a HealthCheckAlreadyExists error.

  • If you send a CreateHealthCheck request with a unique CallerReference but settings identical to an existing health check, Amazon Route 53 creates the health check.

" }, "HealthCheckConfig":{ "shape":"HealthCheckConfig", @@ -1222,26 +1224,26 @@ "members":{ "Name":{ "shape":"DNSName", - "documentation":"

The name of the domain. For resource record types that include a domain name, specify a fully qualified domain name, for example, www.example.com. The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Amazon Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Amazon Route 53, change the name servers for your domain to the set of NameServers that CreateHostedZone returns in the DelegationSet element.

" + "documentation":"

The name of the domain. For resource record types that include a domain name, specify a fully qualified domain name, for example, www.example.com. The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Amazon Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Amazon Route 53, change the name servers for your domain to the set of NameServers that CreateHostedZone returns in DelegationSet.

" }, "VPC":{ "shape":"VPC", - "documentation":"

The VPC that you want your hosted zone to be associated with. By providing this parameter, your newly created hosted can't be resolved anywhere other than the given VPC.

" + "documentation":"

(Private hosted zones only) A complex type that contains information about the Amazon VPC that you're associating with this hosted zone.

You can specify only one Amazon VPC when you create a private hosted zone. To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone after you create a hosted zone.

" }, "CallerReference":{ "shape":"Nonce", - "documentation":"

A unique string that identifies the request and that allows failed CreateHostedZone requests to be retried without the risk of executing the operation twice. You must use a unique CallerReference string every time you create a hosted zone. CallerReference can be any unique string, for example, a date/time stamp.

" + "documentation":"

A unique string that identifies the request and that allows failed CreateHostedZone requests to be retried without the risk of executing the operation twice. You must use a unique CallerReference string every time you submit a CreateHostedZone request. CallerReference can be any unique string, for example, a date/time stamp.

" }, "HostedZoneConfig":{ "shape":"HostedZoneConfig", - "documentation":"

(Optional) A complex type that contains an optional comment about your hosted zone. If you don't want to specify a comment, omit both the HostedZoneConfig and Comment elements.

" + "documentation":"

(Optional) A complex type that contains the following optional values:

  • For public and private hosted zones, an optional comment

  • For private hosted zones, an optional PrivateZone element

If you don't specify a comment or the PrivateZone element, omit HostedZoneConfig and the other elements.

" }, "DelegationSetId":{ "shape":"ResourceId", - "documentation":"

If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDelegationSet.

Type

String

Default

None

Parent

CreatedHostedZoneRequest

" + "documentation":"

If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDelegationSet.

" } }, - "documentation":"

A complex type containing the hosted zone request information.

" + "documentation":"

A complex type that contains information about the request to create a hosted zone.

" }, "CreateHostedZoneResponse":{ "type":"structure", @@ -1258,7 +1260,7 @@ }, "ChangeInfo":{ "shape":"ChangeInfo", - "documentation":"

A complex type that describes the changes made to your hosted zone.

" + "documentation":"

A complex type that contains information about the CreateHostedZone request.

" }, "DelegationSet":{ "shape":"DelegationSet", @@ -1427,7 +1429,7 @@ "documentation":"

The comment that you specified in the CreateTrafficPolicyVersion request, if any.

" } }, - "documentation":"

A complex type that contains information about the traffic policy for which you want to create a new version.

" + "documentation":"

A complex type that contains information about the traffic policy that you want to create a new version for.

" }, "CreateTrafficPolicyVersionResponse":{ "type":"structure", @@ -1485,7 +1487,7 @@ "documentation":"

The VPC that you authorized associating with a hosted zone.

" } }, - "documentation":"

A complex type that contains the response information from a CreateVPCAssociationAuthorization request.

" + "documentation":"

A complex type that contains the response information from a CreateVPCAssociationAuthorization request.

" }, "DNSName":{ "type":"string", @@ -1502,14 +1504,14 @@ }, "CallerReference":{ "shape":"Nonce", - "documentation":"

A unique string that identifies the request, and that allows you to retry failed CreateReusableDelegationSet requests without the risk of executing the operation twice. You must use a unique CallerReference string every time you submit a CreateReusableDelegationSet request. CallerReference can be any unique string, for example, a date/time stamp.

" + "documentation":"

The value that you specified for CallerReference when you created the reusable delegation set.

" }, "NameServers":{ "shape":"DelegationSetNameServers", - "documentation":"

A complex type that contains a list of the authoritative name servers for the hosted zone.

" + "documentation":"

A complex type that contains a list of the authoritative name servers for a hosted zone or for a reusable delegation set.

" } }, - "documentation":"

A complex type that describes the name servers for this hosted zone.

" + "documentation":"

A complex type that lists the name servers in a delegation set, as well as the CallerReference and the ID for the delegation set.

" }, "DelegationSetAlreadyCreated":{ "type":"structure", @@ -1592,7 +1594,7 @@ "locationName":"HealthCheckId" } }, - "documentation":"

This action deletes a health check. Send a DELETE request to the /2013-04-01/DeleteHealthCheckRequest resource.

" + "documentation":"

This action deletes a health check.

" }, "DeleteHealthCheckResponse":{ "type":"structure", @@ -1611,7 +1613,7 @@ "locationName":"Id" } }, - "documentation":"

A complex type that contains information about the hosted zone that you want to delete.

" + "documentation":"

A request to delete a hosted zone.

" }, "DeleteHostedZoneResponse":{ "type":"structure", @@ -1619,10 +1621,10 @@ "members":{ "ChangeInfo":{ "shape":"ChangeInfo", - "documentation":"

A complex type that contains the ID, the status, and the date and time of your delete request.

" + "documentation":"

A complex type that contains the ID, the status, and the date and time of a request to delete a hosted zone.

" } }, - "documentation":"

A complex type containing the response information for the request.

" + "documentation":"

A complex type that contains the response to a DeleteHostedZone request.

" }, "DeleteReusableDelegationSetRequest":{ "type":"structure", @@ -1630,12 +1632,12 @@ "members":{ "Id":{ "shape":"ResourceId", - "documentation":"

The ID of the reusable delegation set you want to delete.

", + "documentation":"

The ID of the reusable delegation set that you want to delete.

", "location":"uri", "locationName":"Id" } }, - "documentation":"

A complex type containing the information for the delete request.

" + "documentation":"

A request to delete a reusable delegation set.

" }, "DeleteReusableDelegationSetResponse":{ "type":"structure", @@ -1654,7 +1656,7 @@ "locationName":"Id" } }, - "documentation":"

A complex type that contains information about the traffic policy instance that you want to delete.

" + "documentation":"

A request to delete a specified traffic policy instance.

" }, "DeleteTrafficPolicyInstanceResponse":{ "type":"structure", @@ -1896,7 +1898,7 @@ "members":{ "Id":{ "shape":"ResourceId", - "documentation":"

The ID of the change batch request. The value that you specify here is the value that ChangeResourceRecordSets returned in the Id element when you submitted the request.

", + "documentation":"

The ID of the change batch request. The value that you specify here is the value that ChangeResourceRecordSets returned in the Id element when you submitted the request.

", "location":"uri", "locationName":"Id" } @@ -1917,19 +1919,14 @@ "GetCheckerIpRangesRequest":{ "type":"structure", "members":{ - }, - "documentation":"

Empty request.

" + } }, "GetCheckerIpRangesResponse":{ "type":"structure", "required":["CheckerIpRanges"], "members":{ - "CheckerIpRanges":{ - "shape":"CheckerIpRanges", - "documentation":"

A complex type that contains sorted list of IP ranges in CIDR format for Amazon Route 53 health checkers.

" - } - }, - "documentation":"

A complex type that contains the CheckerIpRanges element.

" + "CheckerIpRanges":{"shape":"CheckerIpRanges"} + } }, "GetGeoLocationRequest":{ "type":"structure", @@ -1953,7 +1950,7 @@ "locationName":"subdivisioncode" } }, - "documentation":"

A complex type that contains information about the request to get a geo location.

" + "documentation":"

A request for information about whether a specified geographic location is supported for Amazon Route 53 geolocation resource record sets.

" }, "GetGeoLocationResponse":{ "type":"structure", @@ -1970,7 +1967,7 @@ "type":"structure", "members":{ }, - "documentation":"

To retrieve a count of all your health checks, send a GET request to the /2013-04-01/healthcheckcount resource.

" + "documentation":"

A request for the number of health checks that are associated with the current AWS account.

" }, "GetHealthCheckCountResponse":{ "type":"structure", @@ -1981,7 +1978,7 @@ "documentation":"

The number of health checks associated with the current AWS account.

" } }, - "documentation":"

A complex type that contains the response to a healthcheckcount request.

" + "documentation":"

A complex type that contains the response to a GetHealthCheckCount request.

" }, "GetHealthCheckLastFailureReasonRequest":{ "type":"structure", @@ -1994,7 +1991,7 @@ "locationName":"HealthCheckId" } }, - "documentation":"

This action gets the reason that a specified health check failed most recently.

To get the reason for the last failure of a health check, send a GET request to the /2013-04-01/healthcheck/health check ID/lastfailurereason resource.

For information about viewing the last failure reason for a health check using the Amazon Route 53 console, see Viewing Health Check Status and the Reason for Health Check Failures in the Amazon Route 53 Developer Guide.

" + "documentation":"

A request for the reason that a health check failed most recently.

" }, "GetHealthCheckLastFailureReasonResponse":{ "type":"structure", @@ -2018,7 +2015,7 @@ "locationName":"HealthCheckId" } }, - "documentation":"

This action gets information about a specified health check.

Send a GET request to the /Amazon Route 53 API version/gethealthcheckrequest resource.

For information about getting information about a health check using the Amazon Route 53 console, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.

" + "documentation":"

A request to get information about a specified health check.

" }, "GetHealthCheckResponse":{ "type":"structure", @@ -2037,12 +2034,12 @@ "members":{ "HealthCheckId":{ "shape":"HealthCheckId", - "documentation":"

If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a health check is passing, include the HealthCheckId element and specify the ID of the applicable health check.

Amazon Route 53 determines whether a resource record set is healthy by periodically sending a request to the endpoint that is specified in the health check. If that endpoint returns an HTTP status code of 2xx or 3xx, the endpoint is healthy. If the endpoint returns an HTTP status code of 400 or greater, or if the endpoint doesn't respond for a certain amount of time, Amazon Route 53 considers the endpoint unhealthy and also considers the resource record set unhealthy.

The HealthCheckId element is only useful when Amazon Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on the status of a health check. Configuring health checks only makes sense in the following configurations:

  • You're checking the health of the resource record sets in a weighted, latency, geolocation, or failover resource record set, and you specify health check IDs for all of the resource record sets. If the health check for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 stops responding to queries using the value for that resource record set.

  • You set EvaluateTargetHealth to true for the resource record sets in an alias, weighted alias, latency alias, geolocation alias, or failover alias resource record set, and you specify health check IDs for all of the resource record sets that are referenced by the alias resource record sets. For more information about this configuration, see EvaluateTargetHealth.

    Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for example, the endpoint specified by the IP address in the Value element. When you add a HealthCheckId element to a resource record set, Amazon Route 53 checks the health of the endpoint that you specified in the health check.

For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the United States, for North America, and for all locations. If the endpoint for the state resource record set is unhealthy, Amazon Route 53 checks the resource record sets for the United States, for North America, and for all locations (a resource record set for which the value of CountryCode is *), in that order, until it finds a resource record set for which the endpoint is healthy.

If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-1-www.example.com), not the name of the resource record sets (example.com).

In this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the resource record sets and then associate the health check with those resource record sets, health check results will be unpredictable.

", + "documentation":"

The ID for the health check that you want the current status for. When you created the health check, CreateHealthCheck returned the ID in the response, in the HealthCheckId element.

If you want to check the status of a calculated health check, you must use the Amazon Route 53 console or the CloudWatch console. You can't use GetHealthCheckStatus to get the status of a calculated health check.

", "location":"uri", "locationName":"HealthCheckId" } }, - "documentation":"

A complex type that contains information about the request to get health check status for a health check.

" + "documentation":"

A request to get the status for a health check.

" }, "GetHealthCheckStatusResponse":{ "type":"structure", @@ -2059,7 +2056,7 @@ "type":"structure", "members":{ }, - "documentation":"

To retrieve a count of all your hosted zones, send a GET request to the /2013-04-01/hostedzonecount resource.

" + "documentation":"

A request to retrieve a count of all the hosted zones that are associated with the current AWS account.

" }, "GetHostedZoneCountResponse":{ "type":"structure", @@ -2067,10 +2064,10 @@ "members":{ "HostedZoneCount":{ "shape":"HostedZoneCount", - "documentation":"

The total number of public and private hosted zones associated with the current AWS account.

" + "documentation":"

The total number of public and private hosted zones that are associated with the current AWS account.

" } }, - "documentation":"

A complex type that contains the response to a hostedzonecount request.

" + "documentation":"

A complex type that contains the response to a GetHostedZoneCount request.

" }, "GetHostedZoneRequest":{ "type":"structure", @@ -2078,12 +2075,12 @@ "members":{ "Id":{ "shape":"ResourceId", - "documentation":"

The ID of the hosted zone for which you want to get a list of the name servers in the delegation set.

", + "documentation":"

The ID of the hosted zone that you want to get information about.

", "location":"uri", "locationName":"Id" } }, - "documentation":"

The input for a GetHostedZone request.

" + "documentation":"

A request to get information about a specified hosted zone.

" }, "GetHostedZoneResponse":{ "type":"structure", @@ -2091,18 +2088,18 @@ "members":{ "HostedZone":{ "shape":"HostedZone", - "documentation":"

A complex type that contains general information about the hosted zone.

" + "documentation":"

A complex type that contains general information about the specified hosted zone.

" }, "DelegationSet":{ "shape":"DelegationSet", - "documentation":"

A complex type that describes the name servers for this hosted zone.

" + "documentation":"

A complex type that lists the Amazon Route 53 name servers for the specified hosted zone.

" }, "VPCs":{ "shape":"VPCs", - "documentation":"

A complex type that contains information about VPCs associated with the specified hosted zone.

" + "documentation":"

A complex type that contains information about the VPCs that are associated with the specified hosted zone.

" } }, - "documentation":"

A complex type containing the response information for the hosted zone.

" + "documentation":"

A complex type that contain the response to a GetHostedZone request.

" }, "GetReusableDelegationSetRequest":{ "type":"structure", @@ -2110,12 +2107,12 @@ "members":{ "Id":{ "shape":"ResourceId", - "documentation":"

The ID of the reusable delegation set for which you want to get a list of the name server.

", + "documentation":"

The ID of the reusable delegation set that you want to get a list of name servers for.

", "location":"uri", "locationName":"Id" } }, - "documentation":"

The input for a GetReusableDelegationSet request.

" + "documentation":"

A request to get information about a specified reusable delegation set.

" }, "GetReusableDelegationSetResponse":{ "type":"structure", @@ -2132,7 +2129,7 @@ "type":"structure", "members":{ }, - "documentation":"

To retrieve a count of all your traffic policy instances, send a GET request to the /2013-04-01/trafficpolicyinstancecount resource.

" + "documentation":"

Request to get the number of traffic policy instances that are associated with the current AWS account.

" }, "GetTrafficPolicyInstanceCountResponse":{ "type":"structure", @@ -2156,7 +2153,7 @@ "locationName":"Id" } }, - "documentation":"

Gets information about a specified traffic policy instance.

To get information about a traffic policy instance, send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance/Id resource.

" + "documentation":"

Gets information about a specified traffic policy instance.

" }, "GetTrafficPolicyInstanceResponse":{ "type":"structure", @@ -2189,7 +2186,7 @@ "locationName":"Version" } }, - "documentation":"

Gets information about a specific traffic policy version. To get the information, send a GET request to the /2013-04-01/trafficpolicy resource, and specify the ID and the version of the traffic policy.

" + "documentation":"

Gets information about a specific traffic policy version.

" }, "GetTrafficPolicyResponse":{ "type":"structure", @@ -2242,7 +2239,7 @@ "documentation":"

Descriptive message for the error response.

" } }, - "documentation":"

The health check you're attempting to create already exists.

Amazon Route 53 returns this error when a health check has already been created with the specified value for CallerReference.

", + "documentation":"

The health check you're attempting to create already exists. Amazon Route 53 returns this error when you submit a request that has the following values:

  • The same value for CallerReference as an existing health check, and one or more values that differ from the existing health check that has the same caller reference.

  • The same value for CallerReference as a health check that you created and later deleted, regardless of the other settings in the request.

", "error":{"httpStatusCode":409}, "exception":true }, @@ -2252,15 +2249,15 @@ "members":{ "IPAddress":{ "shape":"IPAddress", - "documentation":"

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address returned by DNS, Amazon Route 53 then checks the health of the endpoint.

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance will never change.

For more information, see HealthCheckConfig$FullyQualifiedDomainName.

Constraints: Amazon Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:

When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress.

" + "documentation":"

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address returned by DNS, Amazon Route 53 then checks the health of the endpoint.

Use one of the following formats for the value of IPAddress:

  • IPv4 address: four values between 0 and 255, separated by periods (.), for example, 192.0.2.44.

  • IPv6 address: eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345.

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance will never change.

For more information, see HealthCheckConfig$FullyQualifiedDomainName.

Constraints: Amazon Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:

When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress.

" }, "Port":{ "shape":"Port", - "documentation":"

The port on the endpoint on which you want Amazon Route 53 to perform health checks. Specify a value for Port only when you specify a value for IPAddress.

" + "documentation":"

The port on the endpoint on which you want Amazon Route 53 to perform health checks. Specify a value for Port only when you specify a value for IPAddress.

" }, "Type":{ "shape":"HealthCheckType", - "documentation":"

The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

You can't change the value of Type after you create a health check.

You can create the following types of health checks:

  • HTTP: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

  • HTTPS: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

    If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

  • HTTP_STR_MATCH: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

  • HTTPS_STR_MATCH: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

  • TCP: Amazon Route 53 tries to establish a TCP connection.

  • CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. If the state of the alarm is OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or LastKnownStatus.

  • CALCULATED: For health checks that monitor the status of other health checks, Amazon Route 53 adds up the number of health checks that Amazon Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold.

For more information about how Amazon Route 53 determines whether an endpoint is healthy, see the introduction to this topic.

" + "documentation":"

The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

You can't change the value of Type after you create a health check.

You can create the following types of health checks:

  • HTTP: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

  • HTTPS: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

    If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

  • HTTP_STR_MATCH: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

  • HTTPS_STR_MATCH: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

  • TCP: Amazon Route 53 tries to establish a TCP connection.

  • CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. If the state of the alarm is OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or LastKnownStatus.

  • CALCULATED: For health checks that monitor the status of other health checks, Amazon Route 53 adds up the number of health checks that Amazon Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold.

For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

" }, "ResourcePath":{ "shape":"ResourcePath", @@ -2268,7 +2265,7 @@ }, "FullyQualifiedDomainName":{ "shape":"FullyQualifiedDomainName", - "documentation":"

Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

If you specify a value for IPAddress:

Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Amazon Route 53 to perform health checks.

When Amazon Route 53 checks the health of an endpoint, here is how it constructs the Host header:

  • If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

  • If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

  • If you specify another value for Port and any value except TCP for Type, Amazon Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header.

If you don't specify a value for FullyQualifiedDomainName, Amazon Route 53 substitutes the value of IPAddress in the Host header in each of the preceding cases.

If you don't specify a value for IPAddress :

Amazon Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for RequestInterval. Using an IPv4 address that DNS returns, Amazon Route 53 then checks the health of the endpoint.

If you don't specify a value for IPAddress, Amazon Route 53 uses only IPv4 to send health checks to the endpoint. If there's no resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a \"DNS resolution failed\" error.

If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-1-www.example.com), not the name of the resource record sets (www.example.com).

In this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Amazon Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress. If the value of Type is TCP, Amazon Route 53 doesn't pass a Host header.

" + "documentation":"

Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

If you specify a value for IPAddress:

Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Amazon Route 53 to perform health checks.

When Amazon Route 53 checks the health of an endpoint, here is how it constructs the Host header:

  • If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

  • If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

  • If you specify another value for Port and any value except TCP for Type, Amazon Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header.

If you don't specify a value for FullyQualifiedDomainName, Amazon Route 53 substitutes the value of IPAddress in the Host header in each of the preceding cases.

If you don't specify a value for IPAddress :

Amazon Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for RequestInterval. Using an IPv4 address that DNS returns, Amazon Route 53 then checks the health of the endpoint.

If you don't specify a value for IPAddress, Amazon Route 53 uses only IPv4 to send health checks to the endpoint. If there's no resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a \"DNS resolution failed\" error.

If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-2-www.example.com), not the name of the resource record sets (www.example.com).

In this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Amazon Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress. If the value of Type is TCP, Amazon Route 53 doesn't pass a Host header.

" }, "SearchString":{ "shape":"SearchString", @@ -2276,11 +2273,11 @@ }, "RequestInterval":{ "shape":"RequestInterval", - "documentation":"

The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health-check request. Each Amazon Route 53 health checker makes requests at this interval.

You can't change the value of RequestInterval after you create a health check.

" + "documentation":"

The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Amazon Route 53 health checker makes requests at this interval.

You can't change the value of RequestInterval after you create a health check.

If you don't specify a value for RequestInterval, the default value is 30 seconds.

" }, "FailureThreshold":{ "shape":"FailureThreshold", - "documentation":"

The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

" + "documentation":"

The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

If you don't specify a value for FailureThreshold, the default value is three health checks.

" }, "MeasureLatency":{ "shape":"MeasureLatency", @@ -2304,7 +2301,7 @@ }, "Regions":{ "shape":"HealthCheckRegionList", - "documentation":"

A complex type that contains one Region element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint.

" + "documentation":"

A complex type that contains one Region element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint.

If you don't specify any regions, Amazon Route 53 health checkers automatically performs checks from all of the regions that are listed under Valid Values.

If you update a health check to remove a region that has been performing health checks, Amazon Route 53 will briefly continue to perform checks from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with four different regions).

" }, "AlarmIdentifier":{ "shape":"AlarmIdentifier", @@ -2312,7 +2309,7 @@ }, "InsufficientDataHealthStatus":{ "shape":"InsufficientDataHealthStatus", - "documentation":"

When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:

  • Healthy: Amazon Route 53 considers the health check to be healthy.

  • Unhealthy: Amazon Route 53 considers the health check to be unhealthy.

  • LastKnownStatus: Amazon Route 53uses the status of the health check from the last time CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

" + "documentation":"

When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:

  • Healthy: Amazon Route 53 considers the health check to be healthy.

  • Unhealthy: Amazon Route 53 considers the health check to be unhealthy.

  • LastKnownStatus: Amazon Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

" } }, "documentation":"

A complex type that contains information about the health check.

" @@ -2330,7 +2327,7 @@ "documentation":"

Descriptive message for the error response.

" } }, - "documentation":"

The health check ID for this health check is referenced in the HealthCheckId element in one of the resource record sets in one of the hosted zones that are owned by the current AWS account.

", + "documentation":"

This error code is not in use.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2344,7 +2341,7 @@ "members":{ "Region":{ "shape":"HealthCheckRegion", - "documentation":"

The region of the Amazon Route 53 health checker that provided the status in StatusReport.

" + "documentation":"

The region of the Amazon Route 53 health checker that provided the status in StatusReport.

" }, "IPAddress":{ "shape":"IPAddress", @@ -2366,7 +2363,6 @@ }, "HealthCheckRegion":{ "type":"string", - "documentation":"

An Amazon EC2 Region that you want Amazon Route 53 to use to perform health checks.

", "enum":[ "us-east-1", "us-west-1", @@ -2387,7 +2383,7 @@ "locationName":"Region" }, "max":64, - "min":1 + "min":3 }, "HealthCheckType":{ "type":"string", @@ -2465,7 +2461,7 @@ "documentation":"

Descriptive message for the error response.

" } }, - "documentation":"

The hosted zone you are trying to create already exists. Amazon Route 53 returns this error when a hosted zone has already been created with the specified CallerReference.

", + "documentation":"

The hosted zone you're trying to create already exists. Amazon Route 53 returns this error when a hosted zone has already been created with the specified CallerReference.

", "error":{"httpStatusCode":409}, "exception":true }, @@ -2526,7 +2522,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

The resource you are trying to access is unsupported on this Amazon Route 53 endpoint. Please consider using a newer endpoint or a tool that does so.

", + "documentation":"

The resource you're trying to access is unsupported on this Amazon Route 53 endpoint.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -2546,7 +2542,7 @@ "documentation":"

Descriptive message for the error response.

" } }, - "documentation":"

Parameter name and problem.

", + "documentation":"

Parameter name is invalid.

", "exception":true }, "InvalidChangeBatch":{ @@ -2669,7 +2665,7 @@ "locationName":"maxitems" } }, - "documentation":"

To get a list of geographic locations that Amazon Route 53 supports for geolocation, send a GET request to the /Amazon Route 53 API version/geolocations resource. The response to this request includes a GeoLocationDetails element for each location that Amazon Route 53 supports.

Countries are listed first, and continents are listed last. If Amazon Route 53 supports subdivisions for a country (for example, states or provinces), the subdivisions for that country are listed in alphabetical order immediately after the corresponding country.

" + "documentation":"

A request to get a list of geographic locations that Amazon Route 53 supports for geolocation resource record sets.

" }, "ListGeoLocationsResponse":{ "type":"structure", @@ -2689,15 +2685,15 @@ }, "NextContinentCode":{ "shape":"GeoLocationContinentCode", - "documentation":"

If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextContinentCode in the StartContinentCode parameter in another GET ListGeoLocations request.

" + "documentation":"

If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextContinentCode in the StartContinentCode parameter in another ListGeoLocations request.

" }, "NextCountryCode":{ "shape":"GeoLocationCountryCode", - "documentation":"

If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextCountryCode in the StartCountryCode parameter in another GET ListGeoLocations request.

" + "documentation":"

If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextCountryCode in the StartCountryCode parameter in another ListGeoLocations request.

" }, "NextSubdivisionCode":{ "shape":"GeoLocationSubdivisionCode", - "documentation":"

If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextSubdivisionCode in the StartSubdivisionCode parameter in another GET ListGeoLocations request.

" + "documentation":"

If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextSubdivisionCode in the StartSubdivisionCode parameter in another ListGeoLocations request.

" }, "MaxItems":{ "shape":"PageMaxItems", @@ -2711,18 +2707,18 @@ "members":{ "Marker":{ "shape":"PageMarker", - "documentation":"

If the response to a ListHealthChecks is more than one page, marker is the health check ID for the first health check on the next page of results. For more information, see ListHealthChecksResponse$MaxItems.

", + "documentation":"

If the value of IsTruncated in the previous response was true, you have more health checks. To get another group, submit another ListHealthChecks request.

For the value of marker, specify the value of NextMarker from the previous response, which is the ID of the first health check that Amazon Route 53 will return if you submit another request.

If the value of IsTruncated in the previous response was false, there are no more health checks to get.

", "location":"querystring", "locationName":"marker" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

The maximum number of HealthCheck elements you want ListHealthChecks to return on each page of the response body. If the AWS account includes more HealthCheck elements than the value of maxitems, the response is broken into pages. Each page contains the number of HealthCheck elements specified by maxitems.

For example, suppose you specify 10 for maxitems and the current AWS account has 51 health checks. In the response, ListHealthChecks sets ListHealthChecksResponse$IsTruncated to true and includes the ListHealthChecksResponse$NextMarker element. To access the second and subsequent pages, you resend the GET ListHealthChecks request, add the ListHealthChecksResponse$Marker parameter to the request, and specify the value of the ListHealthChecksResponse$NextMarker element from the previous response. On the last (sixth) page of the response, which contains only one HealthCheck element:

", + "documentation":"

The maximum number of health checks that you want ListHealthChecks to return in response to the current request. Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100 health checks.

", "location":"querystring", "locationName":"maxitems" } }, - "documentation":"

To retrieve a list of your health checks, send a GET request to the /2013-04-01/healthcheck resource. The response to this request includes a HealthChecks element with zero or more HealthCheck child elements. By default, the list of health checks is displayed on a single page. You can control the length of the page that is displayed by using the MaxItems parameter. You can use the Marker parameter to control the health check that the list begins with.

Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100.

" + "documentation":"

A request to retrieve a list of the health checks that are associated with the current AWS account.

" }, "ListHealthChecksResponse":{ "type":"structure", @@ -2739,15 +2735,15 @@ }, "Marker":{ "shape":"PageMarker", - "documentation":"

For the second and subsequent calls to ListHealthChecks, Marker is the value that you specified for the marker parameter in the previous request.

" + "documentation":"

For the second and subsequent calls to ListHealthChecks, Marker is the value that you specified for the marker parameter in the previous request.

" }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

A flag that indicates whether there are more health checks to be listed. If the response was truncated, you can get the next group of maxitems health checks by calling ListHealthChecks again and specifying the value of the NextMarker element in the marker parameter.

Valid Values: true | false

" + "documentation":"

A flag that indicates whether there are more health checks to be listed. If the response was truncated, you can get the next group of health checks by submitting another ListHealthChecks request and specifying the value of NextMarker in the marker parameter.

" }, "NextMarker":{ "shape":"PageMarker", - "documentation":"

If IsTruncated is true, the value of NextMarker identifies the first health check in the next group of maxitems health checks. Call ListHealthChecks again and specify the value of NextMarker in the marker parameter.

" + "documentation":"

If IsTruncated is true, the value of NextMarker identifies the first health check that Amazon Route 53 returns if you submit another ListHealthChecks request and specify the value of NextMarker in the marker parameter.

" }, "MaxItems":{ "shape":"PageMaxItems", @@ -2778,7 +2774,7 @@ "locationName":"maxitems" } }, - "documentation":"

To retrieve a list of your public and private hosted zones in ASCII order by domain name, send a GET request to the /Amazon Route 53 API version/hostedzonesbyname resource. The response to this request includes a HostedZone child element for each hosted zone that was created by the current AWS account. ListHostedZonesByName sorts hosted zones by name with the labels reversed, for example:

com.example.www.

Note the trailing dot, which can change the sort order in some circumstances.

If the domain name includes escape characters or Punycode, ListHostedZonesByName alphabetizes the domain name using the escaped or Punycoded value, which is the format that Amazon Route 53 saves in its database. For example, to create a hosted zone for exämple.com, you specify ex\\344mple.com for the domain name. ListHostedZonesByName alphabetizes it as: com.ex\\344mple. The labels are reversed, and it's alphabetized using the escaped value. For more information about valid domain name formats, including internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

Amazon Route 53 returns up to 100 items in each response. If you have a lot of hosted zones, you can use the MaxItems parameter to list them in groups of up to 100. The response includes values that help you navigate from one group of MaxItems hosted zones to the next:

  • The DNSName and HostedZoneId elements in the response contain the values, if any, that you specified for the dnsname and hostedzoneid parameters in the request that produced the current response.

  • The MaxItems element in the response contains the value, if any, that you specified for the maxitems parameter in the request that produced the current response.

  • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current Amazon Route 53 account.

    If IsTruncated is false, this response includes the last hosted zone that is associated with the current account. The NextDNSName element and NextHostedZoneId elements are omitted from the response.

  • The NextDNSName and NextHostedZoneId elements in the response contain the domain name and the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZonesByName, and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

" + "documentation":"

Retrieves a list of the public and private hosted zones that are associated with the current AWS account in ASCII order by domain name.

" }, "ListHostedZonesByNameResponse":{ "type":"structure", @@ -2824,13 +2820,13 @@ "members":{ "Marker":{ "shape":"PageMarker", - "documentation":"

(Optional) If you have more hosted zones than the value of maxitems, ListHostedZones returns only the first maxitems hosted zones. To get the next group of maxitems hosted zones, submit another request to ListHostedZones. For the value of marker, specify the value of the NextMarker element that was returned in the previous response.

Hosted zones are listed in the order in which they were created.

", + "documentation":"

If the value of IsTruncated in the previous response was true, you have more hosted zones. To get more hosted zones, submit another ListHostedZones request.

For the value of marker, specify the value of NextMarker from the previous response, which is the ID of the first hosted zone that Amazon Route 53 will return if you submit another request.

If the value of IsTruncated in the previous response was false, there are no more hosted zones to get.

", "location":"querystring", "locationName":"marker" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

(Optional) The maximum number of hosted zones to be included in the response body for this request. If you have more than maxitems hosted zones, the value of the IsTruncated element in the response is true, and the value of the NextMarker element is the hosted zone ID of the first hosted zone in the next group of maxitems hosted zones.

", + "documentation":"

(Optional) The maximum number of hosted zones that you want Amazon Route 53 to return. If you have more than maxitems hosted zones, the value of IsTruncated in the response is true, and the value of NextMarker is the hosted zone ID of the first hosted zone that Amazon Route 53 will return if you submit another request.

", "location":"querystring", "locationName":"maxitems" }, @@ -2841,7 +2837,7 @@ "locationName":"delegationsetid" } }, - "documentation":"

To retrieve a list of your public and private hosted zones, send a GET request to the /2013-04-01/hostedzone resource. The response to this request includes a HostedZone child element for each hosted zone that was created by the current AWS account.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of hosted zones, you can use the maxitems parameter to list them in groups of up to 100. The response includes four values that help you navigate from one group of maxitems hosted zones to the next:

  • MaxItems is the value that you specified for the maxitems parameter in the request that produced the current response.

  • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current AWS account.

    If IsTruncated is false, this response includes the last hosted zone that is associated with the current account.

  • NextMarker is the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZones, and specify the value of the NextMarker element in the marker parameter.

    If IsTruncated is false, the NextMarker element is omitted from the response.

  • If you're making the second or subsequent call to ListHostedZones, the Marker element matches the value that you specified in the marker parameter in the previous request.

" + "documentation":"

A request to retrieve a list of the public and private hosted zones that are associated with the current AWS account.

" }, "ListHostedZonesResponse":{ "type":"structure", @@ -2858,15 +2854,15 @@ }, "Marker":{ "shape":"PageMarker", - "documentation":"

For the second and subsequent calls to ListHostedZones, Marker is the value that you specified for the marker parameter in the request that produced the current response.

" + "documentation":"

For the second and subsequent calls to ListHostedZones, Marker is the value that you specified for the marker parameter in the request that produced the current response.

" }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

A flag indicating whether there are more hosted zones to be listed. If the response was truncated, you can get the next group of maxitems hosted zones by calling ListHostedZones again and specifying the value of the NextMarker element in the marker parameter.

" + "documentation":"

A flag indicating whether there are more hosted zones to be listed. If the response was truncated, you can get more hosted zones by submitting another ListHostedZones request and specifying the value of NextMarker in the marker parameter.

" }, "NextMarker":{ "shape":"PageMarker", - "documentation":"

If IsTruncated is true, the value of NextMarker identifies the first hosted zone in the next group of maxitems hosted zones. Call ListHostedZones again and specify the value of NextMarker in the marker parameter.

This element is present only if IsTruncated is true.

" + "documentation":"

If IsTruncated is true, the value of NextMarker identifies the first hosted zone in the next group of hosted zones. Submit another ListHostedZones request, and specify the value of NextMarker from the response in the marker parameter.

This element is present only if IsTruncated is true.

" }, "MaxItems":{ "shape":"PageMaxItems", @@ -2880,13 +2876,13 @@ "members":{ "HostedZoneId":{ "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that contains the resource record sets that you want to get.

", + "documentation":"

The ID of the hosted zone that contains the resource record sets that you want to list.

", "location":"uri", "locationName":"Id" }, "StartRecordName":{ "shape":"DNSName", - "documentation":"

The first name in the lexicographic ordering of domain names that you want the ListResourceRecordSets request to list.

", + "documentation":"

The first name in the lexicographic ordering of resource record sets that you want to list.

", "location":"querystring", "locationName":"name" }, @@ -2909,7 +2905,7 @@ "locationName":"maxitems" } }, - "documentation":"

The input for a ListResourceRecordSets request.

" + "documentation":"

A request for the resource record sets that are associated with a specified hosted zone.

" }, "ListResourceRecordSetsResponse":{ "type":"structure", @@ -2951,18 +2947,18 @@ "members":{ "Marker":{ "shape":"PageMarker", - "documentation":"

If you're making the second or subsequent call to ListReusableDelegationSets, the Marker element matches the value that you specified in the marker parameter in the previous request.

", + "documentation":"

If the value of IsTruncated in the previous response was true, you have more reusable delegation sets. To get another group, submit another ListReusableDelegationSets request.

For the value of marker, specify the value of NextMarker from the previous response, which is the ID of the first reusable delegation set that Amazon Route 53 will return if you submit another request.

If the value of IsTruncated in the previous response was false, there are no more reusable delegation sets to get.

", "location":"querystring", "locationName":"marker" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

The value that you specified for the maxitems parameter in the request that produced the current response.

", + "documentation":"

The number of reusable delegation sets that you want Amazon Route 53 to return in the response to this request. If you specify a value greater than 100, Amazon Route 53 returns only the first 100 reusable delegation sets.

", "location":"querystring", "locationName":"maxitems" } }, - "documentation":"

To retrieve a list of your reusable delegation sets, send a GET request to the /2013-04-01/delegationset resource. The response to this request includes a DelegationSets element with zero or more DelegationSet child elements. By default, the list of reusable delegation sets is displayed on a single page. You can control the length of the page that is displayed by using the MaxItems parameter. You can use the Marker parameter to control the delegation set that the list begins with.

Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100.

" + "documentation":"

A request to get a list of the reusable delegation sets that are associated with the current AWS account.

" }, "ListReusableDelegationSetsResponse":{ "type":"structure", @@ -2979,15 +2975,15 @@ }, "Marker":{ "shape":"PageMarker", - "documentation":"

For the second and subsequent calls to ListReusableDelegationSets, Marker is the value that you specified for the marker parameter in the request that produced the current response.

" + "documentation":"

For the second and subsequent calls to ListReusableDelegationSets, Marker is the value that you specified for the marker parameter in the request that produced the current response.

" }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

A flag that indicates whether there are more reusable delegation sets to be listed. If the response is truncated, you can get the next group of maxitems reusable delegation sets by calling ListReusableDelegationSets again and specifying the value of the NextMarker element in the marker parameter.

" + "documentation":"

A flag that indicates whether there are more reusable delegation sets to be listed.

" }, "NextMarker":{ "shape":"PageMarker", - "documentation":"

If IsTruncated is true, the value of NextMarker identifies the first reusable delegation set in the next group of maxitems reusable delegation sets. Call ListReusableDelegationSets again and specify the value of NextMarker in the marker parameter.

" + "documentation":"

If IsTruncated is true, the value of NextMarker identifies the next reusable delegation set that Amazon Route 53 will return if you submit another ListReusableDelegationSets request and specify the value of NextMarker in the marker parameter.

" }, "MaxItems":{ "shape":"PageMaxItems", @@ -3065,13 +3061,13 @@ "members":{ "TrafficPolicyIdMarker":{ "shape":"TrafficPolicyId", - "documentation":"

(Conditional) For your first request to ListTrafficPolicies, do not include the TrafficPolicyIdMarker parameter.

If you have more traffic policies than the value of MaxItems, ListTrafficPolicies returns only the first MaxItems traffic policies. To get the next group of MaxItems policies, submit another request to ListTrafficPolicies. For the value of TrafficPolicyIdMarker, specify the value of the TrafficPolicyIdMarker element that was returned in the previous response.

Policies are listed in the order in which they were created.

", + "documentation":"

(Conditional) For your first request to ListTrafficPolicies, don't include the TrafficPolicyIdMarker parameter.

If you have more traffic policies than the value of MaxItems, ListTrafficPolicies returns only the first MaxItems traffic policies. To get the next group of policies, submit another request to ListTrafficPolicies. For the value of TrafficPolicyIdMarker, specify the value of TrafficPolicyIdMarker that was returned in the previous response.

", "location":"querystring", "locationName":"trafficpolicyid" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

(Optional) The maximum number of traffic policies to be included in the response body for this request. If you have more than MaxItems traffic policies, the value of the IsTruncated element in the response is true, and the value of the TrafficPolicyIdMarker element is the ID of the first traffic policy in the next group of MaxItems traffic policies.

", + "documentation":"

(Optional) The maximum number of traffic policies that you want Amazon Route 53 to return in response to this request. If you have more than MaxItems traffic policies, the value of IsTruncated in the response is true, and the value of TrafficPolicyIdMarker is the ID of the first traffic policy that Amazon Route 53 will return if you submit another request.

", "location":"querystring", "locationName":"maxitems" } @@ -3093,7 +3089,7 @@ }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of MaxItems traffic policies by calling ListTrafficPolicies again and specifying the value of the TrafficPolicyIdMarker element in the TrafficPolicyIdMarker request parameter.

Valid Values: true | false

" + "documentation":"

A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of traffic policies by submitting another ListTrafficPolicies request and specifying the value of TrafficPolicyIdMarker in the TrafficPolicyIdMarker request parameter.

" }, "TrafficPolicyIdMarker":{ "shape":"TrafficPolicyId", @@ -3101,7 +3097,7 @@ }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

The value that you specified for the MaxItems parameter in the call to ListTrafficPolicies that produced the current response.

" + "documentation":"

The value that you specified for the MaxItems parameter in the ListTrafficPolicies request that produced the current response.

" } }, "documentation":"

A complex type that contains the response information for the request.

" @@ -3112,25 +3108,25 @@ "members":{ "HostedZoneId":{ "shape":"ResourceId", - "documentation":"

The ID of the hosted zone for which you want to list traffic policy instances.

", + "documentation":"

The ID of the hosted zone that you want to list traffic policy instances for.

", "location":"querystring", "locationName":"id" }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", - "documentation":"

For the first request to ListTrafficPolicyInstancesByHostedZone, omit this value.

If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get for this hosted zone.

If the value of IsTruncated in the previous response was false, omit this value.

", + "documentation":"

If the value of IsTruncated in the previous response is true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance in the next group of traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "location":"querystring", "locationName":"trafficpolicyinstancename" }, "TrafficPolicyInstanceTypeMarker":{ "shape":"RRType", - "documentation":"

For the first request to ListTrafficPolicyInstancesByHostedZone, omit this value.

If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceTypeMarker is the DNS type of the first traffic policy instance in the next group of MaxItems traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get for this hosted zone.

", + "documentation":"

If the value of IsTruncated in the previous response is true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance in the next group of traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "location":"querystring", "locationName":"trafficpolicyinstancetype" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance in the next group of MaxItems traffic policy instances.

", + "documentation":"

The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance that Amazon Route 53 will return if you submit another request.

", "location":"querystring", "locationName":"maxitems" } @@ -3151,19 +3147,19 @@ }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", - "documentation":"

If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

" + "documentation":"

If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of traffic policy instances.

" }, "TrafficPolicyInstanceTypeMarker":{ "shape":"RRType", - "documentation":"

If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance in the next group of MaxItems traffic policy instances.

" + "documentation":"

If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance in the next group of traffic policy instances.

" }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of MaxItems traffic policy instances by calling ListTrafficPolicyInstancesByHostedZone again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker elements in the corresponding request parameters.

" + "documentation":"

A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of traffic policy instances by submitting another ListTrafficPolicyInstancesByHostedZone request and specifying the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker in the corresponding request parameters.

" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstancesByHostedZone that produced the current response.

" + "documentation":"

The value that you specified for the MaxItems parameter in the ListTrafficPolicyInstancesByHostedZone request that produced the current response.

" } }, "documentation":"

A complex type that contains the response information for the request.

" @@ -3189,25 +3185,25 @@ }, "HostedZoneIdMarker":{ "shape":"ResourceId", - "documentation":"

For the first request to ListTrafficPolicyInstancesByPolicy, omit this value.

If the value of IsTruncated in the previous response was true, HostedZoneIdMarker is the ID of the hosted zone for the first traffic policy instance in the next group of MaxItems traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get for this hosted zone.

If the value of IsTruncated in the previous response was false, omit this value.

", + "documentation":"

If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request.

For the value of hostedzoneid, specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance that Amazon Route 53 will return if you submit another request.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "location":"querystring", "locationName":"hostedzoneid" }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", - "documentation":"

For the first request to ListTrafficPolicyInstancesByPolicy, omit this value.

If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get for this hosted zone.

If the value of IsTruncated in the previous response was false, omit this value.

", + "documentation":"

If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request.

For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance that Amazon Route 53 will return if you submit another request.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "location":"querystring", "locationName":"trafficpolicyinstancename" }, "TrafficPolicyInstanceTypeMarker":{ "shape":"RRType", - "documentation":"

For the first request to ListTrafficPolicyInstancesByPolicy, omit this value.

If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceTypeMarker is the DNS type of the first traffic policy instance in the next group of MaxItems traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get for this hosted zone.

", + "documentation":"

If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request.

For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the name of the first traffic policy instance that Amazon Route 53 will return if you submit another request.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "location":"querystring", "locationName":"trafficpolicyinstancetype" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance in the next group of MaxItems traffic policy instances.

", + "documentation":"

The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance that Amazon Route 53 will return if you submit another request.

", "location":"querystring", "locationName":"maxitems" } @@ -3228,7 +3224,7 @@ }, "HostedZoneIdMarker":{ "shape":"ResourceId", - "documentation":"

If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first traffic policy instance in the next group of MaxItems traffic policy instances.

" + "documentation":"

If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first traffic policy instance in the next group of traffic policy instances.

" }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", @@ -3240,7 +3236,7 @@ }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of MaxItems traffic policy instances by calling ListTrafficPolicyInstancesByPolicy again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker elements in the corresponding request parameters.

" + "documentation":"

A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of traffic policy instances by calling ListTrafficPolicyInstancesByPolicy again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker elements in the corresponding request parameters.

" }, "MaxItems":{ "shape":"PageMaxItems", @@ -3254,30 +3250,30 @@ "members":{ "HostedZoneIdMarker":{ "shape":"ResourceId", - "documentation":"

For the first request to ListTrafficPolicyInstances, omit this value.

If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get the next group of MaxItems traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of HostedZoneIdMarker, specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance in the next group of MaxItems traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", + "documentation":"

If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of HostedZoneId, specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance in the next group of traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "location":"querystring", "locationName":"hostedzoneid" }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", - "documentation":"

For the first request to ListTrafficPolicyInstances, omit this value.

If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", + "documentation":"

If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance in the next group of traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "location":"querystring", "locationName":"trafficpolicyinstancename" }, "TrafficPolicyInstanceTypeMarker":{ "shape":"RRType", - "documentation":"

For the first request to ListTrafficPolicyInstances, omit this value.

If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceTypeMarker is the DNS type of the first traffic policy instance in the next group of MaxItems traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", + "documentation":"

If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance in the next group of traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "location":"querystring", "locationName":"trafficpolicyinstancetype" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance in the next group of MaxItems traffic policy instances.

", + "documentation":"

The maximum number of traffic policy instances that you want Amazon Route 53 to return in response to a ListTrafficPolicyInstances request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance in the next group of MaxItems traffic policy instances.

", "location":"querystring", "locationName":"maxitems" } }, - "documentation":"

A complex type that contains the information about the request to list your traffic policy instances.

" + "documentation":"

A request to get information about the traffic policy instances that you created by using the current AWS account.

" }, "ListTrafficPolicyInstancesResponse":{ "type":"structure", @@ -3293,19 +3289,19 @@ }, "HostedZoneIdMarker":{ "shape":"ResourceId", - "documentation":"

If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first traffic policy instance in the next group of MaxItems traffic policy instances.

" + "documentation":"

If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first traffic policy instance that Amazon Route 53 will return if you submit another ListTrafficPolicyInstances request.

" }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", - "documentation":"

If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

" + "documentation":"

If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance that Amazon Route 53 will return if you submit another ListTrafficPolicyInstances request.

" }, "TrafficPolicyInstanceTypeMarker":{ "shape":"RRType", - "documentation":"

If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance in the next group of MaxItems traffic policy instances.

" + "documentation":"

If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance that Amazon Route 53 will return if you submit another ListTrafficPolicyInstances request.

" }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of MaxItems traffic policy instances by calling ListTrafficPolicyInstances again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker elements in the corresponding request parameters.

" + "documentation":"

A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get more traffic policy instances by calling ListTrafficPolicyInstances again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker in the corresponding request parameters.

" }, "MaxItems":{ "shape":"PageMaxItems", @@ -3326,13 +3322,13 @@ }, "TrafficPolicyVersionMarker":{ "shape":"TrafficPolicyVersionMarker", - "documentation":"

For your first request to ListTrafficPolicyVersions, do not include the TrafficPolicyVersionMarker parameter.

If you have more traffic policy versions than the value of MaxItems, ListTrafficPolicyVersions returns only the first group of MaxItems versions. To get the next group of MaxItems traffic policy versions, submit another request to ListTrafficPolicyVersions. For the value of TrafficPolicyVersionMarker, specify the value of the TrafficPolicyVersionMarker element that was returned in the previous response.

Traffic policy versions are listed in sequential order.

", + "documentation":"

For your first request to ListTrafficPolicyVersions, don't include the TrafficPolicyVersionMarker parameter.

If you have more traffic policy versions than the value of MaxItems, ListTrafficPolicyVersions returns only the first group of MaxItems versions. To get more traffic policy versions, submit another ListTrafficPolicyVersions request. For the value of TrafficPolicyVersionMarker, specify the value of TrafficPolicyVersionMarker in the previous response.

", "location":"querystring", "locationName":"trafficpolicyversion" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

The maximum number of traffic policy versions that you want Amazon Route 53 to include in the response body for this request. If the specified traffic policy has more than MaxItems versions, the value of the IsTruncated element in the response is true, and the value of the TrafficPolicyVersionMarker element is the ID of the first version in the next group of MaxItems traffic policy versions.

", + "documentation":"

The maximum number of traffic policy versions that you want Amazon Route 53 to include in the response body for this request. If the specified traffic policy has more than MaxItems versions, the value of IsTruncated in the response is true, and the value of the TrafficPolicyVersionMarker element is the ID of the first version that Amazon Route 53 will return if you submit another request.

", "location":"querystring", "locationName":"maxitems" } @@ -3354,15 +3350,15 @@ }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of maxitems traffic policies by calling ListTrafficPolicyVersions again and specifying the value of the NextMarker element in the marker parameter.

" + "documentation":"

A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of traffic policies by submitting another ListTrafficPolicyVersions request and specifying the value of NextMarker in the marker parameter.

" }, "TrafficPolicyVersionMarker":{ "shape":"TrafficPolicyVersionMarker", - "documentation":"

If IsTruncated is true, the value of TrafficPolicyVersionMarker identifies the first traffic policy in the next group of MaxItems traffic policies. Call ListTrafficPolicyVersions again and specify the value of TrafficPolicyVersionMarker in the TrafficPolicyVersionMarker request parameter.

This element is present only if IsTruncated is true.

" + "documentation":"

If IsTruncated is true, the value of TrafficPolicyVersionMarker identifies the first traffic policy that Amazon Route 53 will return if you submit another request. Call ListTrafficPolicyVersions again and specify the value of TrafficPolicyVersionMarker in the TrafficPolicyVersionMarker request parameter.

This element is present only if IsTruncated is true.

" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

The value that you specified for the maxitems parameter in the call to ListTrafficPolicyVersions that produced the current response.

" + "documentation":"

The value that you specified for the maxitems parameter in the ListTrafficPolicyVersions request that produced the current response.

" } }, "documentation":"

A complex type that contains the response information for the request.

" @@ -3379,13 +3375,13 @@ }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

Optional: If a response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of results, submit another request, and include the value of the NextToken element in from the response in the NextToken parameter in another ListVPCAssociationAuthorizations request.

", + "documentation":"

Optional: If a response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of results, submit another request, and include the value of NextToken from the response in the nexttoken parameter in another ListVPCAssociationAuthorizations request.

", "location":"querystring", "locationName":"nexttoken" }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

Optional: An integer that specifies the maximum number of VPCs that you want Amazon Route 53 to return.

", + "documentation":"

Optional: An integer that specifies the maximum number of VPCs that you want Amazon Route 53 to return. If you don't specify a value for MaxResults, Amazon Route 53 returns up to 50 VPCs per page.

", "location":"querystring", "locationName":"maxresults" } @@ -3405,7 +3401,7 @@ }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

When the response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of VPCs, submit another ListVPCAssociationAuthorizations request, and include the value of the NextToken element from the response in the NextToken request parameter:

/2013-04-01/hostedzone/hosted zone ID/authorizevpcassociation?MaxItems=VPCs per page&NextToken=

" + "documentation":"

When the response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of VPCs, submit another ListVPCAssociationAuthorizations request, and include the value of the NextToken element from the response in the nexttoken request parameter.

" }, "VPCs":{ "shape":"VPCs", @@ -3601,7 +3597,7 @@ }, "RecordDataEntry":{ "type":"string", - "documentation":"

A value that Amazon Route 53 returned for this resource record set. A RecordDataEntry element is one of the following:

  • For non-alias resource record sets, a RecordDataEntry element contains one value in the resource record set. If the resource record set contains multiple values, the response includes one RecordDataEntry element for each value.

  • For multiple resource record sets that have the same name and type, which includes weighted, latency, geolocation, and failover, a RecordDataEntry element contains the value from the appropriate resource record set based on the request.

  • For alias resource record sets that refer to AWS resources other than another resource record set, the RecordDataEntry element contains an IP address or a domain name for the AWS resource, depending on the type of resource.

  • For alias resource record sets that refer to other resource record sets, a RecordDataEntry element contains one value from the referenced resource record set. If the referenced resource record set contains multiple values, the response includes one RecordDataEntry element for each value.

", + "documentation":"

A value that Amazon Route 53 returned for this resource record set. A RecordDataEntry element is one of the following:

  • For non-alias resource record sets, a RecordDataEntry element contains one value in the resource record set. If the resource record set contains multiple values, the response includes one RecordDataEntry element for each value.

  • For multiple resource record sets that have the same name and type, which includes weighted, latency, geolocation, and failover, a RecordDataEntry element contains the value from the appropriate resource record set based on the request.

  • For alias resource record sets that refer to AWS resources other than another resource record set, the RecordDataEntry element contains an IP address or a domain name for the AWS resource, depending on the type of resource.

  • For alias resource record sets that refer to other resource record sets, a RecordDataEntry element contains one value from the referenced resource record set. If the referenced resource record set contains multiple values, the response includes one RecordDataEntry element for each value.

", "max":512, "min":0 }, @@ -3628,10 +3624,10 @@ "members":{ "Value":{ "shape":"RData", - "documentation":"

The current or new DNS record value, not to exceed 4,000 characters. In the case of a DELETE action, if the current value does not match the actual value, an error is returned. For descriptions about how to format Value for different record types, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

You can specify more than one value for all record types except CNAME and SOA.

If you are creating an alias resource record set, omit Value.

" + "documentation":"

The current or new DNS record value, not to exceed 4,000 characters. In the case of a DELETE action, if the current value does not match the actual value, an error is returned. For descriptions about how to format Value for different record types, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

You can specify more than one value for all record types except CNAME and SOA.

If you're creating an alias resource record set, omit Value.

" } }, - "documentation":"

Information specific to the resource record.

If you are creating an alias resource record set, omit ResourceRecord.

" + "documentation":"

Information specific to the resource record.

If you're creating an alias resource record set, omit ResourceRecord.

" }, "ResourceRecordSet":{ "type":"structure", @@ -3642,11 +3638,11 @@ "members":{ "Name":{ "shape":"DNSName", - "documentation":"

The name of the domain you want to perform the action on.

Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you specify is fully qualified. This means that Amazon Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

You can use the asterisk (*) wildcard to replace the leftmost label in a domain name. For example, *.example.com. Note the following:

  • The * must replace the entire label. For example, you can't specify *prod.example.com or prod*.example.com.

  • The * can't replace any of the middle labels, for example, marketing.*.example.com.

  • If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.

    You can't use the * wildcard for resource records sets that have a type of NS.

You can use the * wildcard as the leftmost label in a domain name, for example, *.example.com. You can't use an * for one of the middle labels, for example, marketing.*.example.com. In addition, the * must replace the entire label; for example, you can't specify prod*.example.com.

" + "documentation":"

The name of the domain you want to perform the action on.

Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you specify is fully qualified. This means that Amazon Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, *.example.com. Note the following:

  • The * must replace the entire label. For example, you can't specify *prod.example.com or prod*.example.com.

  • The * can't replace any of the middle labels, for example, marketing.*.example.com.

  • If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.

    You can't use the * wildcard for resource records sets that have a type of NS.

You can use the * wildcard as the leftmost label in a domain name, for example, *.example.com. You can't use an * for one of the middle labels, for example, marketing.*.example.com. In addition, the * must replace the entire label; for example, you can't specify prod*.example.com.

" }, "Type":{ "shape":"RRType", - "documentation":"

The DNS record type. For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

Valid values for basic resource record sets: A | AAAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

Values for alias resource record sets:

  • CloudFront distributions: A

    If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of A and one with a value of AAAA.

  • AWS Elastic Beanstalk environment that has a regionalized subdomain: A

  • ELB load balancers: A | AAAA

  • Amazon S3 buckets: A

  • Another resource record set in this hosted zone: Specify the type of the resource record set for which you're creating the alias. Specify any value except NS or SOA.

" + "documentation":"

The DNS record type. For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

Valid values for basic resource record sets: A | AAAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

Valid values for multivalue answer resource record sets: A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT

SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

Values for alias resource record sets:

  • CloudFront distributions: A

    If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of A and one with a value of AAAA.

  • AWS Elastic Beanstalk environment that has a regionalized subdomain: A

  • ELB load balancers: A | AAAA

  • Amazon S3 buckets: A

  • Another resource record set in this hosted zone: Specify the type of the resource record set that you're creating the alias for. All values are supported except NS and SOA.

" }, "SetIdentifier":{ "shape":"ResourceRecordSetIdentifier", @@ -3658,7 +3654,7 @@ }, "Region":{ "shape":"ResourceRecordSetRegion", - "documentation":"

Latency-based resource record sets only: The Amazon EC2 Region where the resource that is specified in this resource record set resides. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.

Creating latency and latency alias resource record sets in private hosted zones is not supported.

When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is associated with the selected resource record set.

Note the following:

  • You can only specify one ResourceRecord per latency resource record set.

  • You can only create one latency resource record set for each Amazon EC2 Region.

  • You are not required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 will choose the region with the best latency from among the regions for which you create latency resource record sets.

  • You can't create non-latency resource record sets that have the same values for the Name and Type elements as latency resource record sets.

" + "documentation":"

Latency-based resource record sets only: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.

Creating latency and latency alias resource record sets in private hosted zones is not supported.

When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Amazon Route 53 then returns the value that is associated with the selected resource record set.

Note the following:

  • You can only specify one ResourceRecord per latency resource record set.

  • You can only create one latency resource record set for each Amazon EC2 Region.

  • You aren't required to create latency resource record sets for all Amazon EC2 Regions. Amazon Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.

  • You can't create non-latency resource record sets that have the same values for the Name and Type elements as latency resource record sets.

" }, "GeoLocation":{ "shape":"GeoLocation", @@ -3666,23 +3662,27 @@ }, "Failover":{ "shape":"ResourceRecordSetFailover", - "documentation":"

Failover resource record sets only: To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set.

Except where noted, the following failover behaviors assume that you have included the HealthCheckId element in both resource record sets:

  • When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.

  • When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable value from the secondary resource record set.

  • When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.

  • If you omit the HealthCheckId element for the secondary resource record set, and if the primary resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.

You can't create non-failover resource record sets that have the same values for the Name and Type elements as failover resource record sets.

For failover alias resource record sets, you must also include the EvaluateTargetHealth element and set the value to true.

For more information about configuring failover for Amazon Route 53, see the following topics in the Amazon Route 53 Developer Guide:

Valid values: PRIMARY | SECONDARY

" + "documentation":"

Failover resource record sets only: To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set.

Except where noted, the following failover behaviors assume that you have included the HealthCheckId element in both resource record sets:

  • When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.

  • When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable value from the secondary resource record set.

  • When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.

  • If you omit the HealthCheckId element for the secondary resource record set, and if the primary resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.

You can't create non-failover resource record sets that have the same values for the Name and Type elements as failover resource record sets.

For failover alias resource record sets, you must also include the EvaluateTargetHealth element and set the value to true.

For more information about configuring failover for Amazon Route 53, see the following topics in the Amazon Route 53 Developer Guide:

" + }, + "MultiValueAnswer":{ + "shape":"ResourceRecordSetMultiValueAnswer", + "documentation":"

Multivalue answer resource record sets only: To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. Note the following:

  • If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.

  • If you don't associate a health check with a multivalue answer record, Amazon Route 53 always considers the record to be healthy.

  • Amazon Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Amazon Route 53 responds to all DNS queries with all the healthy records.

  • If you have more than eight healthy records, Amazon Route 53 responds to different DNS resolvers with different combinations of healthy records.

  • When all records are unhealthy, Amazon Route 53 responds to DNS queries with up to eight unhealthy records.

  • If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.

You can't create multivalue answer alias records.

" }, "TTL":{ "shape":"TTL", - "documentation":"

The resource record cache time to live (TTL), in seconds. Note the following:

  • If you're creating an alias resource record set, omit TTL. Amazon Route 53 uses the value of TTL for the alias target.

  • If you're associating this resource record set with a health check (if you're adding a HealthCheckId element), we recommend that you specify a TTL of 60 seconds or less so clients respond quickly to changes in health status.

  • All of the resource record sets in a group of weighted, latency, geolocation, or failover resource record sets must have the same value for TTL.

  • If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a TTL of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for Weight.

" + "documentation":"

The resource record cache time to live (TTL), in seconds. Note the following:

  • If you're creating or updating an alias resource record set, omit TTL. Amazon Route 53 uses the value of TTL for the alias target.

  • If you're associating this resource record set with a health check (if you're adding a HealthCheckId element), we recommend that you specify a TTL of 60 seconds or less so clients respond quickly to changes in health status.

  • All of the resource record sets in a group of weighted resource record sets must have the same value for TTL.

  • If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a TTL of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for Weight.

" }, "ResourceRecords":{ "shape":"ResourceRecords", - "documentation":"

Information about the resource records to act upon.

If you are creating an alias resource record set, omit ResourceRecords.

" + "documentation":"

Information about the resource records to act upon.

If you're creating an alias resource record set, omit ResourceRecords.

" }, "AliasTarget":{ "shape":"AliasTarget", - "documentation":"

Alias resource record sets only: Information about the CloudFront distribution, AWS Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to which you are redirecting queries. The AWS Elastic Beanstalk environment must have a regionalized subdomain.

If you're creating resource records sets for a private hosted zone, note the following:

  • You can't create alias resource record sets for CloudFront distributions in a private hosted zone.

  • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

  • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone in the Amazon Route 53 Developer Guide.

" + "documentation":"

Alias resource record sets only: Information about the CloudFront distribution, AWS Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to which you're redirecting queries. The AWS Elastic Beanstalk environment must have a regionalized subdomain.

If you're creating resource records sets for a private hosted zone, note the following:

  • You can't create alias resource record sets for CloudFront distributions in a private hosted zone.

  • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

  • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone in the Amazon Route 53 Developer Guide.

" }, "HealthCheckId":{ "shape":"HealthCheckId", - "documentation":"

If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a health check is passing, include the HealthCheckId element and specify the ID of the applicable health check.

Amazon Route 53 determines whether a resource record set is healthy based on one of the following:

  • By periodically sending a request to the endpoint that is specified in the health check

  • By aggregating the status of a specified group of health checks (calculated health checks)

  • By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)

For information about how Amazon Route 53 determines whether a health check is healthy, see CreateHealthCheck.

The HealthCheckId element is only useful when Amazon Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on the status of a health check. Configuring health checks only makes sense in the following configurations:

  • You're checking the health of the resource record sets in a weighted, latency, geolocation, or failover resource record set, and you specify health check IDs for all of the resource record sets. If the health check for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 stops responding to queries using the value for that resource record set.

  • You set EvaluateTargetHealth to true for the resource record sets in an alias, weighted alias, latency alias, geolocation alias, or failover alias resource record set, and you specify health check IDs for all of the resource record sets that are referenced by the alias resource record sets.

Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for example, the endpoint specified by the IP address in the Value element. When you add a HealthCheckId element to a resource record set, Amazon Route 53 checks the health of the endpoint that you specified in the health check.

For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the United States, for North America, and for all locations. If the endpoint for the state resource record set is unhealthy, Amazon Route 53 checks the resource record sets for the United States, for North America, and for all locations (a resource record set for which the value of CountryCode is *), in that order, until it finds a resource record set for which the endpoint is healthy.

If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-1-www.example.com), not the name of the resource record sets (example.com).

n this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the resource record sets and then associate the health check with those resource record sets, health check results will be unpredictable.

For more information, see the following topics in the Amazon Route 53 Developer Guide:

" + "documentation":"

If you want Amazon Route 53 to return this resource record set in response to a DNS query only when a health check is passing, include the HealthCheckId element and specify the ID of the applicable health check.

Amazon Route 53 determines whether a resource record set is healthy based on one of the following:

  • By periodically sending a request to the endpoint that is specified in the health check

  • By aggregating the status of a specified group of health checks (calculated health checks)

  • By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)

For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy.

The HealthCheckId element is only useful when Amazon Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Amazon Route 53 to base the choice in part on the status of a health check. Configuring health checks only makes sense in the following configurations:

  • You're checking the health of the resource record sets in a group of weighted, latency, geolocation, or failover resource record sets, and you specify health check IDs for all of the resource record sets. If the health check for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 stops responding to queries using the value for that resource record set.

  • You set EvaluateTargetHealth to true for the resource record sets in a group of alias, weighted alias, latency alias, geolocation alias, or failover alias resource record sets, and you specify health check IDs for all of the resource record sets that are referenced by the alias resource record sets.

Amazon Route 53 doesn't check the health of the endpoint specified in the resource record set, for example, the endpoint specified by the IP address in the Value element. When you add a HealthCheckId element to a resource record set, Amazon Route 53 checks the health of the endpoint that you specified in the health check.

For geolocation resource record sets, if an endpoint is unhealthy, Amazon Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the United States, for North America, and for all locations. If the endpoint for the state resource record set is unhealthy, Amazon Route 53 checks the resource record sets for the United States, for North America, and for all locations (a resource record set for which the value of CountryCode is *), in that order, until it finds a resource record set for which the endpoint is healthy.

If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-2-www.example.com), not the name of the resource record sets (example.com).

n this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the resource record sets and then associate the health check with those resource record sets, health check results will be unpredictable.

For more information, see the following topics in the Amazon Route 53 Developer Guide:

" }, "TrafficPolicyInstanceId":{ "shape":"TrafficPolicyInstanceId", @@ -3703,6 +3703,7 @@ "max":128, "min":1 }, + "ResourceRecordSetMultiValueAnswer":{"type":"boolean"}, "ResourceRecordSetRegion":{ "type":"string", "enum":[ @@ -3798,14 +3799,14 @@ }, "CheckedTime":{ "shape":"TimeStamp", - "documentation":"

The time at which the health checker performed the health check in ISO 8601 format and Coordinated Universal Time (UTC). For example, the value 2014-10-27T17:48:16.751Z represents October 27, 2014 at 17:48:16.751 UTC.

" + "documentation":"

The date and time that the health checker performed the health check in ISO 8601 format and Coordinated Universal Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC.

" } }, "documentation":"

A complex type that contains the status that one Amazon Route 53 health checker reports and the time of the health check.

" }, "SubnetMask":{ "type":"string", - "max":2, + "max":3, "min":0 }, "TTL":{ @@ -3818,7 +3819,7 @@ "members":{ "Key":{ "shape":"TagKey", - "documentation":"

The value of Key depends on the operation that you want to perform:

  • Add a tag to a health check or hosted zone: Key is the name that you want to give the new tag.

  • Edit a tag: Key is the name of the tag whose Value element you want to remove.

  • Delete a key: Key is the name of the tag you want to remove.

  • Give a name to a health check: Edit the default Name tag. In the Amazon Route 53 console, the list of your health checks includes a Name column that lets you see the name that you've given to each health check.

" + "documentation":"

The value of Key depends on the operation that you want to perform:

  • Add a tag to a health check or hosted zone: Key is the name that you want to give the new tag.

  • Edit a tag: Key is the name of the tag that you want to change the Value for.

  • Delete a key: Key is the name of the tag you want to remove.

  • Give a name to a health check: Edit the default Name tag. In the Amazon Route 53 console, the list of your health checks includes a Name column that lets you see the name that you've given to each health check.

" }, "Value":{ "shape":"TagValue", @@ -3901,24 +3902,24 @@ }, "ResolverIP":{ "shape":"IPAddress", - "documentation":"

If you want to simulate a request from a specific DNS resolver, specify the IP address for that resolver. If you omit this value, TestDnsAnswer uses the IP address of a DNS resolver in the AWS US East region.

", + "documentation":"

If you want to simulate a request from a specific DNS resolver, specify the IP address for that resolver. If you omit this value, TestDnsAnswer uses the IP address of a DNS resolver in the AWS US East (N. Virginia) Region (us-east-1).

", "location":"querystring", "locationName":"resolverip" }, "EDNS0ClientSubnetIP":{ "shape":"IPAddress", - "documentation":"

If the resolver that you specified for resolverip supports EDNS0, specify the IP address of a client in the applicable location.

", + "documentation":"

If the resolver that you specified for resolverip supports EDNS0, specify the IPv4 or IPv6 address of a client in the applicable location, for example, 192.0.2.44 or 2001:db8:85a3::8a2e:370:7334.

", "location":"querystring", "locationName":"edns0clientsubnetip" }, "EDNS0ClientSubnetMask":{ "shape":"SubnetMask", - "documentation":"

If you specify an IP address for edns0clientsubnetip, you can optionally specify the number of bits of the IP address that you want the checking tool to include in the DNS query. For example, if you specify 192.0.2.44 for edns0clientsubnetip and 24 for edns0clientsubnetmask, the checking tool will simulate a request from 192.0.2.0/24. The default value is 24 bits.

", + "documentation":"

If you specify an IP address for edns0clientsubnetip, you can optionally specify the number of bits of the IP address that you want the checking tool to include in the DNS query. For example, if you specify 192.0.2.44 for edns0clientsubnetip and 24 for edns0clientsubnetmask, the checking tool will simulate a request from 192.0.2.0/24. The default value is 24 bits for IPv4 addresses and 64 bits for IPv6 addresses.

", "location":"querystring", "locationName":"edns0clientsubnetmask" } }, - "documentation":"

Gets the value that Amazon Route 53 returns in response to a DNS request for a specified record name and type. You can optionally specify the IP address of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask.

Parameters

hostedzoneid

The ID of the hosted zone that you want Amazon Route 53 to simulate a query for.

recordname

The name of the resource record set that you want Amazon Route 53 to simulate a query for.

recordtype

The type of the resource record set.

resolverip (optional)

If you want to simulate a request from a specific DNS resolver, specify the IP address for that resolver. If you omit this value, TestDNSAnswer uses the IP address of a DNS resolver in the AWS US East region.

edns0clientsubnetip (optional)

If the resolver that you specified for resolverip supports EDNS0, specify the IP address of a client in the applicable location.

edns0clientsubnetmask (optional)

If you specify an IP address for edns0clientsubnetip, you can optionally specify the number of bits of the IP address that you want the checking tool to include in the DNS query. For example, if you specify 192.0.2.44 for edns0clientsubnetip and 24 for edns0clientsubnetmask, the checking tool will simulate a request from 192.0.2.0/24. The default value is 24 bits.

" + "documentation":"

Gets the value that Amazon Route 53 returns in response to a DNS request for a specified record name and type. You can optionally specify the IP address of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask.

" }, "TestDNSAnswerResponse":{ "type":"structure", @@ -3964,7 +3965,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

", + "documentation":"

The limit on the number of requests per second was exceeded.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -4251,11 +4252,11 @@ }, "HealthCheckVersion":{ "shape":"HealthCheckVersion", - "documentation":"

A sequential counter that Amazon Route 53 sets to 1 when you create a health check and increments by 1 each time you update settings for the health check.

We recommend that you use GetHealthCheck or ListHealthChecks to get the current value of HealthCheckVersion for the health check that you want to update, and that you include that value in your UpdateHealthCheck request. This prevents Amazon Route 53 from overwriting an intervening update:

  • f the value in the UpdateHealthCheck request matches the value of HealthCheckVersion in the health check, Amazon Route 53 updates the health check with the new settings.

  • If the value of HealthCheckVersion in the health check is greater, the health check was changed after you got the version number. Amazon Route 53 does not update the health check, and it returns a HealthCheckVersionMismatch error.

" + "documentation":"

A sequential counter that Amazon Route 53 sets to 1 when you create a health check and increments by 1 each time you update settings for the health check.

We recommend that you use GetHealthCheck or ListHealthChecks to get the current value of HealthCheckVersion for the health check that you want to update, and that you include that value in your UpdateHealthCheck request. This prevents Amazon Route 53 from overwriting an intervening update:

  • If the value in the UpdateHealthCheck request matches the value of HealthCheckVersion in the health check, Amazon Route 53 updates the health check with the new settings.

  • If the value of HealthCheckVersion in the health check is greater, the health check was changed after you got the version number. Amazon Route 53 does not update the health check, and it returns a HealthCheckVersionMismatch error.

" }, "IPAddress":{ "shape":"IPAddress", - "documentation":"

The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address that is returned by DNS, Amazon Route 53 then checks the health of the endpoint.

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance never changes. For more information, see Elastic IP Addresses (EIP) in the Amazon EC2 User Guide for Linux Instances.

If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress.

For more information, see UpdateHealthCheckRequest$FullyQualifiedDomainName.

Constraints: Amazon Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:

" + "documentation":"

The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address that is returned by DNS, Amazon Route 53 then checks the health of the endpoint.

Use one of the following formats for the value of IPAddress:

  • IPv4 address: four values between 0 and 255, separated by periods (.), for example, 192.0.2.44.

  • IPv6 address: eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345.

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance never changes. For more information, see the applicable documentation:

If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress.

For more information, see UpdateHealthCheckRequest$FullyQualifiedDomainName.

Constraints: Amazon Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:

" }, "Port":{ "shape":"Port", @@ -4267,7 +4268,7 @@ }, "FullyQualifiedDomainName":{ "shape":"FullyQualifiedDomainName", - "documentation":"

Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress.

If you specify a value for IPAddress:

Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Amazon Route 53 to perform health checks.

When Amazon Route 53 checks the health of an endpoint, here is how it constructs the Host header:

  • If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

  • If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

  • If you specify another value for Port and any value except TCP for Type, Amazon Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header.

If you don't specify a value for FullyQualifiedDomainName, Amazon Route 53 substitutes the value of IPAddress in the Host header in each of the above cases.

If you don't specify a value for IPAddress:

If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request to the domain that you specify in FullyQualifiedDomainName at the interval you specify in RequestInterval. Using an IPv4 address that is returned by DNS, Amazon Route 53 then checks the health of the endpoint.

If you don't specify a value for IPAddress, Amazon Route 53 uses only IPv4 to send health checks to the endpoint. If there's no resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a \"DNS resolution failed\" error.

If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-1-www.example.com), not the name of the resource record sets (www.example.com).

In this configuration, if the value of FullyQualifiedDomainName matches the name of the resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

In addition, if the value of Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Amazon Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress. If the value of Type is TCP, Amazon Route 53 doesn't pass a Host header.

" + "documentation":"

Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress.

If you specify a value for IPAddress:

Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Amazon Route 53 to perform health checks.

When Amazon Route 53 checks the health of an endpoint, here is how it constructs the Host header:

  • If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

  • If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

  • If you specify another value for Port and any value except TCP for Type, Amazon Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header.

If you don't specify a value for FullyQualifiedDomainName, Amazon Route 53 substitutes the value of IPAddress in the Host header in each of the above cases.

If you don't specify a value for IPAddress:

If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request to the domain that you specify in FullyQualifiedDomainName at the interval you specify in RequestInterval. Using an IPv4 address that is returned by DNS, Amazon Route 53 then checks the health of the endpoint.

If you don't specify a value for IPAddress, Amazon Route 53 uses only IPv4 to send health checks to the endpoint. If there's no resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a \"DNS resolution failed\" error.

If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName, specify the domain name of the server (such as us-east-2-www.example.com), not the name of the resource record sets (www.example.com).

In this configuration, if the value of FullyQualifiedDomainName matches the name of the resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

In addition, if the value of Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Amazon Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress. If the value of Type is TCP, Amazon Route 53 doesn't pass a Host header.

" }, "SearchString":{ "shape":"SearchString", @@ -4275,7 +4276,7 @@ }, "FailureThreshold":{ "shape":"FailureThreshold", - "documentation":"

The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

" + "documentation":"

The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

If you don't specify a value for FailureThreshold, the default value is three health checks.

" }, "Inverted":{ "shape":"Inverted", @@ -4295,7 +4296,7 @@ }, "Regions":{ "shape":"HealthCheckRegionList", - "documentation":"

A complex type that contains one Region element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint.

" + "documentation":"

A complex type that contains one Region element for each region that you want Amazon Route 53 health checkers to check the specified endpoint from.

" }, "AlarmIdentifier":{"shape":"AlarmIdentifier"}, "InsufficientDataHealthStatus":{ @@ -4303,7 +4304,7 @@ "documentation":"

When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:

  • Healthy: Amazon Route 53 considers the health check to be healthy.

  • Unhealthy: Amazon Route 53 considers the health check to be unhealthy.

  • LastKnownStatus: Amazon Route 53 uses the status of the health check from the last time CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

" } }, - "documentation":"

A complex type that contains the health check request information.

" + "documentation":"

A complex type that contains information about a request to update a health check.

" }, "UpdateHealthCheckResponse":{ "type":"structure", @@ -4318,7 +4319,7 @@ "members":{ "Id":{ "shape":"ResourceId", - "documentation":"

The ID for the hosted zone for which you want to update the comment.

", + "documentation":"

The ID for the hosted zone that you want to update the comment for.

", "location":"uri", "locationName":"Id" }, @@ -4327,7 +4328,7 @@ "documentation":"

The new comment for the hosted zone. If you don't specify a value for Comment, Amazon Route 53 deletes the existing value of the Comment element, if any.

" } }, - "documentation":"

A complex type that contains the hosted zone request information.

" + "documentation":"

A request to update the comment for a hosted zone.

" }, "UpdateHostedZoneCommentResponse":{ "type":"structure", @@ -4335,7 +4336,7 @@ "members":{ "HostedZone":{"shape":"HostedZone"} }, - "documentation":"

A complex type that contains the response to the UpdateHostedZoneCommentRequest.

" + "documentation":"

A complex type that contains the response to the UpdateHostedZoneComment request.

" }, "UpdateTrafficPolicyCommentRequest":{ "type":"structure", @@ -4347,13 +4348,13 @@ "members":{ "Id":{ "shape":"TrafficPolicyId", - "documentation":"

The value of Id for the traffic policy for which you want to update the comment.

", + "documentation":"

The value of Id for the traffic policy that you want to update the comment for.

", "location":"uri", "locationName":"Id" }, "Version":{ "shape":"TrafficPolicyVersion", - "documentation":"

The value of Version for the traffic policy for which you want to update the comment.

", + "documentation":"

The value of Version for the traffic policy that you want to update the comment for.

", "location":"uri", "locationName":"Version" }, @@ -4362,7 +4363,7 @@ "documentation":"

The new comment for the specified traffic policy and version.

" } }, - "documentation":"

A complex type that contains information about the traffic policy for which you want to update the comment.

" + "documentation":"

A complex type that contains information about the traffic policy that you want to update the comment for.

" }, "UpdateTrafficPolicyCommentResponse":{ "type":"structure", @@ -4421,11 +4422,11 @@ "members":{ "VPCRegion":{ "shape":"VPCRegion", - "documentation":"

The region in which you created the VPC that you want to associate with the specified Amazon Route 53 hosted zone.

" + "documentation":"

(Private hosted zones only) The region in which you created an Amazon VPC.

" }, "VPCId":{"shape":"VPCId"} }, - "documentation":"

A complex type that contains information about an Amazon VPC that is associated with a private hosted zone.

" + "documentation":"

(Private hosted zones only) A complex type that contains information about an Amazon VPC.

" }, "VPCAssociationAuthorizationNotFound":{ "type":"structure", @@ -4453,7 +4454,7 @@ }, "VPCId":{ "type":"string", - "documentation":"

The ID of an Amazon VPC.

", + "documentation":"

(Private hosted zones only) The ID of an Amazon VPC.

", "max":1024 }, "VPCRegion":{ @@ -4484,7 +4485,7 @@ "shape":"VPC", "locationName":"VPC" }, - "documentation":"

A list of VPC elements.

", + "documentation":"

(Private hosted zones only) A list of VPC elements.

", "min":1 } } diff --git a/botocore/data/route53domains/2014-05-15/service-2.json b/botocore/data/route53domains/2014-05-15/service-2.json index 095cf41b..fcd96e75 100644 --- a/botocore/data/route53domains/2014-05-15/service-2.json +++ b/botocore/data/route53domains/2014-05-15/service-2.json @@ -1,14 +1,14 @@ { "version":"2.0", "metadata":{ - "uid":"route53domains-2014-05-15", "apiVersion":"2014-05-15", "endpointPrefix":"route53domains", "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon Route 53 Domains", "signatureVersion":"v4", - "targetPrefix":"Route53Domains_v20140515" + "targetPrefix":"Route53Domains_v20140515", + "uid":"route53domains-2014-05-15" }, "operations":{ "CheckDomainAvailability":{ @@ -130,7 +130,7 @@ {"shape":"InvalidInput"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

This operation returns detailed information about the domain. The domain's contact information is also returned as part of the output.

" + "documentation":"

This operation returns detailed information about a specified domain that is associated with the current AWS account. Contact information for the domain is also returned as part of the output.

" }, "GetDomainSuggestions":{ "name":"GetDomainSuggestions", @@ -144,7 +144,7 @@ {"shape":"InvalidInput"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

The GetDomainSuggestions operation returns a list of suggested domain names given a string, which can either be a domain name or simply a word or phrase (without spaces).

Parameters:

  • DomainName (string): The basis for your domain suggestion search, a string with (or without) top-level domain specified.
  • SuggestionCount (int): The number of domain suggestions to be returned, maximum 50, minimum 1.
  • OnlyAvailable (bool): If true, availability check will be performed on suggestion results, and only available domains will be returned. If false, suggestions will be returned without checking whether the domain is actually available, and caller will have to call checkDomainAvailability for each suggestion to determine availability for registration.

" + "documentation":"

The GetDomainSuggestions operation returns a list of suggested domain names given a string, which can either be a domain name or simply a word or phrase (without spaces).

" }, "GetOperationDetail":{ "name":"GetOperationDetail", @@ -216,7 +216,7 @@ {"shape":"DomainLimitExceeded"}, {"shape":"OperationLimitExceeded"} ], - "documentation":"

This operation registers a domain. Domains are registered by the AWS registrar partner, Gandi. For some top-level domains (TLDs), this operation requires extra parameters.

When you register a domain, Amazon Route 53 does the following:

  • Creates a Amazon Route 53 hosted zone that has the same name as the domain. Amazon Route 53 assigns four name servers to your hosted zone and automatically updates your domain registration with the names of these name servers.
  • Enables autorenew, so your domain registration will renew automatically each year. We'll notify you in advance of the renewal date so you can choose whether to renew the registration.
  • Optionally enables privacy protection, so WHOIS queries return contact information for our registrar partner, Gandi, instead of the information you entered for registrant, admin, and tech contacts.
  • If registration is successful, returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant is notified by email.
  • Charges your AWS account an amount based on the top-level domain. For more information, see Amazon Route 53 Pricing.
" + "documentation":"

This operation registers a domain. Domains are registered by the AWS registrar partner, Gandi. For some top-level domains (TLDs), this operation requires extra parameters.

When you register a domain, Amazon Route 53 does the following:

  • Creates a Amazon Route 53 hosted zone that has the same name as the domain. Amazon Route 53 assigns four name servers to your hosted zone and automatically updates your domain registration with the names of these name servers.

  • Enables autorenew, so your domain registration will renew automatically each year. We'll notify you in advance of the renewal date so you can choose whether to renew the registration.

  • Optionally enables privacy protection, so WHOIS queries return contact information for our registrar partner, Gandi, instead of the information you entered for registrant, admin, and tech contacts.

  • If registration is successful, returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant is notified by email.

  • Charges your AWS account an amount based on the top-level domain. For more information, see Amazon Route 53 Pricing.

" }, "RenewDomain":{ "name":"RenewDomain", @@ -233,7 +233,7 @@ {"shape":"TLDRulesViolation"}, {"shape":"OperationLimitExceeded"} ], - "documentation":"

This operation renews a domain for the specified number of years. The cost of renewing your domain is billed to your AWS account.

We recommend that you renew your domain several weeks before the expiration date. Some TLD registries delete domains before the expiration date if you haven't renewed far enough in advance. For more information about renewing domain registration, see Renewing Registration for a Domain in the Amazon Route 53 documentation.

" + "documentation":"

This operation renews a domain for the specified number of years. The cost of renewing your domain is billed to your AWS account.

We recommend that you renew your domain several weeks before the expiration date. Some TLD registries delete domains before the expiration date if you haven't renewed far enough in advance. For more information about renewing domain registration, see Renewing Registration for a Domain in the Amazon Route 53 Developer Guide.

" }, "ResendContactReachabilityEmail":{ "name":"ResendContactReachabilityEmail", @@ -248,7 +248,7 @@ {"shape":"OperationLimitExceeded"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation resends the confirmation email to the current email address for the registrant contact.

" + "documentation":"

For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation resends the confirmation email to the current email address for the registrant contact.

" }, "RetrieveDomainAuthCode":{ "name":"RetrieveDomainAuthCode", @@ -280,7 +280,7 @@ {"shape":"DomainLimitExceeded"}, {"shape":"OperationLimitExceeded"} ], - "documentation":"

This operation transfers a domain from another registrar to Amazon Route 53. When the transfer is complete, the domain is registered with the AWS registrar partner, Gandi.

For transfer requirements, a detailed procedure, and information about viewing the status of a domain transfer, see Transferring Registration for a Domain to Amazon Route 53 in the Amazon Route 53 Developer Guide.

If the registrar for your domain is also the DNS service provider for the domain, we highly recommend that you consider transferring your DNS service to Amazon Route 53 or to another DNS service provider before you transfer your registration. Some registrars provide free DNS service when you purchase a domain registration. When you transfer the registration, the previous registrar will not renew your domain registration and could end your DNS service at any time.

Caution! If the registrar for your domain is also the DNS service provider for the domain and you don't transfer DNS service to another provider, your website, email, and the web applications associated with the domain might become unavailable.

If the transfer is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the transfer doesn't complete successfully, the domain registrant will be notified by email.

" + "documentation":"

This operation transfers a domain from another registrar to Amazon Route 53. When the transfer is complete, the domain is registered with the AWS registrar partner, Gandi.

For transfer requirements, a detailed procedure, and information about viewing the status of a domain transfer, see Transferring Registration for a Domain to Amazon Route 53 in the Amazon Route 53 Developer Guide.

If the registrar for your domain is also the DNS service provider for the domain, we highly recommend that you consider transferring your DNS service to Amazon Route 53 or to another DNS service provider before you transfer your registration. Some registrars provide free DNS service when you purchase a domain registration. When you transfer the registration, the previous registrar will not renew your domain registration and could end your DNS service at any time.

If the registrar for your domain is also the DNS service provider for the domain and you don't transfer DNS service to another provider, your website, email, and the web applications associated with the domain might become unavailable.

If the transfer is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the transfer doesn't complete successfully, the domain registrant will be notified by email.

" }, "UpdateDomainContact":{ "name":"UpdateDomainContact", @@ -314,7 +314,7 @@ {"shape":"OperationLimitExceeded"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

This operation updates the specified domain contact's privacy setting. When the privacy option is enabled, personal information such as postal or email address is hidden from the results of a public WHOIS query. The privacy services are provided by the AWS registrar, Gandi. For more information, see the Gandi privacy features.

This operation only affects the privacy of the specified contact type (registrant, administrator, or tech). Successful acceptance returns an operation ID that you can use with GetOperationDetail to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

" + "documentation":"

This operation updates the specified domain contact's privacy setting. When the privacy option is enabled, personal information such as postal or email address is hidden from the results of a public WHOIS query. The privacy services are provided by the AWS registrar, Gandi. For more information, see the Gandi privacy features.

This operation only affects the privacy of the specified contact type (registrant, administrator, or tech). Successful acceptance returns an operation ID that you can use with GetOperationDetail to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

" }, "UpdateDomainNameservers":{ "name":"UpdateDomainNameservers", @@ -331,7 +331,7 @@ {"shape":"OperationLimitExceeded"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

This operation replaces the current set of name servers for the domain with the specified set of name servers. If you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted zone for the domain.

If successful, this operation returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

" + "documentation":"

This operation replaces the current set of name servers for the domain with the specified set of name servers. If you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted zone for the domain.

If successful, this operation returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

" }, "UpdateTagsForDomain":{ "name":"UpdateTagsForDomain", @@ -359,7 +359,7 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

This operation returns all the domain-related billing records for the current AWS account for a specified period

" + "documentation":"

Returns all the domain-related billing records for the current AWS account for a specified period

" } }, "shapes":{ @@ -372,25 +372,26 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

" + "documentation":"

The name of the domain that the billing record applies to. If the domain name contains characters other than a-z, 0-9, and - (hyphen), such as an internationalized domain name, then this value is in Punycode. For more information, see DNS Domain Name Format in the Amazon Route 53 Developer Guidezzz.

" }, "Operation":{ "shape":"OperationType", - "documentation":"

The operation that you were charged for.

Type: String

Valid values:

  • REGISTER_DOMAIN
  • TRANSFER_IN_DOMAIN
  • RENEW_DOMAIN
  • CHANGE_DOMAIN_OWNER

" + "documentation":"

The operation that you were charged for.

" }, "InvoiceId":{ "shape":"InvoiceId", - "documentation":"

The ID of the invoice that is associated with the billing record.

Type: String

" + "documentation":"

The ID of the invoice that is associated with the billing record.

" }, "BillDate":{ "shape":"Timestamp", - "documentation":"

The date that the operation was billed, in Unix format.

Type: Double

" + "documentation":"

The date that the operation was billed, in Unix format.

" }, "Price":{ "shape":"Price", - "documentation":"

The price that you were charged for the operation, in US dollars.

Type: Double

Example value: 12.0

" + "documentation":"

The price that you were charged for the operation, in US dollars.

Example value: 12.0

" } - } + }, + "documentation":"

Information for one billing record.

" }, "BillingRecords":{ "type":"list", @@ -403,7 +404,7 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

Required: Yes

" + "documentation":"

The name of the domain that you want to get availability for.

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

" }, "IdnLangCode":{ "shape":"LangCode", @@ -418,7 +419,7 @@ "members":{ "Availability":{ "shape":"DomainAvailability", - "documentation":"

Whether the domain name is available for registering.

You can only register domains designated as AVAILABLE.

Type: String

Valid values:

  • AVAILABLE – The domain name is available.
  • AVAILABLE_RESERVED – The domain name is reserved under specific conditions.
  • AVAILABLE_PREORDER – The domain name is available and can be preordered.
  • UNAVAILABLE – The domain name is not available.
  • UNAVAILABLE_PREMIUM – The domain name is not available.
  • UNAVAILABLE_RESTRICTED – The domain name is forbidden.
  • RESERVED – The domain name has been reserved for another person or organization.
  • DONT_KNOW – The TLD registry didn't reply with a definitive answer about whether the domain name is available. Amazon Route 53 can return this response for a variety of reasons, for example, the registry is performing maintenance. Try again later.
" + "documentation":"

Whether the domain name is available for registering.

You can only register domains designated as AVAILABLE.

Valid values:

AVAILABLE

The domain name is available.

AVAILABLE_RESERVED

The domain name is reserved under specific conditions.

AVAILABLE_PREORDER

The domain name is available and can be preordered.

DONT_KNOW

The TLD registry didn't reply with a definitive answer about whether the domain name is available. Amazon Route 53 can return this response for a variety of reasons, for example, the registry is performing maintenance. Try again later.

PENDING

The TLD registry didn't return a response in the expected amount of time. When the response is delayed, it usually takes just a few extra seconds. You can resubmit the request immediately.

RESERVED

The domain name has been reserved for another person or organization.

UNAVAILABLE

The domain name is not available.

UNAVAILABLE_PREMIUM

The domain name is not available.

UNAVAILABLE_RESTRICTED

The domain name is forbidden.

" } }, "documentation":"

The CheckDomainAvailability response includes the following elements.

" @@ -432,59 +433,59 @@ "members":{ "FirstName":{ "shape":"ContactName", - "documentation":"

First name of contact.

Type: String

Default: None

Constraints: Maximum 255 characters.

Parents: RegistrantContact, AdminContact, TechContact

Required: Yes

" + "documentation":"

First name of contact.

" }, "LastName":{ "shape":"ContactName", - "documentation":"

Last name of contact.

Type: String

Default: None

Constraints: Maximum 255 characters.

Parents: RegistrantContact, AdminContact, TechContact

Required: Yes

" + "documentation":"

Last name of contact.

" }, "ContactType":{ "shape":"ContactType", - "documentation":"

Indicates whether the contact is a person, company, association, or public organization. If you choose an option other than PERSON, you must enter an organization name, and you can't enable privacy protection for the contact.

Type: String

Default: None

Constraints: Maximum 255 characters.

Valid values: PERSON | COMPANY | ASSOCIATION | PUBLIC_BODY

Parents: RegistrantContact, AdminContact, TechContact

Required: Yes

" + "documentation":"

Indicates whether the contact is a person, company, association, or public organization. If you choose an option other than PERSON, you must enter an organization name, and you can't enable privacy protection for the contact.

" }, "OrganizationName":{ "shape":"ContactName", - "documentation":"

Name of the organization for contact types other than PERSON.

Type: String

Default: None

Constraints: Maximum 255 characters. Contact type must not be PERSON.

Parents: RegistrantContact, AdminContact, TechContact

Required: No

" + "documentation":"

Name of the organization for contact types other than PERSON.

" }, "AddressLine1":{ "shape":"AddressLine", - "documentation":"

First line of the contact's address.

Type: String

Default: None

Constraints: Maximum 255 characters.

Parents: RegistrantContact, AdminContact, TechContact

Required: Yes

" + "documentation":"

First line of the contact's address.

" }, "AddressLine2":{ "shape":"AddressLine", - "documentation":"

Second line of contact's address, if any.

Type: String

Default: None

Constraints: Maximum 255 characters.

Parents: RegistrantContact, AdminContact, TechContact

Required: No

" + "documentation":"

Second line of contact's address, if any.

" }, "City":{ "shape":"City", - "documentation":"

The city of the contact's address.

Type: String

Default: None

Constraints: Maximum 255 characters.

Parents: RegistrantContact, AdminContact, TechContact

Required: Yes

" + "documentation":"

The city of the contact's address.

" }, "State":{ "shape":"State", - "documentation":"

The state or province of the contact's city.

Type: String

Default: None

Constraints: Maximum 255 characters.

Parents: RegistrantContact, AdminContact, TechContact

Required: No

" + "documentation":"

The state or province of the contact's city.

" }, "CountryCode":{ "shape":"CountryCode", - "documentation":"

Code for the country of the contact's address.

Type: String

Default: None

Constraints: Maximum 255 characters.

Parents: RegistrantContact, AdminContact, TechContact

Required: Yes

" + "documentation":"

Code for the country of the contact's address.

" }, "ZipCode":{ "shape":"ZipCode", - "documentation":"

The zip or postal code of the contact's address.

Type: String

Default: None

Constraints: Maximum 255 characters.

Parents: RegistrantContact, AdminContact, TechContact

Required: No

" + "documentation":"

The zip or postal code of the contact's address.

" }, "PhoneNumber":{ "shape":"ContactNumber", - "documentation":"

The phone number of the contact.

Type: String

Default: None

Constraints: Phone number must be specified in the format \"+[country dialing code].[number including any area code>]\". For example, a US phone number might appear as \"+1.1234567890\".

Parents: RegistrantContact, AdminContact, TechContact

Required: Yes

" + "documentation":"

The phone number of the contact.

Constraints: Phone number must be specified in the format \"+[country dialing code].[number including any area code>]\". For example, a US phone number might appear as \"+1.1234567890\".

" }, "Email":{ "shape":"Email", - "documentation":"

Email address of the contact.

Type: String

Default: None

Constraints: Maximum 254 characters.

Parents: RegistrantContact, AdminContact, TechContact

Required: Yes

" + "documentation":"

Email address of the contact.

" }, "Fax":{ "shape":"ContactNumber", - "documentation":"

Fax number of the contact.

Type: String

Default: None

Constraints: Phone number must be specified in the format \"+[country dialing code].[number including any area code]\". For example, a US phone number might appear as \"+1.1234567890\".

Parents: RegistrantContact, AdminContact, TechContact

Required: No

" + "documentation":"

Fax number of the contact.

Constraints: Phone number must be specified in the format \"+[country dialing code].[number including any area code]\". For example, a US phone number might appear as \"+1.1234567890\".

" }, "ExtraParams":{ "shape":"ExtraParamList", - "documentation":"

A list of name-value pairs for parameters required by certain top-level domains.

Type: Complex

Default: None

Parents: RegistrantContact, AdminContact, TechContact

Children: Name, Value

Required: No

" + "documentation":"

A list of name-value pairs for parameters required by certain top-level domains.

" } }, "documentation":"

ContactDetail includes the following elements.

", @@ -753,11 +754,11 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The domain for which you want to delete one or more tags.

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Hyphens are allowed only when they're surrounded by letters, numbers, or other hyphens. You can't specify a hyphen at the beginning or end of a label. To specify an Internationalized Domain Name, you must convert the name to Punycode.

Required: Yes

" + "documentation":"

The domain for which you want to delete one or more tags.

" }, "TagsToDelete":{ "shape":"TagKeyList", - "documentation":"

A list of tag keys to delete.

Type: A list that contains the keys of the tags that you want to delete.

Default: None

Required: No

'>" + "documentation":"

A list of tag keys to delete.

" } }, "documentation":"

The DeleteTagsForDomainRequest includes the following elements.

" @@ -771,7 +772,10 @@ "type":"structure", "required":["DomainName"], "members":{ - "DomainName":{"shape":"DomainName"} + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain that you want to disable automatic renewal for.

" + } } }, "DisableDomainAutoRenewResponse":{ @@ -785,7 +789,7 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

Required: Yes

" + "documentation":"

The name of the domain that you want to remove the transfer lock for.

" } }, "documentation":"

The DisableDomainTransferLock request includes the following element.

" @@ -796,7 +800,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

Type: String

Default: None

Constraints: Maximum 255 characters.

" + "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

" } }, "documentation":"

The DisableDomainTransferLock response includes the following element.

" @@ -822,7 +826,10 @@ "DomainLimitExceeded":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

The number of domains has exceeded the allowed threshold for the account.

" + } }, "documentation":"

The number of domains has exceeded the allowed threshold for the account.

", "exception":true @@ -840,9 +847,16 @@ "DomainSuggestion":{ "type":"structure", "members":{ - "DomainName":{"shape":"DomainName"}, - "Availability":{"shape":"String"} - } + "DomainName":{ + "shape":"DomainName", + "documentation":"

A suggested domain name.

" + }, + "Availability":{ + "shape":"String", + "documentation":"

Whether the domain name is available for registering.

You can register only the domains that are designated as AVAILABLE.

Valid values:

AVAILABLE

The domain name is available.

AVAILABLE_RESERVED

The domain name is reserved under specific conditions.

AVAILABLE_PREORDER

The domain name is available and can be preordered.

DONT_KNOW

The TLD registry didn't reply with a definitive answer about whether the domain name is available. Amazon Route 53 can return this response for a variety of reasons, for example, the registry is performing maintenance. Try again later.

PENDING

The TLD registry didn't return a response in the expected amount of time. When the response is delayed, it usually takes just a few extra seconds. You can resubmit the request immediately.

RESERVED

The domain name has been reserved for another person or organization.

UNAVAILABLE

The domain name is not available.

UNAVAILABLE_PREMIUM

The domain name is not available.

UNAVAILABLE_RESTRICTED

The domain name is forbidden.

" + } + }, + "documentation":"

Information about one suggested domain name.

" }, "DomainSuggestionsList":{ "type":"list", @@ -854,21 +868,22 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

" + "documentation":"

The name of the domain that the summary information applies to.

" }, "AutoRenew":{ "shape":"Boolean", - "documentation":"

Indicates whether the domain is automatically renewed upon expiration.

Type: Boolean

Valid values: True | False

" + "documentation":"

Indicates whether the domain is automatically renewed upon expiration.

" }, "TransferLock":{ "shape":"Boolean", - "documentation":"

Indicates whether a domain is locked from unauthorized transfer to another party.

Type: Boolean

Valid values: True | False

" + "documentation":"

Indicates whether a domain is locked from unauthorized transfer to another party.

" }, "Expiry":{ "shape":"Timestamp", - "documentation":"

Expiration date of the domain in Coordinated Universal Time (UTC).

Type: Long

" + "documentation":"

Expiration date of the domain in Coordinated Universal Time (UTC).

" } - } + }, + "documentation":"

Summary information about one domain.

" }, "DomainSummaryList":{ "type":"list", @@ -877,7 +892,10 @@ "DuplicateRequest":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

The request is already in progress for the domain.

" + } }, "documentation":"

The request is already in progress for the domain.

", "exception":true @@ -895,7 +913,10 @@ "type":"structure", "required":["DomainName"], "members":{ - "DomainName":{"shape":"DomainName"} + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain that you want to enable automatic renewal for.

" + } } }, "EnableDomainAutoRenewResponse":{ @@ -909,10 +930,10 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

Required: Yes

" + "documentation":"

The name of the domain that you want to set the transfer lock for.

" } }, - "documentation":"

The EnableDomainTransferLock request includes the following element.

" + "documentation":"

A request to set the transfer lock for the specified domain.

" }, "EnableDomainTransferLockResponse":{ "type":"structure", @@ -920,7 +941,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

Type: String

Default: None

Constraints: Maximum 255 characters.

" + "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

" } }, "documentation":"

The EnableDomainTransferLock response includes the following elements.

" @@ -935,11 +956,11 @@ "members":{ "Name":{ "shape":"ExtraParamName", - "documentation":"

Name of the additional parameter required by the top-level domain.

Type: String

Default: None

Valid values: DUNS_NUMBER | BRAND_NUMBER | BIRTH_DEPARTMENT | BIRTH_DATE_IN_YYYY_MM_DD | BIRTH_COUNTRY | BIRTH_CITY | DOCUMENT_NUMBER | AU_ID_NUMBER | AU_ID_TYPE | CA_LEGAL_TYPE | CA_BUSINESS_ENTITY_TYPE |ES_IDENTIFICATION | ES_IDENTIFICATION_TYPE | ES_LEGAL_FORM | FI_BUSINESS_NUMBER | FI_ID_NUMBER | IT_PIN | RU_PASSPORT_DATA | SE_ID_NUMBER | SG_ID_NUMBER | VAT_NUMBER

Parent: ExtraParams

Required: Yes

" + "documentation":"

Name of the additional parameter required by the top-level domain.

" }, "Value":{ "shape":"ExtraParamValue", - "documentation":"

Values corresponding to the additional parameter names required by some top-level domains.

Type: String

Default: None

Constraints: Maximum 2048 characters.

Parent: ExtraParams

Required: Yes

" + "documentation":"

Values corresponding to the additional parameter names required by some top-level domains.

" } }, "documentation":"

ExtraParam includes the following elements.

" @@ -984,7 +1005,7 @@ "members":{ "domainName":{ "shape":"DomainName", - "documentation":"

The name of the domain for which you want to know whether the registrant contact has confirmed that the email address is valid.

Type: String

Default: None

Required: Yes

" + "documentation":"

The name of the domain for which you want to know whether the registrant contact has confirmed that the email address is valid.

" } } }, @@ -997,7 +1018,7 @@ }, "status":{ "shape":"ReachabilityStatus", - "documentation":"

Whether the registrant contact has responded. PENDING indicates that we sent the confirmation email and haven't received a response yet, DONE indicates that we sent the email and got confirmation from the registrant contact, and EXPIRED indicates that the time limit expired before the registrant contact responded.

Type: String

Valid values: PENDING, DONE, EXPIRED

" + "documentation":"

Whether the registrant contact has responded. Values include the following:

PENDING

We sent the confirmation email and haven't received a response yet.

DONE

We sent the email and got confirmation from the registrant contact.

EXPIRED

The time limit expired before the registrant contact responded.

" } } }, @@ -1007,7 +1028,7 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

Required: Yes

" + "documentation":"

The name of the domain that you want to get detailed information about.

" } }, "documentation":"

The GetDomainDetail request includes the following element.

" @@ -1024,59 +1045,59 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

" + "documentation":"

The name of a domain.

" }, "Nameservers":{ "shape":"NameserverList", - "documentation":"

The name of the domain.

Type: String

" + "documentation":"

The name of the domain.

" }, "AutoRenew":{ "shape":"Boolean", - "documentation":"

Specifies whether the domain registration is set to renew automatically.

Type: Boolean

" + "documentation":"

Specifies whether the domain registration is set to renew automatically.

" }, "AdminContact":{ "shape":"ContactDetail", - "documentation":"

Provides details about the domain administrative contact.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

" + "documentation":"

Provides details about the domain administrative contact.

" }, "RegistrantContact":{ "shape":"ContactDetail", - "documentation":"

Provides details about the domain registrant.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

" + "documentation":"

Provides details about the domain registrant.

" }, "TechContact":{ "shape":"ContactDetail", - "documentation":"

Provides details about the domain technical contact.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

" + "documentation":"

Provides details about the domain technical contact.

" }, "AdminPrivacy":{ "shape":"Boolean", - "documentation":"

Specifies whether contact information for the admin contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

" + "documentation":"

Specifies whether contact information for the admin contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

" }, "RegistrantPrivacy":{ "shape":"Boolean", - "documentation":"

Specifies whether contact information for the registrant contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

" + "documentation":"

Specifies whether contact information for the registrant contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

" }, "TechPrivacy":{ "shape":"Boolean", - "documentation":"

Specifies whether contact information for the tech contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

" + "documentation":"

Specifies whether contact information for the tech contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

" }, "RegistrarName":{ "shape":"RegistrarName", - "documentation":"

Name of the registrar of the domain as identified in the registry. Amazon Route 53 domains are registered by registrar Gandi. The value is \"GANDI SAS\".

Type: String

" + "documentation":"

Name of the registrar of the domain as identified in the registry. Amazon Route 53 domains are registered by registrar Gandi. The value is \"GANDI SAS\".

" }, "WhoIsServer":{ "shape":"RegistrarWhoIsServer", - "documentation":"

The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain.

Type: String

" + "documentation":"

The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain.

" }, "RegistrarUrl":{ "shape":"RegistrarUrl", - "documentation":"

Web address of the registrar.

Type: String

" + "documentation":"

Web address of the registrar.

" }, "AbuseContactEmail":{ "shape":"Email", - "documentation":"

Email address to contact to report incorrect contact information for a domain, to report that the domain is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse.

Type: String

" + "documentation":"

Email address to contact to report incorrect contact information for a domain, to report that the domain is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse.

" }, "AbuseContactPhone":{ "shape":"ContactNumber", - "documentation":"

Phone number for reporting abuse.

Type: String

" + "documentation":"

Phone number for reporting abuse.

" }, "RegistryDomainId":{ "shape":"RegistryDomainId", @@ -1096,7 +1117,7 @@ }, "Reseller":{ "shape":"Reseller", - "documentation":"

Reseller of the domain. Domains registered or transferred using Amazon Route 53 domains will have \"Amazon\" as the reseller.

Type: String

" + "documentation":"

Reseller of the domain. Domains registered or transferred using Amazon Route 53 domains will have \"Amazon\" as the reseller.

" }, "DnsSec":{ "shape":"DNSSec", @@ -1104,7 +1125,7 @@ }, "StatusList":{ "shape":"DomainStatusList", - "documentation":"

An array of domain name status codes, also known as Extensible Provisioning Protocol (EPP) status codes.

ICANN, the organization that maintains a central database of domain names, has developed a set of domain name status codes that tell you the status of a variety of operations on a domain name, for example, registering a domain name, transferring a domain name to another registrar, renewing the registration for a domain name, and so on. All registrars use this same set of status codes.

For a current list of domain name status codes and an explanation of what each code means, go to the ICANN website and search for epp status codes. (Search on the ICANN website; web searches sometimes return an old version of the document.)

Type: Array of String

" + "documentation":"

An array of domain name status codes, also known as Extensible Provisioning Protocol (EPP) status codes.

ICANN, the organization that maintains a central database of domain names, has developed a set of domain name status codes that tell you the status of a variety of operations on a domain name, for example, registering a domain name, transferring a domain name to another registrar, renewing the registration for a domain name, and so on. All registrars use this same set of status codes.

For a current list of domain name status codes and an explanation of what each code means, go to the ICANN website and search for epp status codes. (Search on the ICANN website; web searches sometimes return an old version of the document.)

" } }, "documentation":"

The GetDomainDetail response includes the following elements.

" @@ -1117,15 +1138,27 @@ "OnlyAvailable" ], "members":{ - "DomainName":{"shape":"DomainName"}, - "SuggestionCount":{"shape":"Integer"}, - "OnlyAvailable":{"shape":"Boolean"} + "DomainName":{ + "shape":"DomainName", + "documentation":"

A domain name that you want to use as the basis for a list of possible domain names. The domain name must contain a top-level domain (TLD), such as .com, that Amazon Route 53 supports. For a list of TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide.

" + }, + "SuggestionCount":{ + "shape":"Integer", + "documentation":"

The number of suggested domain names that you want Amazon Route 53 to return.

" + }, + "OnlyAvailable":{ + "shape":"Boolean", + "documentation":"

If OnlyAvailable is true, Amazon Route 53 returns only domain names that are available. If OnlyAvailable is false, Amazon Route 53 returns domain names without checking whether they're available to be registered. To determine whether the domain is available, you can call checkDomainAvailability for each suggestion.

" + } } }, "GetDomainSuggestionsResponse":{ "type":"structure", "members":{ - "SuggestionsList":{"shape":"DomainSuggestionsList"} + "SuggestionsList":{ + "shape":"DomainSuggestionsList", + "documentation":"

A list of possible domain names. If you specified true for OnlyAvailable in the request, the list contains only domains that are available for registration.

" + } } }, "GetOperationDetailRequest":{ @@ -1134,33 +1167,33 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

The identifier for the operation for which you want to get the status. Amazon Route 53 returned the identifier in the response to the original request.

Type: String

Default: None

Required: Yes

" + "documentation":"

The identifier for the operation for which you want to get the status. Amazon Route 53 returned the identifier in the response to the original request.

" } }, - "documentation":"

The GetOperationDetail request includes the following element.

" + "documentation":"

The GetOperationDetail request includes the following element.

" }, "GetOperationDetailResponse":{ "type":"structure", "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

The identifier for the operation.

Type: String

" + "documentation":"

The identifier for the operation.

" }, "Status":{ "shape":"OperationStatus", - "documentation":"

The current status of the requested operation in the system.

Type: String

" + "documentation":"

The current status of the requested operation in the system.

" }, "Message":{ "shape":"ErrorMessage", - "documentation":"

Detailed information on the status including possible errors.

Type: String

" + "documentation":"

Detailed information on the status including possible errors.

" }, "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

" + "documentation":"

The name of a domain.

" }, "Type":{ "shape":"OperationType", - "documentation":"

The type of operation that was requested.

Type: String

" + "documentation":"

The type of operation that was requested.

" }, "SubmittedDate":{ "shape":"Timestamp", @@ -1186,7 +1219,10 @@ "InvalidInput":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

The requested item is not acceptable. For example, for an OperationId it may refer to the ID of an operation that is already completed. For a domain name, it may not be a valid domain name or belong to the requester account.

" + } }, "documentation":"

The requested item is not acceptable. For example, for an OperationId it may refer to the ID of an operation that is already completed. For a domain name, it may not be a valid domain name or belong to the requester account.

", "exception":true @@ -1201,11 +1237,11 @@ "members":{ "Marker":{ "shape":"PageMarker", - "documentation":"

For an initial request for a list of domains, omit this element. If the number of domains that are associated with the current AWS account is greater than the value that you specified for MaxItems, you can use Marker to return additional domains. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

Type: String

Default: None

Constraints: The marker must match the value specified in the previous request.

Required: No

" + "documentation":"

For an initial request for a list of domains, omit this element. If the number of domains that are associated with the current AWS account is greater than the value that you specified for MaxItems, you can use Marker to return additional domains. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

Constraints: The marker must match the value specified in the previous request.

" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

Number of domains to be returned.

Type: Integer

Default: 20

Constraints: A numeral between 1 and 100.

Required: No

" + "documentation":"

Number of domains to be returned.

Default: 20

" } }, "documentation":"

The ListDomains request includes the following elements.

" @@ -1216,11 +1252,11 @@ "members":{ "Domains":{ "shape":"DomainSummaryList", - "documentation":"

A summary of domains.

Type: Complex type containing a list of domain summaries.

Children: AutoRenew, DomainName, Expiry, TransferLock

" + "documentation":"

A summary of domains.

" }, "NextPageMarker":{ "shape":"PageMarker", - "documentation":"

If there are more domains than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

Type: String

Parent: Operations

" + "documentation":"

If there are more domains than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

" } }, "documentation":"

The ListDomains response includes the following elements.

" @@ -1230,11 +1266,11 @@ "members":{ "Marker":{ "shape":"PageMarker", - "documentation":"

For an initial request for a list of operations, omit this element. If the number of operations that are not yet complete is greater than the value that you specified for MaxItems, you can use Marker to return additional operations. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

Type: String

Default: None

Required: No

" + "documentation":"

For an initial request for a list of operations, omit this element. If the number of operations that are not yet complete is greater than the value that you specified for MaxItems, you can use Marker to return additional operations. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

Number of domains to be returned.

Type: Integer

Default: 20

Constraints: A value between 1 and 100.

Required: No

" + "documentation":"

Number of domains to be returned.

Default: 20

" } }, "documentation":"

The ListOperations request includes the following elements.

" @@ -1245,11 +1281,11 @@ "members":{ "Operations":{ "shape":"OperationSummaryList", - "documentation":"

Lists summaries of the operations.

Type: Complex type containing a list of operation summaries

Children: OperationId, Status, SubmittedDate, Type

" + "documentation":"

Lists summaries of the operations.

" }, "NextPageMarker":{ "shape":"PageMarker", - "documentation":"

If there are more operations than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

Type: String

Parent: Operations

" + "documentation":"

If there are more operations than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

" } }, "documentation":"

The ListOperations response includes the following elements.

" @@ -1271,7 +1307,7 @@ "members":{ "TagList":{ "shape":"TagList", - "documentation":"

A list of the tags that are associated with the specified domain.

Type: A complex type containing a list of tags

Each tag includes the following elements.

  • Key

    The key (name) of a tag.

    Type: String

  • Value

    The value of a tag.

    Type: String

" + "documentation":"

A list of the tags that are associated with the specified domain.

" } }, "documentation":"

The ListTagsForDomain response includes the following elements.

" @@ -1282,11 +1318,11 @@ "members":{ "Name":{ "shape":"HostName", - "documentation":"

The fully qualified host name of the name server.

Type: String

Constraint: Maximum 255 characterss

Parent: Nameservers

" + "documentation":"

The fully qualified host name of the name server.

Constraint: Maximum 255 characters

" }, "GlueIps":{ "shape":"GlueIpList", - "documentation":"

Glue IP address of a name server entry. Glue IP addresses are required only when the name of the name server is a subdomain of the domain. For example, if your domain is example.com and the name server for the domain is ns.example.com, you need to specify the IP address for ns.example.com.

Type: List of IP addresses.

Constraints: The list can contain only one IPv4 and one IPv6 address.

Parent: Nameservers

" + "documentation":"

Glue IP address of a name server entry. Glue IP addresses are required only when the name of the name server is a subdomain of the domain. For example, if your domain is example.com and the name server for the domain is ns.example.com, you need to specify the IP address for ns.example.com.

Constraints: The list can contain only one IPv4 and one IPv6 address.

" } }, "documentation":"

Nameserver includes the following elements.

" @@ -1302,7 +1338,10 @@ "OperationLimitExceeded":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

The number of operations or jobs running exceeded the allowed threshold for the account.

" + } }, "documentation":"

The number of operations or jobs running exceeded the allowed threshold for the account.

", "exception":true @@ -1328,15 +1367,15 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

Identifier returned to track the requested action.

Type: String

" + "documentation":"

Identifier returned to track the requested action.

" }, "Status":{ "shape":"OperationStatus", - "documentation":"

The current status of the requested operation in the system.

Type: String

" + "documentation":"

The current status of the requested operation in the system.

" }, "Type":{ "shape":"OperationType", - "documentation":"

Type of the action requested.

Type: String

Valid values: REGISTER_DOMAIN | DELETE_DOMAIN | TRANSFER_IN_DOMAIN | UPDATE_DOMAIN_CONTACT | UPDATE_NAMESERVER | CHANGE_PRIVACY_PROTECTION | DOMAIN_LOCK

" + "documentation":"

Type of the action requested.

" }, "SubmittedDate":{ "shape":"Timestamp", @@ -1390,7 +1429,7 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

Required: Yes

" + "documentation":"

The domain name that you want to register.

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

" }, "IdnLangCode":{ "shape":"LangCode", @@ -1398,35 +1437,35 @@ }, "DurationInYears":{ "shape":"DurationInYears", - "documentation":"

The number of years the domain will be registered. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain.

Type: Integer

Default: 1

Valid values: Integer from 1 to 10

Required: Yes

" + "documentation":"

The number of years that you want to register the domain for. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain. For the range of valid values for your domain, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide.

Default: 1

" }, "AutoRenew":{ "shape":"Boolean", - "documentation":"

Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged.

Type: Boolean

Valid values: true | false

Default: true

Required: No

" + "documentation":"

Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged.

Default: true

" }, "AdminContact":{ "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

Required: Yes

" + "documentation":"

Provides detailed contact information.

" }, "RegistrantContact":{ "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

Required: Yes

" + "documentation":"

Provides detailed contact information.

" }, "TechContact":{ "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

Required: Yes

" + "documentation":"

Provides detailed contact information.

" }, "PrivacyProtectAdminContact":{ "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

Default: true

Valid values: true | false

Required: No

" + "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

" }, "PrivacyProtectRegistrantContact":{ "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

Default: true

Valid values: true | false

Required: No

" + "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

" }, "PrivacyProtectTechContact":{ "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

Default: true

Valid values: true | false

Required: No

" + "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

" } }, "documentation":"

The RegisterDomain request includes the following elements.

" @@ -1437,7 +1476,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

Type: String

Default: None

Constraints: Maximum 255 characters.

" + "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

" } }, "documentation":"

The RegisterDomain response includes the following element.

" @@ -1453,14 +1492,17 @@ "CurrentExpiryYear" ], "members":{ - "DomainName":{"shape":"DomainName"}, + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain that you want to renew.

" + }, "DurationInYears":{ "shape":"DurationInYears", - "documentation":"

The number of years that you want to renew the domain for. The maximum number of years depends on the top-level domain. For the range of valid values for your domain, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 documentation.

Type: Integer

Default: 1

Valid values: Integer from 1 to 10

Required: No

" + "documentation":"

The number of years that you want to renew the domain for. The maximum number of years depends on the top-level domain. For the range of valid values for your domain, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide.

Default: 1

" }, "CurrentExpiryYear":{ "shape":"CurrentExpiryYear", - "documentation":"

The year when the registration for the domain is set to expire. This value must match the current expiration date for the domain.

Type: Integer

Default: None

Valid values: Integer

Required: Yes

" + "documentation":"

The year when the registration for the domain is set to expire. This value must match the current expiration date for the domain.

" } }, "documentation":"

A RenewDomain request includes the number of years that you want to renew for and the current expiration year.

" @@ -1469,7 +1511,10 @@ "type":"structure", "required":["OperationId"], "members":{ - "OperationId":{"shape":"OperationId"} + "OperationId":{ + "shape":"OperationId", + "documentation":"

The identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

" + } } }, "Reseller":{"type":"string"}, @@ -1478,7 +1523,7 @@ "members":{ "domainName":{ "shape":"DomainName", - "documentation":"

The name of the domain for which you want Amazon Route 53 to resend a confirmation email to the registrant contact.

Type: String

Default: None

Required: Yes

" + "documentation":"

The name of the domain for which you want Amazon Route 53 to resend a confirmation email to the registrant contact.

" } } }, @@ -1495,7 +1540,7 @@ }, "isAlreadyVerified":{ "shape":"Boolean", - "documentation":"

True if the email address for the registrant contact has already been verified, and false otherwise. If the email address has already been verified, we don't send another confirmation email.

" + "documentation":"

True if the email address for the registrant contact has already been verified, and false otherwise. If the email address has already been verified, we don't send another confirmation email.

" } } }, @@ -1505,10 +1550,10 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

Required: Yes

" + "documentation":"

The name of the domain that you want to get an authorization code for.

" } }, - "documentation":"

The RetrieveDomainAuthCode request includes the following element.

" + "documentation":"

A request for the authorization code for the specified domain. To transfer a domain to another registrar, you provide this value to the new registrar.

" }, "RetrieveDomainAuthCodeResponse":{ "type":"structure", @@ -1516,7 +1561,7 @@ "members":{ "AuthCode":{ "shape":"DomainAuthCode", - "documentation":"

The authorization code for the domain.

Type: String

" + "documentation":"

The authorization code for the domain.

" } }, "documentation":"

The RetrieveDomainAuthCode response includes the following element.

" @@ -1529,7 +1574,10 @@ "TLDRulesViolation":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

The top-level domain does not support this operation.

" + } }, "documentation":"

The top-level domain does not support this operation.

", "exception":true @@ -1539,11 +1587,11 @@ "members":{ "Key":{ "shape":"TagKey", - "documentation":"

The key (name) of a tag.

Type: String

Default: None

Valid values: A-Z, a-z, 0-9, space, \".:/=+\\-@\"

Constraints: Each key can be 1-128 characters long.

Required: Yes

" + "documentation":"

The key (name) of a tag.

Valid values: A-Z, a-z, 0-9, space, \".:/=+\\-@\"

Constraints: Each key can be 1-128 characters long.

" }, "Value":{ "shape":"TagValue", - "documentation":"

The value of a tag.

Type: String

Default: None

Valid values: A-Z, a-z, 0-9, space, \".:/=+\\-@\"

Constraints: Each value can be 0-256 characters long.

Required: Yes

" + "documentation":"

The value of a tag.

Valid values: A-Z, a-z, 0-9, space, \".:/=+\\-@\"

Constraints: Each value can be 0-256 characters long.

" } }, "documentation":"

Each tag includes the following elements.

" @@ -1571,7 +1619,7 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

Required: Yes

" + "documentation":"

The name of the domain that you want to transfer to Amazon Route 53.

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

" }, "IdnLangCode":{ "shape":"LangCode", @@ -1579,43 +1627,43 @@ }, "DurationInYears":{ "shape":"DurationInYears", - "documentation":"

The number of years the domain will be registered. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain.

Type: Integer

Default: 1

Valid values: Integer from 1 to 10

Required: Yes

" + "documentation":"

The number of years that you want to register the domain for. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain.

Default: 1

" }, "Nameservers":{ "shape":"NameserverList", - "documentation":"

Contains details for the host and glue IP addresses.

Type: Complex

Children: GlueIps, Name

Required: No

" + "documentation":"

Contains details for the host and glue IP addresses.

" }, "AuthCode":{ "shape":"DomainAuthCode", - "documentation":"

The authorization code for the domain. You get this value from the current registrar.

Type: String

Required: Yes

" + "documentation":"

The authorization code for the domain. You get this value from the current registrar.

" }, "AutoRenew":{ "shape":"Boolean", - "documentation":"

Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged.

Type: Boolean

Valid values: true | false

Default: true

Required: No

" + "documentation":"

Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged.

Default: true

" }, "AdminContact":{ "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

Required: Yes

" + "documentation":"

Provides detailed contact information.

" }, "RegistrantContact":{ "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

Required: Yes

" + "documentation":"

Provides detailed contact information.

" }, "TechContact":{ "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

Required: Yes

" + "documentation":"

Provides detailed contact information.

" }, "PrivacyProtectAdminContact":{ "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

Default: true

Valid values: true | false

Required: No

" + "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

" }, "PrivacyProtectRegistrantContact":{ "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

Default: true

Valid values: true | false

Required: No

" + "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

" }, "PrivacyProtectTechContact":{ "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

Default: true

Valid values: true | false

Required: No

" + "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Default: true

" } }, "documentation":"

The TransferDomain request includes the following elements.

" @@ -1626,7 +1674,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

Type: String

Default: None

Constraints: Maximum 255 characters.

" + "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

" } }, "documentation":"

The TranserDomain response includes the following element.

" @@ -1634,7 +1682,10 @@ "UnsupportedTLD":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

Amazon Route 53 does not support this top-level domain.

" + } }, "documentation":"

Amazon Route 53 does not support this top-level domain.

", "exception":true @@ -1645,19 +1696,19 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

Required: Yes

" + "documentation":"

The name of the domain that you want to update the privacy setting for.

" }, "AdminPrivacy":{ "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

Default: None

Valid values: true | false

Required: No

" + "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

" }, "RegistrantPrivacy":{ "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

Default: None

Valid values: true | false

Required: No

" + "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

" }, "TechPrivacy":{ "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

Type: Boolean

Default: None

Valid values: true | false

Required: No

" + "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

" } }, "documentation":"

The UpdateDomainContactPrivacy request includes the following elements.

" @@ -1668,7 +1719,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

Type: String

Default: None

Constraints: Maximum 255 characters.

" + "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

" } }, "documentation":"

The UpdateDomainContactPrivacy response includes the following element.

" @@ -1679,19 +1730,19 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

Required: Yes

" + "documentation":"

The name of the domain that you want to update contact information for.

" }, "AdminContact":{ "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

Required: Yes

" + "documentation":"

Provides detailed contact information.

" }, "RegistrantContact":{ "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

Required: Yes

" + "documentation":"

Provides detailed contact information.

" }, "TechContact":{ "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

Type: Complex

Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

Required: Yes

" + "documentation":"

Provides detailed contact information.

" } }, "documentation":"

The UpdateDomainContact request includes the following elements.

" @@ -1702,7 +1753,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

Type: String

Default: None

Constraints: Maximum 255 characters.

" + "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

" } }, "documentation":"

The UpdateDomainContact response includes the following element.

" @@ -1716,7 +1767,7 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

Required: Yes

" + "documentation":"

The name of the domain that you want to change name servers for.

" }, "FIAuthKey":{ "shape":"FIAuthKey", @@ -1724,10 +1775,10 @@ }, "Nameservers":{ "shape":"NameserverList", - "documentation":"

A list of new name servers for the domain.

Type: Complex

Children: Name, GlueIps

Required: Yes

" + "documentation":"

A list of new name servers for the domain.

" } }, - "documentation":"

The UpdateDomainNameserver request includes the following elements.

" + "documentation":"

Replaces the current set of name servers for the domain with the specified set of name servers. If you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted zone for the domain.

If successful, this operation returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

" }, "UpdateDomainNameserversResponse":{ "type":"structure", @@ -1735,7 +1786,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

Type: String

Default: None

Constraints: Maximum 255 characters.

" + "documentation":"

Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

" } }, "documentation":"

The UpdateDomainNameservers response includes the following element.

" @@ -1746,11 +1797,11 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The domain for which you want to add or update tags.

The name of a domain.

Type: String

Default: None

Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Hyphens are allowed only when they're surrounded by letters, numbers, or other hyphens. You can't specify a hyphen at the beginning or end of a label. To specify an Internationalized Domain Name, you must convert the name to Punycode.

Required: Yes

" + "documentation":"

The domain for which you want to add or update tags.

" }, "TagsToUpdate":{ "shape":"TagList", - "documentation":"

A list of the tag keys and values that you want to add or update. If you specify a key that already exists, the corresponding value will be replaced.

Type: A complex type containing a list of tags

Default: None

Required: No

'>

Each tag includes the following elements:

  • Key

    The key (name) of a tag.

    Type: String

    Default: None

    Valid values: Unicode characters including alphanumeric, space, and \".:/=+\\-@\"

    Constraints: Each key can be 1-128 characters long.

    Required: Yes

  • Value

    The value of a tag.

    Type: String

    Default: None

    Valid values: Unicode characters including alphanumeric, space, and \".:/=+\\-@\"

    Constraints: Each value can be 0-256 characters long.

    Required: Yes

" + "documentation":"

A list of the tag keys and values that you want to add or update. If you specify a key that already exists, the corresponding value will be replaced.

" } }, "documentation":"

The UpdateTagsForDomainRequest includes the following elements.

" @@ -1765,19 +1816,19 @@ "members":{ "Start":{ "shape":"Timestamp", - "documentation":"

The beginning date and time for the time period for which you want a list of billing records. Specify the date in Unix time format.

Type: Double

Default: None

Required: Yes

" + "documentation":"

The beginning date and time for the time period for which you want a list of billing records. Specify the date in Unix time format.

" }, "End":{ "shape":"Timestamp", - "documentation":"

The end date and time for the time period for which you want a list of billing records. Specify the date in Unix time format.

Type: Double

Default: None

Required: Yes

" + "documentation":"

The end date and time for the time period for which you want a list of billing records. Specify the date in Unix time format.

" }, "Marker":{ "shape":"PageMarker", - "documentation":"

For an initial request for a list of billing records, omit this element. If the number of billing records that are associated with the current AWS account during the specified period is greater than the value that you specified for MaxItems, you can use Marker to return additional billing records. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

Type: String

Default: None

Constraints: The marker must match the value of NextPageMarker that was returned in the previous response.

Required: No

" + "documentation":"

For an initial request for a list of billing records, omit this element. If the number of billing records that are associated with the current AWS account during the specified period is greater than the value that you specified for MaxItems, you can use Marker to return additional billing records. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

Constraints: The marker must match the value of NextPageMarker that was returned in the previous response.

" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

The number of billing records to be returned.

Type: Integer

Default: 20

Constraints: A value between 1 and 100.

Required: No

" + "documentation":"

The number of billing records to be returned.

Default: 20

" } }, "documentation":"

The ViewBilling request includes the following elements.

" @@ -1787,11 +1838,11 @@ "members":{ "NextPageMarker":{ "shape":"PageMarker", - "documentation":"

If there are more billing records than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

Type: String

Parent: BillingRecords

" + "documentation":"

If there are more billing records than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

" }, "BillingRecords":{ "shape":"BillingRecords", - "documentation":"

A summary of billing records.

Type: Complex type containing a list of billing record summaries.

Children: DomainName, Operation, InvoiceId, BillDate and Price

" + "documentation":"

A summary of billing records.

" } }, "documentation":"

The ViewBilling response includes the following elements.

" @@ -1800,5 +1851,6 @@ "type":"string", "max":255 } - } + }, + "documentation":"

Amazon Route 53 API actions let you register domain names and perform related operations.

" } diff --git a/botocore/data/s3/2006-03-01/examples-1.json b/botocore/data/s3/2006-03-01/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/s3/2006-03-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/servicecatalog/2015-12-10/examples-1.json b/botocore/data/servicecatalog/2015-12-10/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/servicecatalog/2015-12-10/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/servicecatalog/2015-12-10/paginators-1.json b/botocore/data/servicecatalog/2015-12-10/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/servicecatalog/2015-12-10/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/servicecatalog/2015-12-10/service-2.json b/botocore/data/servicecatalog/2015-12-10/service-2.json index 59d573f5..63b88338 100644 --- a/botocore/data/servicecatalog/2015-12-10/service-2.json +++ b/botocore/data/servicecatalog/2015-12-10/service-2.json @@ -1,14 +1,14 @@ { "version":"2.0", "metadata":{ - "uid":"servicecatalog-2015-12-10", "apiVersion":"2015-12-10", "endpointPrefix":"servicecatalog", "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Service Catalog", "signatureVersion":"v4", - "targetPrefix":"AWS242ServiceCatalogService" + "targetPrefix":"AWS242ServiceCatalogService", + "uid":"servicecatalog-2015-12-10" }, "operations":{ "AcceptPortfolioShare":{ @@ -70,7 +70,7 @@ {"shape":"LimitExceededException"}, {"shape":"DuplicateResourceException"} ], - "documentation":"

Creates a new constraint.

" + "documentation":"

Creates a new constraint. For more information, see Using Constraints.

" }, "CreatePortfolio":{ "name":"CreatePortfolio", @@ -128,7 +128,7 @@ {"shape":"InvalidParametersException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Create a new provisioning artifact for the specified product. This operation will not work with a product that has been shared with you.

" + "documentation":"

Create a new provisioning artifact for the specified product. This operation does not work with a product that has been shared with you.

See the bottom of this topic for an example JSON request.

" }, "DeleteConstraint":{ "name":"DeleteConstraint", @@ -157,7 +157,7 @@ {"shape":"InvalidParametersException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

Deletes the specified portfolio. This operation will not work with a portfolio that has been shared with you or if it has products, users, constraints, or shared accounts associated with it.

" + "documentation":"

Deletes the specified portfolio. This operation does not work with a portfolio that has been shared with you or if it has products, users, constraints, or shared accounts associated with it.

" }, "DeletePortfolioShare":{ "name":"DeletePortfolioShare", @@ -185,7 +185,7 @@ {"shape":"ResourceInUseException"}, {"shape":"InvalidParametersException"} ], - "documentation":"

Deletes the specified product. This operation will not work with a product that has been shared with you or is associated with a portfolio.

" + "documentation":"

Deletes the specified product. This operation does not work with a product that has been shared with you or is associated with a portfolio.

" }, "DeleteProvisioningArtifact":{ "name":"DeleteProvisioningArtifact", @@ -200,7 +200,7 @@ {"shape":"ResourceInUseException"}, {"shape":"InvalidParametersException"} ], - "documentation":"

Deletes the specified provisioning artifact. This operation will not work on a provisioning artifact associated with a product that has been shared with you, or on the last provisioning artifact associated with a product (a product must have at least one provisioning artifact).

" + "documentation":"

Deletes the specified provisioning artifact. This operation does not work on a provisioning artifact associated with a product that has been shared with you, or on the last provisioning artifact associated with a product (a product must have at least one provisioning artifact).

" }, "DescribeConstraint":{ "name":"DescribeConstraint", @@ -269,6 +269,19 @@ ], "documentation":"

Retrieves information about a specified product.

This operation is functionally identical to DescribeProduct except that it takes as input ProductViewId instead of ProductId.

" }, + "DescribeProvisionedProduct":{ + "name":"DescribeProvisionedProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProvisionedProductInput"}, + "output":{"shape":"DescribeProvisionedProductOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieve detailed information about the provisioned product.

" + }, "DescribeProvisioningArtifact":{ "name":"DescribeProvisioningArtifact", "http":{ @@ -472,7 +485,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"DuplicateResourceException"} ], - "documentation":"

Requests a Provision of a specified product. A ProvisionedProduct is a resourced instance for a product. For example, provisioning a CloudFormation-template-backed product results in launching a CloudFormation stack and all the underlying resources that come with it.

You can check the status of this request using the DescribeRecord operation.

" + "documentation":"

Requests a provision of a specified product. A provisioned product is a resourced instance for a product. For example, provisioning a CloudFormation-template-backed product results in launching a CloudFormation stack and all the underlying resources that come with it.

You can check the status of this request using the DescribeRecord operation.

" }, "RejectPortfolioShare":{ "name":"RejectPortfolioShare", @@ -567,7 +580,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Updates the specified portfolio's details. This operation will not work with a product that has been shared with you.

" + "documentation":"

Updates the specified portfolio's details. This operation does not work with a product that has been shared with you.

" }, "UpdateProduct":{ "name":"UpdateProduct", @@ -609,7 +622,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParametersException"} ], - "documentation":"

Updates an existing provisioning artifact's information. This operation will not work on a provisioning artifact associated with a product that has been shared with you.

" + "documentation":"

Updates an existing provisioning artifact's information. This operation does not work on a provisioning artifact associated with a product that has been shared with you.

" } }, "shapes":{ @@ -815,11 +828,11 @@ }, "Parameters":{ "shape":"ConstraintParameters", - "documentation":"

The constraint parameters.

" + "documentation":"

The constraint parameters. Expected values vary depending on which Type is specified. For examples, see the bottom of this topic.

For Type LAUNCH, the RoleArn property is required.

For Type NOTIFICATION, the NotificationArns property is required.

For Type TEMPLATE, the Rules property is required.

" }, "Type":{ "shape":"ConstraintType", - "documentation":"

The type of the constraint.

" + "documentation":"

The type of the constraint. Case-sensitive valid values are: LAUNCH, NOTIFICATION, or TEMPLATE.

" }, "Description":{ "shape":"ConstraintDescription", @@ -1037,7 +1050,7 @@ }, "Info":{ "shape":"ProvisioningArtifactInfo", - "documentation":"

Additional information about the provisioning artifact create request.

" + "documentation":"

Additional information about the creation request for the provisioning artifact.

" }, "Status":{ "shape":"Status", @@ -1148,7 +1161,7 @@ }, "ProvisioningArtifactId":{ "shape":"Id", - "documentation":"

The identifier of the provisioning artifact for the delete request.

" + "documentation":"

The identifier of the provisioning artifact for the delete request. This is sometimes referred to as the product version.

" } } }, @@ -1236,6 +1249,10 @@ "shape":"ProductViewDetail", "documentation":"

Detailed product view information.

" }, + "ProvisioningArtifactSummaries":{ + "shape":"ProvisioningArtifactSummaries", + "documentation":"

A list of provisioning artifact summaries for the product.

" + }, "Tags":{ "shape":"Tags", "documentation":"

Tags associated with the product.

" @@ -1296,6 +1313,29 @@ } } }, + "DescribeProvisionedProductInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

" + }, + "Id":{ + "shape":"Id", + "documentation":"

The provisioned product identifier.

" + } + } + }, + "DescribeProvisionedProductOutput":{ + "type":"structure", + "members":{ + "ProvisionedProductDetail":{ + "shape":"ProvisionedProductDetail", + "documentation":"

Detailed provisioned product information.

" + } + } + }, "DescribeProvisioningArtifactInput":{ "type":"structure", "required":[ @@ -1309,11 +1349,15 @@ }, "ProvisioningArtifactId":{ "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" + "documentation":"

The identifier of the provisioning artifact. This is sometimes referred to as the product version.

" }, "ProductId":{ "shape":"Id", "documentation":"

The product identifier.

" + }, + "Verbose":{ + "shape":"Verbose", + "documentation":"

Selects verbose results. If set to true, the CloudFormation template is returned.

" } } }, @@ -1351,7 +1395,7 @@ }, "ProvisioningArtifactId":{ "shape":"Id", - "documentation":"

The provisioning artifact identifier for this product.

" + "documentation":"

The provisioning artifact identifier for this product. This is sometimes referred to as the product version.

" }, "PathId":{ "shape":"Id", @@ -1884,7 +1928,7 @@ "ParameterType":{"type":"string"}, "ParameterValue":{ "type":"string", - "max":1000 + "max":4096 }, "PortfolioDescription":{ "type":"string", @@ -1963,7 +2007,10 @@ }, "ProductType":{ "type":"string", - "enum":["CLOUD_FORMATION_TEMPLATE"] + "enum":[ + "CLOUD_FORMATION_TEMPLATE", + "MARKETPLACE" + ] }, "ProductViewAggregationType":{"type":"string"}, "ProductViewAggregationValue":{ @@ -1998,7 +2045,7 @@ }, "Status":{ "shape":"Status", - "documentation":"

Current status of the product.

" + "documentation":"

Current status of the product.

AVAILABLE - Product is available for use.

CREATING - Creation of product started, not ready for use.

FAILED - Action on product failed.

" }, "ProductARN":{ "shape":"ResourceARN", @@ -2021,7 +2068,8 @@ "enum":[ "FullTextSearch", "Owner", - "ProductType" + "ProductType", + "SourceProductId" ] }, "ProductViewFilterValue":{"type":"string"}, @@ -2074,7 +2122,7 @@ }, "Type":{ "shape":"ProductType", - "documentation":"

The product type. Contact the product administrator for the significance of this value.

" + "documentation":"

The product type. Contact the product administrator for the significance of this value. If this value is MARKETPLACE, the product was created by AWS Marketplace.

" }, "Distributor":{ "shape":"ProductViewDistributor", @@ -2123,7 +2171,7 @@ }, "ProvisioningArtifactId":{ "shape":"Id", - "documentation":"

The provisioning artifact identifier for this product.

" + "documentation":"

The provisioning artifact identifier for this product. This is sometimes referred to as the product version.

" }, "PathId":{ "shape":"Id", @@ -2181,8 +2229,8 @@ "documentation":"

The identifier of the ProvisionedProduct object.

" }, "Status":{ - "shape":"RecordStatus", - "documentation":"

The current status of the ProvisionedProduct.

" + "shape":"ProvisionedProductStatus", + "documentation":"

The current status of the ProvisionedProduct.

AVAILABLE - Stable state, ready to perform any operation. The most recent action request succeeded and completed.

UNDER_CHANGE - Transitive state, operations performed may or may not have valid results. Wait for an AVAILABLE status before performing operations.

TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

ERROR - Something unexpected happened such that the provisioned product exists but the stack is not running. For example, CloudFormation received an invalid parameter value and could not launch the stack.

" }, "StatusMessage":{ "shape":"ProvisionedProductStatusMessage", @@ -2208,12 +2256,26 @@ "member":{"shape":"ProvisionedProductDetail"} }, "ProvisionedProductId":{"type":"string"}, - "ProvisionedProductName":{"type":"string"}, + "ProvisionedProductName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9._-]*" + }, "ProvisionedProductNameOrArn":{ "type":"string", "max":1224, "min":1, - "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}|arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + "pattern":"[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}|arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + }, + "ProvisionedProductStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "UNDER_CHANGE", + "TAINTED", + "ERROR" + ] }, "ProvisionedProductStatusMessage":{"type":"string"}, "ProvisionedProductType":{"type":"string"}, @@ -2222,7 +2284,7 @@ "members":{ "Id":{ "shape":"Id", - "documentation":"

The identifier for the artifact.

" + "documentation":"

The identifier for the artifact. This is sometimes referred to as the product version.

" }, "Name":{ "shape":"ProvisioningArtifactName", @@ -2246,7 +2308,7 @@ "members":{ "Id":{ "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" + "documentation":"

The identifier of the provisioning artifact. This is sometimes referred to as the product version.

" }, "Name":{ "shape":"ProvisioningArtifactName", @@ -2258,7 +2320,7 @@ }, "Type":{ "shape":"ProvisioningArtifactType", - "documentation":"

The type of the provisioning artifact.

" + "documentation":"

The type of the provisioning artifact. The following provisioning artifact types are used by AWS Marketplace products:

MARKETPLACE_AMI - AMI products.

MARKETPLACE_CAR - CAR (Cluster and AWS Resources) products.

" }, "CreatedTime":{ "shape":"CreationTime", @@ -2275,7 +2337,7 @@ "type":"map", "key":{"shape":"ProvisioningArtifactInfoKey"}, "value":{"shape":"ProvisioningArtifactInfoValue"}, - "max":1, + "max":100, "min":1 }, "ProvisioningArtifactInfoKey":{"type":"string"}, @@ -2329,18 +2391,52 @@ }, "Info":{ "shape":"ProvisioningArtifactInfo", - "documentation":"

Additional information about the provisioning artifact properties.

" + "documentation":"

Additional information about the provisioning artifact properties. When using this element in a request, you must specify LoadTemplateFromURL. For more information, see CreateProvisioningArtifact.

" }, "Type":{ "shape":"ProvisioningArtifactType", - "documentation":"

The type of the provisioning artifact properties.

" + "documentation":"

The type of the provisioning artifact properties. The following provisioning artifact property types are used by AWS Marketplace products:

MARKETPLACE_AMI - AMI products.

MARKETPLACE_CAR - CAR (Cluster and AWS Resources) products.

" } }, - "documentation":"

Provisioning artifact properties.

" + "documentation":"

Provisioning artifact properties. For example request JSON, see CreateProvisioningArtifact.

" + }, + "ProvisioningArtifactSummaries":{ + "type":"list", + "member":{"shape":"ProvisioningArtifactSummary"} + }, + "ProvisioningArtifactSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

The provisioning artifact identifier.

" + }, + "Name":{ + "shape":"ProvisioningArtifactName", + "documentation":"

The provisioning artifact name.

" + }, + "Description":{ + "shape":"ProvisioningArtifactDescription", + "documentation":"

The provisioning artifact description.

" + }, + "CreatedTime":{ + "shape":"ProvisioningArtifactCreatedTime", + "documentation":"

The UTC timestamp of the creation time.

" + }, + "ProvisioningArtifactMetadata":{ + "shape":"ProvisioningArtifactInfo", + "documentation":"

The provisioning artifact metadata. This data is used with products created by AWS Marketplace.

" + } + }, + "documentation":"

Summary information about a provisioning artifact.

" }, "ProvisioningArtifactType":{ "type":"string", - "enum":["CLOUD_FORMATION_TEMPLATE"] + "enum":[ + "CLOUD_FORMATION_TEMPLATE", + "MARKETPLACE_AMI", + "MARKETPLACE_CAR" + ] }, "ProvisioningArtifacts":{ "type":"list", @@ -2358,7 +2454,7 @@ "documentation":"

The value to use for provisioning. Any constraints on this value can be found in ProvisioningArtifactParameter for Key.

" } }, - "documentation":"

The arameter key/value pairs used to provision a product.

" + "documentation":"

The parameter key-value pairs used to provision a product.

" }, "ProvisioningParameters":{ "type":"list", @@ -2377,7 +2473,7 @@ }, "Status":{ "shape":"RecordStatus", - "documentation":"

The status of the ProvisionedProduct object.

" + "documentation":"

The status of the ProvisionedProduct object.

CREATED - Request created but the operation has not yet started.

IN_PROGRESS - The requested operation is in-progress.

IN_PROGRESS_IN_ERROR - The provisioned product is under change but the requested operation failed and some remediation is occurring. For example, a roll-back.

SUCCEEDED - The requested operation has successfully completed.

FAILED - The requested operation has completed but has failed. Investigate using the error messages returned.

" }, "CreatedTime":{ "shape":"CreatedTime", @@ -2405,7 +2501,7 @@ }, "ProvisioningArtifactId":{ "shape":"Id", - "documentation":"

The provisioning artifact identifier for this product.

" + "documentation":"

The provisioning artifact identifier for this product. This is sometimes referred to as the product version.

" }, "PathId":{ "shape":"Id", @@ -2469,9 +2565,11 @@ "RecordStatus":{ "type":"string", "enum":[ + "CREATED", "IN_PROGRESS", + "IN_PROGRESS_IN_ERROR", "SUCCEEDED", - "ERROR" + "FAILED" ] }, "RecordTag":{ @@ -2707,7 +2805,7 @@ }, "Value":{ "shape":"TagValue", - "documentation":"

The esired value for this key.

" + "documentation":"

The desired value for this key.

" } }, "documentation":"

Key/value pairs to associate with this provisioning. These tags are entirely discretionary and are propagated to the resources created in the provisioning.

" @@ -2739,11 +2837,11 @@ "members":{ "ProvisionedProductName":{ "shape":"ProvisionedProductNameOrArn", - "documentation":"

The name of the ProvisionedProduct object to terminate. You must specify either ProvisionedProductName or ProvisionedProductId, but not both.

" + "documentation":"

The name of the ProvisionedProduct object to terminate. Specify either ProvisionedProductName or ProvisionedProductId, but not both.

" }, "ProvisionedProductId":{ "shape":"Id", - "documentation":"

The identifier of the ProvisionedProduct object to terminate. You must specify either ProvisionedProductName or ProvisionedProductId, but not both.

" + "documentation":"

The identifier of the ProvisionedProduct object to terminate. Specify either ProvisionedProductName or ProvisionedProductId, but not both.

" }, "TerminateToken":{ "shape":"IdempotencyToken", @@ -2924,11 +3022,11 @@ }, "ProvisionedProductName":{ "shape":"ProvisionedProductNameOrArn", - "documentation":"

The updated name of the ProvisionedProduct object . You must specify either ProvisionedProductName or ProvisionedProductId, but not both.

" + "documentation":"

The updated name of the ProvisionedProduct object. Specify either ProvisionedProductName or ProvisionedProductId, but not both.

" }, "ProvisionedProductId":{ "shape":"Id", - "documentation":"

The identifier of the ProvisionedProduct object to update. You must specify either ProvisionedProductName or ProvisionedProductId, but not both.

" + "documentation":"

The identifier of the ProvisionedProduct object to update. Specify either ProvisionedProductName or ProvisionedProductId, but not both.

" }, "ProductId":{ "shape":"Id", @@ -2936,7 +3034,7 @@ }, "ProvisioningArtifactId":{ "shape":"Id", - "documentation":"

The provisioning artifact identifier for this product.

" + "documentation":"

The provisioning artifact identifier for this product. This is sometimes referred to as the product version.

" }, "PathId":{ "shape":"Id", @@ -2979,7 +3077,7 @@ }, "ProvisioningArtifactId":{ "shape":"Id", - "documentation":"

The identifier of the provisioning artifact for the update request.

" + "documentation":"

The identifier of the provisioning artifact for the update request. This is sometimes referred to as the product version.

" }, "Name":{ "shape":"ProvisioningArtifactName", @@ -3024,7 +3122,7 @@ "documentation":"

If true, uses the currently set value for Key, ignoring UpdateProvisioningParameter.Value.

" } }, - "documentation":"

The parameter key/value pair used to update a ProvisionedProduct object. If UsePreviousValue is set to true, Value is ignored and the value for Key is kept as previously set (current value).

" + "documentation":"

The parameter key-value pair used to update a ProvisionedProduct object. If UsePreviousValue is set to true, Value is ignored and the value for Key is kept as previously set (current value).

" }, "UpdateProvisioningParameters":{ "type":"list", @@ -3049,7 +3147,8 @@ "type":"list", "member":{"shape":"UsageInstruction"} }, - "UsePreviousValue":{"type":"boolean"} + "UsePreviousValue":{"type":"boolean"}, + "Verbose":{"type":"boolean"} }, - "documentation":"AWS Service Catalog

Overview

AWS Service Catalog allows organizations to create and manage catalogs of IT services that are approved for use on AWS. This documentation provides reference material for the AWS Service Catalog end user API. To get the most out of this documentation, you need to be familiar with the terminology discussed in AWS Service Catalog Concepts.

Additional Resources

" + "documentation":"AWS Service Catalog

Overview

AWS Service Catalog allows organizations to create and manage catalogs of IT services that are approved for use on AWS. This documentation provides reference material for the AWS Service Catalog end user API. To get the most out of this documentation, be familiar with the terminology discussed in AWS Service Catalog Concepts.

Additional Resources

" } diff --git a/botocore/data/ses/2010-12-01/examples-1.json b/botocore/data/ses/2010-12-01/examples-1.json new file mode 100644 index 00000000..88555294 --- /dev/null +++ b/botocore/data/ses/2010-12-01/examples-1.json @@ -0,0 +1,953 @@ +{ + "version": "1.0", + "examples": { + "CloneReceiptRuleSet": [ + { + "input": { + "OriginalRuleSetName": "RuleSetToClone", + "RuleSetName": "RuleSetToCreate" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a receipt rule set by cloning an existing one:", + "id": "clonereceiptruleset-1469055039770", + "title": "CloneReceiptRuleSet" + } + ], + "CreateReceiptFilter": [ + { + "input": { + "Filter": { + "IpFilter": { + "Cidr": "1.2.3.4/24", + "Policy": "Allow" + }, + "Name": "MyFilter" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a new IP address filter:", + "id": "createreceiptfilter-1469122681253", + "title": "CreateReceiptFilter" + } + ], + "CreateReceiptRule": [ + { + "input": { + "After": "", + "Rule": { + "Actions": [ + { + "S3Action": { + "BucketName": "MyBucket", + "ObjectKeyPrefix": "email" + } + } + ], + "Enabled": true, + "Name": "MyRule", + "ScanEnabled": true, + "TlsPolicy": "Optional" + }, + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a new receipt rule:", + "id": "createreceiptrule-1469122946515", + "title": "CreateReceiptRule" + } + ], + "CreateReceiptRuleSet": [ + { + "input": { + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an empty receipt rule set:", + "id": "createreceiptruleset-1469058761646", + "title": "CreateReceiptRuleSet" + } + ], + "DeleteIdentity": [ + { + "input": { + "Identity": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an identity from the list of identities that have been submitted for verification with Amazon SES:", + "id": "deleteidentity-1469047858906", + "title": "DeleteIdentity" + } + ], + "DeleteIdentityPolicy": [ + { + "input": { + "Identity": "user@example.com", + "PolicyName": "MyPolicy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a sending authorization policy for an identity:", + "id": "deleteidentitypolicy-1469055282499", + "title": "DeleteIdentityPolicy" + } + ], + "DeleteReceiptFilter": [ + { + "input": { + "FilterName": "MyFilter" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an IP address filter:", + "id": "deletereceiptfilter-1469055456835", + "title": "DeleteReceiptFilter" + } + ], + "DeleteReceiptRule": [ + { + "input": { + "RuleName": "MyRule", + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a receipt rule:", + "id": "deletereceiptrule-1469055563599", + "title": "DeleteReceiptRule" + } + ], + "DeleteReceiptRuleSet": [ + { + "input": { + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a receipt rule set:", + "id": "deletereceiptruleset-1469055713690", + "title": "DeleteReceiptRuleSet" + } + ], + "DeleteVerifiedEmailAddress": [ + { + "input": { + "EmailAddress": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an email address from the list of identities that have been submitted for verification with Amazon SES:", + "id": "deleteverifiedemailaddress-1469051086444", + "title": "DeleteVerifiedEmailAddress" + } + ], + "DescribeActiveReceiptRuleSet": [ + { + "input": { + }, + "output": { + "Metadata": { + "CreatedTimestamp": "2016-07-15T16:25:59.607Z", + "Name": "default-rule-set" + }, + "Rules": [ + { + "Actions": [ + { + "S3Action": { + "BucketName": "MyBucket", + "ObjectKeyPrefix": "email" + } + } + ], + "Enabled": true, + "Name": "MyRule", + "ScanEnabled": true, + "TlsPolicy": "Optional" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the metadata and receipt rules for the receipt rule set that is currently active:", + "id": "describeactivereceiptruleset-1469121611502", + "title": "DescribeActiveReceiptRuleSet" + } + ], + "DescribeReceiptRule": [ + { + "input": { + "RuleName": "MyRule", + "RuleSetName": "MyRuleSet" + }, + "output": { + "Rule": { + "Actions": [ + { + "S3Action": { + "BucketName": "MyBucket", + "ObjectKeyPrefix": "email" + } + } + ], + "Enabled": true, + "Name": "MyRule", + "ScanEnabled": true, + "TlsPolicy": "Optional" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a receipt rule:", + "id": "describereceiptrule-1469055813118", + "title": "DescribeReceiptRule" + } + ], + "DescribeReceiptRuleSet": [ + { + "input": { + "RuleSetName": "MyRuleSet" + }, + "output": { + "Metadata": { + "CreatedTimestamp": "2016-07-15T16:25:59.607Z", + "Name": "MyRuleSet" + }, + "Rules": [ + { + "Actions": [ + { + "S3Action": { + "BucketName": "MyBucket", + "ObjectKeyPrefix": "email" + } + } + ], + "Enabled": true, + "Name": "MyRule", + "ScanEnabled": true, + "TlsPolicy": "Optional" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the metadata and receipt rules of a receipt rule set:", + "id": "describereceiptruleset-1469121240385", + "title": "DescribeReceiptRuleSet" + } + ], + "GetIdentityDkimAttributes": [ + { + "input": { + "Identities": [ + "example.com", + "user@example.com" + ] + }, + "output": { + "DkimAttributes": { + "example.com": { + "DkimEnabled": true, + "DkimTokens": [ + "EXAMPLEjcs5xoyqytjsotsijas7236gr", + "EXAMPLEjr76cvoc6mysspnioorxsn6ep", + "EXAMPLEkbmkqkhlm2lyz77ppkulerm4k" + ], + "DkimVerificationStatus": "Success" + }, + "user@example.com": { + "DkimEnabled": false, + "DkimVerificationStatus": "NotStarted" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves the Amazon SES Easy DKIM attributes for a list of identities:", + "id": "getidentitydkimattributes-1469050695628", + "title": "GetIdentityDkimAttributes" + } + ], + "GetIdentityMailFromDomainAttributes": [ + { + "input": { + "Identities": [ + "example.com" + ] + }, + "output": { + "MailFromDomainAttributes": { + "example.com": { + "BehaviorOnMXFailure": "UseDefaultValue", + "MailFromDomain": "bounces.example.com", + "MailFromDomainStatus": "Success" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the custom MAIL FROM attributes for an identity:", + "id": "getidentitymailfromdomainattributes-1469123114860", + "title": "GetIdentityMailFromDomainAttributes" + } + ], + "GetIdentityNotificationAttributes": [ + { + "input": { + "Identities": [ + "example.com" + ] + }, + "output": { + "NotificationAttributes": { + "example.com": { + "BounceTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:ExampleTopic", + "ForwardingEnabled": true, + "HeadersInBounceNotificationsEnabled": false, + "HeadersInComplaintNotificationsEnabled": false, + "HeadersInDeliveryNotificationsEnabled": false + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the notification attributes for an identity:", + "id": "getidentitynotificationattributes-1469123466947", + "title": "GetIdentityNotificationAttributes" + } + ], + "GetIdentityPolicies": [ + { + "input": { + "Identity": "example.com", + "PolicyNames": [ + "MyPolicy" + ] + }, + "output": { + "Policies": { + "MyPolicy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"stmt1469123904194\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:root\"},\"Action\":[\"ses:SendEmail\",\"ses:SendRawEmail\"],\"Resource\":\"arn:aws:ses:us-east-1:EXAMPLE65304:identity/example.com\"}]}" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a sending authorization policy for an identity:", + "id": "getidentitypolicies-1469123949351", + "title": "GetIdentityPolicies" + } + ], + "GetIdentityVerificationAttributes": [ + { + "input": { + "Identities": [ + "example.com" + ] + }, + "output": { + "VerificationAttributes": { + "example.com": { + "VerificationStatus": "Success", + "VerificationToken": "EXAMPLE3VYb9EDI2nTOQRi/Tf6MI/6bD6THIGiP1MVY=" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the verification status and the verification token for a domain identity:", + "id": "getidentityverificationattributes-1469124205897", + "title": "GetIdentityVerificationAttributes" + } + ], + "GetSendQuota": [ + { + "output": { + "Max24HourSend": 200, + "MaxSendRate": 1, + "SentLast24Hours": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the Amazon SES sending limits for an AWS account:", + "id": "getsendquota-1469047324508", + "title": "GetSendQuota" + } + ], + "GetSendStatistics": [ + { + "output": { + "SendDataPoints": [ + { + "Bounces": 0, + "Complaints": 0, + "DeliveryAttempts": 5, + "Rejects": 0, + "Timestamp": "2016-07-13T22:43:00Z" + }, + { + "Bounces": 0, + "Complaints": 0, + "DeliveryAttempts": 3, + "Rejects": 0, + "Timestamp": "2016-07-13T23:13:00Z" + }, + { + "Bounces": 0, + "Complaints": 0, + "DeliveryAttempts": 1, + "Rejects": 0, + "Timestamp": "2016-07-13T21:13:00Z" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns Amazon SES sending statistics:", + "id": "getsendstatistics-1469047741329", + "title": "GetSendStatistics" + } + ], + "ListIdentities": [ + { + "input": { + "IdentityType": "EmailAddress", + "MaxItems": 123, + "NextToken": "" + }, + "output": { + "Identities": [ + "user@example.com" + ], + "NextToken": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists the email address identities that have been submitted for verification with Amazon SES:", + "id": "listidentities-1469048638493", + "title": "ListIdentities" + } + ], + "ListIdentityPolicies": [ + { + "input": { + "Identity": "example.com" + }, + "output": { + "PolicyNames": [ + "MyPolicy" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a list of sending authorization policies that are attached to an identity:", + "id": "listidentitypolicies-1469124417674", + "title": "ListIdentityPolicies" + } + ], + "ListReceiptFilters": [ + { + "output": { + "Filters": [ + { + "IpFilter": { + "Cidr": "1.2.3.4/24", + "Policy": "Block" + }, + "Name": "MyFilter" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists the IP address filters that are associated with an AWS account:", + "id": "listreceiptfilters-1469120786789", + "title": "ListReceiptFilters" + } + ], + "ListReceiptRuleSets": [ + { + "input": { + "NextToken": "" + }, + "output": { + "NextToken": "", + "RuleSets": [ + { + "CreatedTimestamp": "2016-07-15T16:25:59.607Z", + "Name": "MyRuleSet" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists the receipt rule sets that exist under an AWS account:", + "id": "listreceiptrulesets-1469121037235", + "title": "ListReceiptRuleSets" + } + ], + "ListVerifiedEmailAddresses": [ + { + "output": { + "VerifiedEmailAddresses": [ + "user1@example.com", + "user2@example.com" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists all email addresses that have been submitted for verification with Amazon SES:", + "id": "listverifiedemailaddresses-1469051402570", + "title": "ListVerifiedEmailAddresses" + } + ], + "PutIdentityPolicy": [ + { + "input": { + "Identity": "example.com", + "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"stmt1469123904194\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:root\"},\"Action\":[\"ses:SendEmail\",\"ses:SendRawEmail\"],\"Resource\":\"arn:aws:ses:us-east-1:EXAMPLE65304:identity/example.com\"}]}", + "PolicyName": "MyPolicy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds a sending authorization policy to an identity:", + "id": "putidentitypolicy-1469124560016", + "title": "PutIdentityPolicy" + } + ], + "ReorderReceiptRuleSet": [ + { + "input": { + "RuleNames": [ + "MyRule", + "MyOtherRule" + ], + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example reorders the receipt rules within a receipt rule set:", + "id": "reorderreceiptruleset-1469058156806", + "title": "ReorderReceiptRuleSet" + } + ], + "SendEmail": [ + { + "input": { + "Destination": { + "BccAddresses": [ + + ], + "CcAddresses": [ + "recipient3@example.com" + ], + "ToAddresses": [ + "recipient1@example.com", + "recipient2@example.com" + ] + }, + "Message": { + "Body": { + "Html": { + "Charset": "UTF-8", + "Data": "This message body contains HTML formatting. It can, for example, contain links like this one: Amazon SES Developer Guide." + }, + "Text": { + "Charset": "UTF-8", + "Data": "This is the message body in text format." + } + }, + "Subject": { + "Charset": "UTF-8", + "Data": "Test email" + } + }, + "ReplyToAddresses": [ + + ], + "ReturnPath": "", + "ReturnPathArn": "", + "Source": "sender@example.com", + "SourceArn": "" + }, + "output": { + "MessageId": "EXAMPLE78603177f-7a5433e7-8edb-42ae-af10-f0181f34d6ee-000000" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sends a formatted email:", + "id": "sendemail-1469049656296", + "title": "SendEmail" + } + ], + "SendRawEmail": [ + { + "input": { + "Destinations": [ + + ], + "FromArn": "", + "RawMessage": { + "Data": "From: sender@example.com\\nTo: recipient@example.com\\nSubject: Test email (contains an attachment)\\nMIME-Version: 1.0\\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\\n\\n--NextPart\\nContent-Type: text/plain\\n\\nThis is the message body.\\n\\n--NextPart\\nContent-Type: text/plain;\\nContent-Disposition: attachment; filename=\"attachment.txt\"\\n\\nThis is the text in the attachment.\\n\\n--NextPart--" + }, + "ReturnPathArn": "", + "Source": "", + "SourceArn": "" + }, + "output": { + "MessageId": "EXAMPLEf3f73d99b-c63fb06f-d263-41f8-a0fb-d0dc67d56c07-000000" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sends an email with an attachment:", + "id": "sendrawemail-1469118548649", + "title": "SendRawEmail" + } + ], + "SetActiveReceiptRuleSet": [ + { + "input": { + "RuleSetName": "RuleSetToActivate" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets the active receipt rule set:", + "id": "setactivereceiptruleset-1469058391329", + "title": "SetActiveReceiptRuleSet" + } + ], + "SetIdentityDkimEnabled": [ + { + "input": { + "DkimEnabled": true, + "Identity": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures Amazon SES to Easy DKIM-sign the email sent from an identity:", + "id": "setidentitydkimenabled-1469057485202", + "title": "SetIdentityDkimEnabled" + } + ], + "SetIdentityFeedbackForwardingEnabled": [ + { + "input": { + "ForwardingEnabled": true, + "Identity": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures Amazon SES to forward an identity's bounces and complaints via email:", + "id": "setidentityfeedbackforwardingenabled-1469056811329", + "title": "SetIdentityFeedbackForwardingEnabled" + } + ], + "SetIdentityHeadersInNotificationsEnabled": [ + { + "input": { + "Enabled": true, + "Identity": "user@example.com", + "NotificationType": "Bounce" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures Amazon SES to include the original email headers in the Amazon SNS bounce notifications for an identity:", + "id": "setidentityheadersinnotificationsenabled-1469057295001", + "title": "SetIdentityHeadersInNotificationsEnabled" + } + ], + "SetIdentityMailFromDomain": [ + { + "input": { + "BehaviorOnMXFailure": "UseDefaultValue", + "Identity": "user@example.com", + "MailFromDomain": "bounces.example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures Amazon SES to use a custom MAIL FROM domain for an identity:", + "id": "setidentitymailfromdomain-1469057693908", + "title": "SetIdentityMailFromDomain" + } + ], + "SetIdentityNotificationTopic": [ + { + "input": { + "Identity": "user@example.com", + "NotificationType": "Bounce", + "SnsTopic": "arn:aws:sns:us-west-2:111122223333:MyTopic" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets the Amazon SNS topic to which Amazon SES will publish bounce, complaint, and/or delivery notifications for emails sent with the specified identity as the Source:", + "id": "setidentitynotificationtopic-1469057854966", + "title": "SetIdentityNotificationTopic" + } + ], + "SetReceiptRulePosition": [ + { + "input": { + "After": "PutRuleAfterThisRule", + "RuleName": "RuleToReposition", + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets the position of a receipt rule in a receipt rule set:", + "id": "setreceiptruleposition-1469058530550", + "title": "SetReceiptRulePosition" + } + ], + "UpdateReceiptRule": [ + { + "input": { + "Rule": { + "Actions": [ + { + "S3Action": { + "BucketName": "MyBucket", + "ObjectKeyPrefix": "email" + } + } + ], + "Enabled": true, + "Name": "MyRule", + "ScanEnabled": true, + "TlsPolicy": "Optional" + }, + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example updates a receipt rule to use an Amazon S3 action:", + "id": "updatereceiptrule-1469051756940", + "title": "UpdateReceiptRule" + } + ], + "VerifyDomainDkim": [ + { + "input": { + "Domain": "example.com" + }, + "output": { + "DkimTokens": [ + "EXAMPLEq76owjnks3lnluwg65scbemvw", + "EXAMPLEi3dnsj67hstzaj673klariwx2", + "EXAMPLEwfbtcukvimehexktmdtaz6naj" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example generates DKIM tokens for a domain that has been verified with Amazon SES:", + "id": "verifydomaindkim-1469049503083", + "title": "VerifyDomainDkim" + } + ], + "VerifyDomainIdentity": [ + { + "input": { + "Domain": "example.com" + }, + "output": { + "VerificationToken": "eoEmxw+YaYhb3h3iVJHuXMJXqeu1q1/wwmvjuEXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example starts the domain verification process with Amazon SES:", + "id": "verifydomainidentity-1469049165936", + "title": "VerifyDomainIdentity" + } + ], + "VerifyEmailAddress": [ + { + "input": { + "EmailAddress": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example starts the email address verification process with Amazon SES:", + "id": "verifyemailaddress-1469048849187", + "title": "VerifyEmailAddress" + } + ], + "VerifyEmailIdentity": [ + { + "input": { + "EmailAddress": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example starts the email address verification process with Amazon SES:", + "id": "verifyemailidentity-1469049068623", + "title": "VerifyEmailIdentity" + } + ] + } +} diff --git a/botocore/data/shield/2016-06-02/examples-1.json b/botocore/data/shield/2016-06-02/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/shield/2016-06-02/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/sms/2016-10-24/examples-1.json b/botocore/data/sms/2016-10-24/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/sms/2016-10-24/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/sms/2016-10-24/paginators-1.json b/botocore/data/sms/2016-10-24/paginators-1.json new file mode 100644 index 00000000..6e184415 --- /dev/null +++ b/botocore/data/sms/2016-10-24/paginators-1.json @@ -0,0 +1,28 @@ +{ + "pagination": { + "GetReplicationJobs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "replicationJobList" + }, + "GetReplicationRuns": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "replicationRunList" + }, + "GetConnectors": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "connectorList" + }, + "GetServers": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "serverList" + } + } +} diff --git a/botocore/data/snowball/2016-06-30/examples-1.json b/botocore/data/snowball/2016-06-30/examples-1.json new file mode 100755 index 00000000..9d699718 --- /dev/null +++ b/botocore/data/snowball/2016-06-30/examples-1.json @@ -0,0 +1,442 @@ +{ + "version": "1.0", + "examples": { + "CancelCluster": [ + { + "input": { + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000" + }, + "comments": { + }, + "description": "This operation cancels a cluster job. You can only cancel a cluster job while it's in the AwaitingQuorum status.", + "id": "to-cancel-a-cluster-job-1482533760554", + "title": "To cancel a cluster job" + } + ], + "CancelJob": [ + { + "input": { + "JobId": "JID123e4567-e89b-12d3-a456-426655440000" + }, + "comments": { + }, + "description": "This operation cancels a job. You can only cancel a job before its JobState value changes to PreparingAppliance.", + "id": "to-cancel-a-job-for-a-snowball-device-1482534699477", + "title": "To cancel a job for a Snowball device" + } + ], + "CreateAddress": [ + { + "input": { + "Address": { + "City": "Seattle", + "Company": "My Company's Name", + "Country": "USA", + "Name": "My Name", + "PhoneNumber": "425-555-5555", + "PostalCode": "98101", + "StateOrProvince": "WA", + "Street1": "123 Main Street" + } + }, + "output": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b" + }, + "comments": { + }, + "description": "This operation creates an address for a job. Addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.", + "id": "to-create-an-address-for-a-job-1482535416294", + "title": "To create an address for a job" + } + ], + "CreateCluster": [ + { + "input": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "Description": "MyCluster", + "JobType": "LOCAL_USE", + "KmsKeyARN": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-12ab-34cd-56ef-123456123456", + "Notification": { + "JobStatesToNotify": [ + + ], + "NotifyAll": false + }, + "Resources": { + "S3Resources": [ + { + "BucketArn": "arn:aws:s3:::MyBucket", + "KeyRange": { + } + } + ] + }, + "RoleARN": "arn:aws:iam::123456789012:role/snowball-import-S3-role", + "ShippingOption": "SECOND_DAY", + "SnowballType": "EDGE" + }, + "output": { + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000" + }, + "comments": { + }, + "description": "Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob action separately to create the jobs for each of these nodes. The cluster does not ship until these five node jobs have been created.", + "id": "to-create-a-cluster-1482864724077", + "title": "To create a cluster" + } + ], + "CreateJob": [ + { + "input": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "Description": "My Job", + "JobType": "IMPORT", + "KmsKeyARN": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-12ab-34cd-56ef-123456123456", + "Notification": { + "JobStatesToNotify": [ + + ], + "NotifyAll": false + }, + "Resources": { + "S3Resources": [ + { + "BucketArn": "arn:aws:s3:::MyBucket", + "KeyRange": { + } + } + ] + }, + "RoleARN": "arn:aws:iam::123456789012:role/snowball-import-S3-role", + "ShippingOption": "SECOND_DAY", + "SnowballCapacityPreference": "T80", + "SnowballType": "STANDARD" + }, + "output": { + "JobId": "JID123e4567-e89b-12d3-a456-426655440000" + }, + "comments": { + }, + "description": "Creates a job to import or export data between Amazon S3 and your on-premises data center. Your AWS account must have the right trust policies and permissions in place to create a job for Snowball. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster.", + "id": "to-create-a-job-1482864834886", + "title": "To create a job" + } + ], + "DescribeAddress": [ + { + "input": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b" + }, + "output": { + "Address": { + "AddressId": "ADID5643ec50-3eec-4eb3-9be6-9374c10eb51b", + "City": "Seattle", + "Company": "My Company", + "Country": "US", + "Name": "My Name", + "PhoneNumber": "425-555-5555", + "PostalCode": "98101", + "StateOrProvince": "WA", + "Street1": "123 Main Street" + } + }, + "comments": { + }, + "description": "This operation describes an address for a job.", + "id": "to-describe-an-address-for-a-job-1482538608745", + "title": "To describe an address for a job" + } + ], + "DescribeAddresses": [ + { + "input": { + }, + "output": { + "Addresses": [ + { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "City": "Seattle", + "Company": "My Company", + "Country": "US", + "Name": "My Name", + "PhoneNumber": "425-555-5555", + "PostalCode": "98101", + "StateOrProvince": "WA", + "Street1": "123 Main Street" + } + ] + }, + "comments": { + }, + "description": "This operation describes all the addresses that you've created for AWS Snowball. Calling this API in one of the US regions will return addresses from the list of all addresses associated with this account in all US regions.", + "id": "to-describe-all-the-addresses-youve-created-for-aws-snowball-1482538936603", + "title": "To describe all the addresses you've created for AWS Snowball" + } + ], + "DescribeCluster": [ + { + "input": { + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000" + }, + "output": { + "ClusterMetadata": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000", + "ClusterState": "Pending", + "CreationDate": "1480475517.0", + "Description": "MyCluster", + "JobType": "LOCAL_USE", + "KmsKeyARN": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-12ab-34cd-56ef-123456123456", + "Notification": { + "JobStatesToNotify": [ + + ], + "NotifyAll": false + }, + "Resources": { + "S3Resources": [ + { + "BucketArn": "arn:aws:s3:::MyBucket", + "KeyRange": { + } + } + ] + }, + "RoleARN": "arn:aws:iam::123456789012:role/snowball-import-S3-role", + "ShippingOption": "SECOND_DAY" + } + }, + "comments": { + }, + "description": "Returns information about a specific cluster including shipping information, cluster status, and other important metadata.", + "id": "to-describe-a-cluster-1482864218396", + "title": "To describe a cluster" + } + ], + "DescribeJob": [ + { + "input": { + "JobId": "JID123e4567-e89b-12d3-a456-426655440000" + }, + "output": { + "JobMetadata": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "CreationDate": "1475626164", + "Description": "My Job", + "JobId": "JID123e4567-e89b-12d3-a456-426655440000", + "JobState": "New", + "JobType": "IMPORT", + "KmsKeyARN": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-12ab-34cd-56ef-123456123456", + "Notification": { + "JobStatesToNotify": [ + + ], + "NotifyAll": false + }, + "Resources": { + "S3Resources": [ + { + "BucketArn": "arn:aws:s3:::MyBucket", + "KeyRange": { + } + } + ] + }, + "RoleARN": "arn:aws:iam::123456789012:role/snowball-import-S3-role", + "ShippingDetails": { + "ShippingOption": "SECOND_DAY" + }, + "SnowballCapacityPreference": "T80", + "SnowballType": "STANDARD" + } + }, + "comments": { + }, + "description": "This operation describes a job you've created for AWS Snowball.", + "id": "to-describe-a-job-youve-created-for-aws-snowball-1482539500180", + "title": "To describe a job you've created for AWS Snowball" + } + ], + "GetJobManifest": [ + { + "input": { + "JobId": "JID123e4567-e89b-12d3-a456-426655440000" + }, + "output": { + "ManifestURI": "https://awsie-frosty-manifests-prod.s3.amazonaws.com/JID123e4567-e89b-12d3-a456-426655440000_manifest.bin?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20161224T005115Z&X-Amz-SignedHeaders=..." + }, + "comments": { + }, + "description": "Returns a link to an Amazon S3 presigned URL for the manifest file associated with the specified JobId value. You can access the manifest file for up to 60 minutes after this request has been made. To access the manifest file after 60 minutes have passed, you'll have to make another call to the GetJobManifest action.\n\nThe manifest is an encrypted file that you can download after your job enters the WithCustomer status. The manifest is decrypted by using the UnlockCode code value, when you pass both values to the Snowball through the Snowball client when the client is started for the first time.\n\nAs a best practice, we recommend that you don't save a copy of an UnlockCode value in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.\n\nThe credentials of a given job, including its manifest file and unlock code, expire 90 days after the job is created.", + "id": "to-get-the-manifest-for-a-job-youve-created-for-aws-snowball-1482540389246", + "title": "To get the manifest for a job you've created for AWS Snowball" + } + ], + "GetJobUnlockCode": [ + { + "input": { + "JobId": "JID123e4567-e89b-12d3-a456-426655440000" + }, + "output": { + "UnlockCode": "12345-abcde-56789-fghij-01234" + }, + "comments": { + }, + "description": "Returns the UnlockCode code value for the specified job. A particular UnlockCode value can be accessed for up to 90 days after the associated job has been created.\n\nThe UnlockCode value is a 29-character code with 25 alphanumeric characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed along with the manifest to the Snowball through the Snowball client when the client is started for the first time.\n\nAs a best practice, we recommend that you don't save a copy of the UnlockCode in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.", + "id": "to-get-the-unlock-code-for-a-job-youve-created-for-aws-snowball-1482541987286", + "title": "To get the unlock code for a job you've created for AWS Snowball" + } + ], + "GetSnowballUsage": [ + { + "input": { + }, + "output": { + "SnowballLimit": 1, + "SnowballsInUse": 0 + }, + "comments": { + }, + "description": "Returns information about the Snowball service limit for your account, and also the number of Snowballs your account has in use.\n\nThe default service limit for the number of Snowballs that you can have at one time is 1. If you want to increase your service limit, contact AWS Support.", + "id": "to-see-your-snowball-service-limit-and-the-number-of-snowballs-you-have-in-use-1482863394588", + "title": "To see your Snowball service limit and the number of Snowballs you have in use" + } + ], + "ListClusterJobs": [ + { + "input": { + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000" + }, + "output": { + "JobListEntries": [ + { + "CreationDate": "1480475524.0", + "Description": "MyClustrer-node-001", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440000", + "JobState": "New", + "JobType": "LOCAL_USE", + "SnowballType": "EDGE" + }, + { + "CreationDate": "1480475525.0", + "Description": "MyClustrer-node-002", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440001", + "JobState": "New", + "JobType": "LOCAL_USE", + "SnowballType": "EDGE" + }, + { + "CreationDate": "1480475525.0", + "Description": "MyClustrer-node-003", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440002", + "JobState": "New", + "JobType": "LOCAL_USE", + "SnowballType": "EDGE" + }, + { + "CreationDate": "1480475525.0", + "Description": "MyClustrer-node-004", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440003", + "JobState": "New", + "JobType": "LOCAL_USE", + "SnowballType": "EDGE" + }, + { + "CreationDate": "1480475525.0", + "Description": "MyClustrer-node-005", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440004", + "JobState": "New", + "JobType": "LOCAL_USE", + "SnowballType": "EDGE" + } + ] + }, + "comments": { + }, + "description": "Returns an array of JobListEntry objects of the specified length. Each JobListEntry object is for a job in the specified cluster and contains a job's state, a job's ID, and other information.", + "id": "to-get-a-list-of-jobs-in-a-cluster-that-youve-created-for-aws-snowball-1482863105773", + "title": "To get a list of jobs in a cluster that you've created for AWS Snowball" + } + ], + "ListClusters": [ + { + "input": { + }, + "output": { + "ClusterListEntries": [ + { + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000", + "ClusterState": "Pending", + "CreationDate": "1480475517.0", + "Description": "MyCluster" + } + ] + }, + "comments": { + }, + "description": "Returns an array of ClusterListEntry objects of the specified length. Each ClusterListEntry object contains a cluster's state, a cluster's ID, and other important status information.", + "id": "to-get-a-list-of-clusters-that-youve-created-for-aws-snowball-1482862223003", + "title": "To get a list of clusters that you've created for AWS Snowball" + } + ], + "ListJobs": [ + { + "input": { + }, + "output": { + "JobListEntries": [ + { + "CreationDate": "1460678186.0", + "Description": "MyJob", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440000", + "JobState": "New", + "JobType": "IMPORT", + "SnowballType": "STANDARD" + } + ] + }, + "comments": { + }, + "description": "Returns an array of JobListEntry objects of the specified length. Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions.", + "id": "to-get-a-list-of-jobs-that-youve-created-for-aws-snowball-1482542167627", + "title": "To get a list of jobs that you've created for AWS Snowball" + } + ], + "UpdateCluster": [ + { + "input": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000", + "Description": "Updated the address to send this to image processing - RJ" + }, + "comments": { + }, + "description": "This action allows you to update certain parameters for a cluster. Once the cluster changes to a different state, usually within 60 minutes of it being created, this action is no longer available.", + "id": "to-update-a-cluster-1482863900595", + "title": "To update a cluster" + } + ], + "UpdateJob": [ + { + "input": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "Description": "Upgraded to Edge, shipped to Finance Dept, and requested faster shipping speed - TS.", + "JobId": "JID123e4567-e89b-12d3-a456-426655440000", + "ShippingOption": "NEXT_DAY", + "SnowballCapacityPreference": "T100" + }, + "comments": { + }, + "description": "This action allows you to update certain parameters for a job. Once the job changes to a different job state, usually within 60 minutes of the job being created, this action is no longer available.", + "id": "to-update-a-job-1482863556886", + "title": "To update a job" + } + ] + } +} diff --git a/botocore/data/snowball/2016-06-30/paginators-1.json b/botocore/data/snowball/2016-06-30/paginators-1.json new file mode 100644 index 00000000..79596df9 --- /dev/null +++ b/botocore/data/snowball/2016-06-30/paginators-1.json @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListJobs": { + "limit_key": "MaxResults", + "output_token": "NextToken", + "input_token": "NextToken", + "result_key": "JobListEntries" + }, + "DescribeAddresses": { + "limit_key": "MaxResults", + "output_token": "NextToken", + "input_token": "NextToken", + "result_key": "Addresses" + } + } +} diff --git a/botocore/data/snowball/2016-06-30/service-2.json b/botocore/data/snowball/2016-06-30/service-2.json index 4f536aba..7851bc3e 100644 --- a/botocore/data/snowball/2016-06-30/service-2.json +++ b/botocore/data/snowball/2016-06-30/service-2.json @@ -54,7 +54,7 @@ {"shape":"InvalidAddressException"}, {"shape":"UnsupportedAddressException"} ], - "documentation":"

Creates an address for a Snowball to be shipped to.

Addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.

" + "documentation":"

Creates an address for a Snowball to be shipped to. In most regions, addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.

" }, "CreateCluster":{ "name":"CreateCluster", @@ -85,7 +85,7 @@ {"shape":"InvalidInputCombinationException"}, {"shape":"ClusterLimitExceededException"} ], - "documentation":"

Creates a job to import or export data between Amazon S3 and your on-premises data center. Your AWS account must have the right trust policies and permissions in place to create a job for Snowball. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster. .

" + "documentation":"

Creates a job to import or export data between Amazon S3 and your on-premises data center. Your AWS account must have the right trust policies and permissions in place to create a job for Snowball. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster.

" }, "DescribeAddress":{ "name":"DescribeAddress", @@ -109,7 +109,8 @@ "input":{"shape":"DescribeAddressesRequest"}, "output":{"shape":"DescribeAddressesResult"}, "errors":[ - {"shape":"InvalidResourceException"} + {"shape":"InvalidResourceException"}, + {"shape":"InvalidNextTokenException"} ], "documentation":"

Returns a specified number of ADDRESS objects. Calling this API in one of the US regions will return addresses from the list of all addresses associated with this account in all US regions.

" }, @@ -137,7 +138,7 @@ "errors":[ {"shape":"InvalidResourceException"} ], - "documentation":"

Returns information about a specific job including shipping information, job status, and other important metadata. .

" + "documentation":"

Returns information about a specific job including shipping information, job status, and other important metadata.

" }, "GetJobManifest":{ "name":"GetJobManifest", @@ -186,7 +187,8 @@ "input":{"shape":"ListClusterJobsRequest"}, "output":{"shape":"ListClusterJobsResult"}, "errors":[ - {"shape":"InvalidResourceException"} + {"shape":"InvalidResourceException"}, + {"shape":"InvalidNextTokenException"} ], "documentation":"

Returns an array of JobListEntry objects of the specified length. Each JobListEntry object is for a job in the specified cluster and contains a job's state, a job's ID, and other information.

" }, @@ -198,6 +200,9 @@ }, "input":{"shape":"ListClustersRequest"}, "output":{"shape":"ListClustersResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], "documentation":"

Returns an array of ClusterListEntry objects of the specified length. Each ClusterListEntry object contains a cluster's state, a cluster's ID, and other important status information.

" }, "ListJobs":{ @@ -208,6 +213,9 @@ }, "input":{"shape":"ListJobsRequest"}, "output":{"shape":"ListJobsResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], "documentation":"

Returns an array of JobListEntry objects of the specified length. Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions.

" }, "UpdateCluster":{ @@ -282,11 +290,11 @@ }, "PrefectureOrDistrict":{ "shape":"String", - "documentation":"

The prefecture or district that the appliance will be shipped to.

" + "documentation":"

This field is no longer used and the value is ignored.

" }, "Landmark":{ "shape":"String", - "documentation":"

The landmark identifying the address that the appliance will be shipped to.

" + "documentation":"

This field is no longer used and the value is ignored.

" }, "Country":{ "shape":"String", @@ -299,6 +307,10 @@ "PhoneNumber":{ "shape":"String", "documentation":"

The phone number associated with an address that a Snowball is to be delivered to.

" + }, + "IsRestricted":{ + "shape":"Boolean", + "documentation":"

If the address you are creating is a primary address, then set this option to true. This field is not supported in most regions.

" } }, "documentation":"

The address that you want the Snowball or Snowballs associated with a specific job to be shipped to. Addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. Although no individual elements of the Address are required, if the address is invalid or unsupported, then an exception is thrown.

" @@ -434,6 +446,10 @@ "Notification":{ "shape":"Notification", "documentation":"

The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.

" + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

The ID of the address that you want a cluster shipped to, after it will be shipped to its primary address. This field is not supported in most regions.

" } }, "documentation":"

Contains metadata about a specific cluster.

" @@ -512,6 +528,10 @@ "Notification":{ "shape":"Notification", "documentation":"

The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.

" + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

The forwarding address ID for a cluster. This field is not supported in most regions.

" } } }, @@ -570,6 +590,10 @@ "SnowballType":{ "shape":"SnowballType", "documentation":"

The type of AWS Snowball appliance to use for this job. Currently, the only supported appliance type for cluster jobs is EDGE.

" + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

The forwarding address ID for a job. This field is not supported in most regions.

" } } }, @@ -786,6 +810,14 @@ "documentation":"

The action can't be performed because the job's current state doesn't allow that action to be performed.

", "exception":true }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The NextToken string was altered unexpectedly, and the operation has stopped. Run the operation without changing the NextToken string, and try again.

", + "exception":true + }, "InvalidResourceException":{ "type":"structure", "members":{ @@ -889,11 +921,11 @@ }, "KmsKeyARN":{ "shape":"KmsKeyARN", - "documentation":"

The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key associated with this job. This ARN was created using the CreateKey API action in AWS KMS.

" + "documentation":"

The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key associated with this job. This ARN was created using the CreateKey API action in AWS KMS.

" }, "RoleARN":{ "shape":"RoleARN", - "documentation":"

The role ARN associated with this job. This ARN was created using the CreateRole API action in AWS Identity and Access Management (IAM).

" + "documentation":"

The role ARN associated with this job. This ARN was created using the CreateRole API action in AWS Identity and Access Management (IAM).

" }, "AddressId":{ "shape":"AddressId", @@ -922,6 +954,10 @@ "ClusterId":{ "shape":"String", "documentation":"

The 39-character ID for the cluster, for example CID123e4567-e89b-12d3-a456-426655440000.

" + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

The ID of the address that you want a job shipped to, after it will be shipped to its primary address. This field is not supported in most regions.

" } }, "documentation":"

Contains information about a specific job including shipping information, job status, and other important metadata. This information is returned as a part of the response syntax of the DescribeJob action.

" @@ -998,7 +1034,7 @@ "KmsKeyARN":{ "type":"string", "max":255, - "pattern":"arn:(aws|aws-us-gov):kms:.*:[0-9]{12}:key/.*" + "pattern":"arn:aws.*:kms:.*:[0-9]{12}:key/.*" }, "LambdaResource":{ "type":"structure", @@ -1132,7 +1168,7 @@ "RoleARN":{ "type":"string", "max":255, - "pattern":"arn:(aws|aws-us-gov):iam::[0-9]{12}:role/.*" + "pattern":"arn:aws.*:iam::[0-9]{12}:role/.*" }, "S3Resource":{ "type":"structure", @@ -1157,7 +1193,7 @@ "members":{ "Status":{ "shape":"String", - "documentation":"

Status information for a shipment. Valid statuses include NEW, IN_TRANSIT, and DELIVERED.

" + "documentation":"

Status information for a shipment.

" }, "TrackingNumber":{ "shape":"String", @@ -1212,11 +1248,10 @@ "SnsTopicARN":{ "type":"string", "max":255, - "pattern":"arn:(aws|aws-us-gov):sns:.*:[0-9]{12}:.*" + "pattern":"arn:aws.*:sns:.*:[0-9]{12}:.*" }, "String":{ "type":"string", - "max":255, "min":1 }, "Timestamp":{"type":"timestamp"}, @@ -1259,6 +1294,10 @@ "Notification":{ "shape":"Notification", "documentation":"

The new or updated Notification object.

" + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

The updated ID for the forwarding address for a cluster. This field is not supported in most regions.

" } } }, @@ -1277,7 +1316,7 @@ }, "RoleARN":{ "shape":"RoleARN", - "documentation":"

The new role Amazon Resource Name (ARN) that you want to associate with this job. To create a role ARN, use the CreateRole AWS Identity and Access Management (IAM) API action.

" + "documentation":"

The new role Amazon Resource Name (ARN) that you want to associate with this job. To create a role ARN, use the CreateRoleAWS Identity and Access Management (IAM) API action.

" }, "Notification":{ "shape":"Notification", @@ -1302,6 +1341,10 @@ "SnowballCapacityPreference":{ "shape":"SnowballCapacity", "documentation":"

The updated SnowballCapacityPreference of this job's JobMetadata object. The 50 TB Snowballs are only available in the US regions.

" + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

The updated ID for the forwarding address for a job. This field is not supported in most regions.

" } } }, diff --git a/botocore/data/sns/2010-03-31/examples-1.json b/botocore/data/sns/2010-03-31/examples-1.json new file mode 100755 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/sns/2010-03-31/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/sqs/2012-11-05/paginators-1.json b/botocore/data/sqs/2012-11-05/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/sqs/2012-11-05/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/sqs/2012-11-05/service-2.json b/botocore/data/sqs/2012-11-05/service-2.json old mode 100755 new mode 100644 index 941c8685..faf50605 --- a/botocore/data/sqs/2012-11-05/service-2.json +++ b/botocore/data/sqs/2012-11-05/service-2.json @@ -53,7 +53,7 @@ {"shape":"BatchEntryIdsNotDistinct"}, {"shape":"InvalidBatchEntryId"} ], - "documentation":"

Changes the visibility timeout of multiple messages. This is a batch version of ChangeMessageVisibility . The result of the action on each message is reported individually in the response. You can send up to 10 ChangeMessageVisibility requests with each ChangeMessageVisibilityBatch action.

Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" + "documentation":"

Changes the visibility timeout of multiple messages. This is a batch version of ChangeMessageVisibility. The result of the action on each message is reported individually in the response. You can send up to 10 ChangeMessageVisibility requests with each ChangeMessageVisibilityBatch action.

Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" }, "CreateQueue":{ "name":"CreateQueue", @@ -70,7 +70,7 @@ {"shape":"QueueDeletedRecently"}, {"shape":"QueueNameExists"} ], - "documentation":"

Creates a new standard or FIFO queue or returns the URL of an existing queue. You can pass one or more attributes in the request. Keep the following caveats in mind:

  • If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue.

    You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see Moving From a Standard Queue to a FIFO Queue in the Amazon SQS Developer Guide.

  • If you don't provide a value for an attribute, the queue is created with the default value for the attribute.

  • If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

To successfully create a new queue, you must provide a queue name that adheres to the limits related to queues and is unique within the scope of your queues.

To get the queue URL, use the GetQueueUrl action. GetQueueUrl requires only the QueueName parameter. be aware of existing queue names:

  • If you provide the name of an existing queue along with the exact names and values of all the queue's attributes, CreateQueue returns the queue URL for the existing queue.

  • If the queue name, attribute names, or attribute values don't match an existing queue, CreateQueue returns an error.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" + "documentation":"

Creates a new standard or FIFO queue. You can pass one or more attributes in the request. Keep the following caveats in mind:

  • If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue.

    You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see Moving From a Standard Queue to a FIFO Queue in the Amazon SQS Developer Guide.

  • If you don't provide a value for an attribute, the queue is created with the default value for the attribute.

  • If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

To successfully create a new queue, you must provide a queue name that adheres to the limits related to queues and is unique within the scope of your queues.

To get the queue URL, use the GetQueueUrl action. GetQueueUrl requires only the QueueName parameter. be aware of existing queue names:

  • If you provide the name of an existing queue along with the exact names and values of all the queue's attributes, CreateQueue returns the queue URL for the existing queue.

  • If the queue name, attribute names, or attribute values don't match an existing queue, CreateQueue returns an error.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" }, "DeleteMessage":{ "name":"DeleteMessage", @@ -83,7 +83,7 @@ {"shape":"InvalidIdFormat"}, {"shape":"ReceiptHandleIsInvalid"} ], - "documentation":"

Deletes the specified message from the specified queue. You specify the message by using the message's receipt handle and not the MessageId you receive when you send the message. Even if the message is locked by another reader due to the visibility timeout setting, it is still deleted from the queue. If you leave a message in the queue for longer than the queue's configured retention period, Amazon SQS automatically deletes the message.

The receipt handle is associated with a specific instance of receiving the message. If you receive a message more than once, the receipt handle you get each time you receive the message is different. If you don't provide the most recently received receipt handle for the message when you use the DeleteMessage action, the request succeeds, but the message might not be deleted.

For standard queues, it is possible to receive a message even after you deleting it. This might happen on rare occasions if one of the servers storing a copy of the message is unavailable when you send the request to delete the message. The copy remains on the server and might be returned to you on a subsequent receive request. You should ensure that your application is idempotent, so that receiving a message more than once does not cause issues.

" + "documentation":"

Deletes the specified message from the specified queue. You specify the message by using the message's receipt handle and not the MessageId you receive when you send the message. Even if the message is locked by another reader due to the visibility timeout setting, it is still deleted from the queue. If you leave a message in the queue for longer than the queue's configured retention period, Amazon SQS automatically deletes the message.

The receipt handle is associated with a specific instance of receiving the message. If you receive a message more than once, the receipt handle you get each time you receive the message is different. If you don't provide the most recently received receipt handle for the message when you use the DeleteMessage action, the request succeeds, but the message might not be deleted.

For standard queues, it is possible to receive a message even after you delete it. This might happen on rare occasions if one of the servers storing a copy of the message is unavailable when you send the request to delete the message. The copy remains on the server and might be returned to you on a subsequent receive request. You should ensure that your application is idempotent, so that receiving a message more than once does not cause issues.

" }, "DeleteMessageBatch":{ "name":"DeleteMessageBatch", @@ -102,7 +102,7 @@ {"shape":"BatchEntryIdsNotDistinct"}, {"shape":"InvalidBatchEntryId"} ], - "documentation":"

Deletes up to ten messages from the specified queue. This is a batch version of DeleteMessage . The result of the action on each message is reported individually in the response.

Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" + "documentation":"

Deletes up to ten messages from the specified queue. This is a batch version of DeleteMessage. The result of the action on each message is reported individually in the response.

Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" }, "DeleteQueue":{ "name":"DeleteQueue", @@ -127,7 +127,7 @@ "errors":[ {"shape":"InvalidAttributeName"} ], - "documentation":"

Gets attributes for the specified queue.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" + "documentation":"

Gets attributes for the specified queue.

To determine whether a queue is FIFO, you can check whether QueueName ends with the .fifo suffix.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" }, "GetQueueUrl":{ "name":"GetQueueUrl", @@ -201,7 +201,7 @@ "errors":[ {"shape":"OverLimit"} ], - "documentation":"

Retrieves one or more messages (up to 10), from the specified queue. Using the WaitTimeSeconds parameter enables long-poll support. For more information, see Amazon SQS Long Polling in the Amazon SQS Developer Guide.

Short poll is the default behavior where a weighted random set of machines is sampled on a ReceiveMessage call. Thus, only the messages on the sampled machines are returned. If the number of messages in the queue is small (fewer than 1,000), you most likely get fewer messages than you requested per ReceiveMessage call. If the number of messages in the queue is extremely small, you might not receive any messages in a particular ReceiveMessage response. If this happens, repeat the request.

For each message returned, the response includes the following:

  • The message body.

  • An MD5 digest of the message body. For information on MD5, see RFC1321.

  • The MessageId you received when you sent the message to the queue.

  • The receipt handle.

  • The message attributes.

  • An MD5 digest of the message attributes.

The receipt handle is the identifier you must provide when deleting the message. For more information, see Queue and Message Identifiers in the Amazon SQS Developer Guide.

You can provide the VisibilityTimeout parameter in your request. The parameter is applied to the messages that Amazon SQS returns in the response. If you don't include the parameter, the overall visibility timeout for the queue is used for the returned messages. For more information, see Visibility Timeout in the Amazon SQS Developer Guide.

A message that isn't deleted or a message whose visibility isn't extended before the visibility timeout expires counts as a failed receive. Depending on the configuration of the queue, the message might be sent to the dead letter queue.

In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

" + "documentation":"

Retrieves one or more messages (up to 10), from the specified queue. Using the WaitTimeSeconds parameter enables long-poll support. For more information, see Amazon SQS Long Polling in the Amazon SQS Developer Guide.

Short poll is the default behavior where a weighted random set of machines is sampled on a ReceiveMessage call. Thus, only the messages on the sampled machines are returned. If the number of messages in the queue is small (fewer than 1,000), you most likely get fewer messages than you requested per ReceiveMessage call. If the number of messages in the queue is extremely small, you might not receive any messages in a particular ReceiveMessage response. If this happens, repeat the request.

For each message returned, the response includes the following:

  • The message body.

  • An MD5 digest of the message body. For information about MD5, see RFC1321.

  • The MessageId you received when you sent the message to the queue.

  • The receipt handle.

  • The message attributes.

  • An MD5 digest of the message attributes.

The receipt handle is the identifier you must provide when deleting the message. For more information, see Queue and Message Identifiers in the Amazon SQS Developer Guide.

You can provide the VisibilityTimeout parameter in your request. The parameter is applied to the messages that Amazon SQS returns in the response. If you don't include the parameter, the overall visibility timeout for the queue is used for the returned messages. For more information, see Visibility Timeout in the Amazon SQS Developer Guide.

A message that isn't deleted or a message whose visibility isn't extended before the visibility timeout expires counts as a failed receive. Depending on the configuration of the queue, the message might be sent to the dead letter queue.

In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

" }, "RemovePermission":{ "name":"RemovePermission", @@ -227,7 +227,7 @@ {"shape":"InvalidMessageContents"}, {"shape":"UnsupportedOperation"} ], - "documentation":"

Delivers a message to the specified queue.

The following list shows the characters (in Unicode) that are allowed in your message, according to the W3C XML specification:

  • #x9

  • #xA

  • #xD

  • #x20 to #xD7FF

  • #xE000 to #xFFFD

  • #x10000 to #x10FFFF

For more information, see RFC1321. If you send any characters that aren't included in this list, your request is rejected.

" + "documentation":"

Delivers a message to the specified queue.

A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

#x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF

Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

" }, "SendMessageBatch":{ "name":"SendMessageBatch", @@ -248,7 +248,7 @@ {"shape":"InvalidBatchEntryId"}, {"shape":"UnsupportedOperation"} ], - "documentation":"

Delivers up to ten messages to the specified queue. This is a batch version of SendMessage . For a FIFO queue, multiple messages within a single batch are enqueued in the order they are sent.

The result of sending each message is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

The maximum allowed individual message size and the maximum total payload size (the sum of the individual lengths of all of the batched messages) are both 256 KB (262,144 bytes).

The following list shows the characters (in Unicode) that are allowed in your message, according to the W3C XML specification:

  • #x9

  • #xA

  • #xD

  • #x20 to #xD7FF

  • #xE000 to #xFFFD

  • #x10000 to #x10FFFF

For more information, see RFC1321. If you send any characters that aren't included in this list, your request is rejected.

If you don't specify the DelaySeconds parameter for an entry, Amazon SQS uses the default value for the queue.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" + "documentation":"

Delivers up to ten messages to the specified queue. This is a batch version of SendMessage. For a FIFO queue, multiple messages within a single batch are enqueued in the order they are sent.

The result of sending each message is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

The maximum allowed individual message size and the maximum total payload size (the sum of the individual lengths of all of the batched messages) are both 256 KB (262,144 bytes).

A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

#x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF

Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

If you don't specify the DelaySeconds parameter for an entry, Amazon SQS uses the default value for the queue.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" }, "SetQueueAttributes":{ "name":"SetQueueAttributes", @@ -422,7 +422,7 @@ "documentation":"

The new value (in seconds) for the message's visibility timeout.

" } }, - "documentation":"

Encloses a receipt handle and an entry id for each message in ChangeMessageVisibilityBatch .

All of the following list parameters must be prefixed with ChangeMessageVisibilityBatchRequestEntry.n, where n is an integer value starting with 1. For example, a parameter list for this action might look like this:

&amp;ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2

&amp;ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=<replaceable>Your_Receipt_Handle</replaceable>

&amp;ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45

" + "documentation":"

Encloses a receipt handle and an entry id for each message in ChangeMessageVisibilityBatch.

All of the following list parameters must be prefixed with ChangeMessageVisibilityBatchRequestEntry.n, where n is an integer value starting with 1. For example, a parameter list for this action might look like this:

&amp;ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2

&amp;ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=<replaceable>Your_Receipt_Handle</replaceable>

&amp;ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45

" }, "ChangeMessageVisibilityBatchRequestEntryList":{ "type":"list", @@ -459,7 +459,7 @@ "documentation":"

Represents a message whose visibility timeout has been changed successfully.

" } }, - "documentation":"

Encloses the Id of an entry in ChangeMessageVisibilityBatch .

" + "documentation":"

Encloses the Id of an entry in ChangeMessageVisibilityBatch.

" }, "ChangeMessageVisibilityBatchResultEntryList":{ "type":"list", @@ -501,7 +501,7 @@ }, "Attributes":{ "shape":"QueueAttributeMap", - "documentation":"

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the CreateQueue action uses:

  • DelaySeconds - The number of seconds for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 seconds (15 minutes). The default is 0 (zero).

  • MaximumMessageSize - The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB).

  • MessageRetentionPeriod - The number of seconds for which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 minute) to 1,209,600 seconds (14 days). The default is 345,600 (4 days).

  • Policy - The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide.

  • ReceiveMessageWaitTimeSeconds - The number of seconds for which a ReceiveMessage action waits for a message to arrive. Valid values: An integer from 0 to 20 (seconds). The default is 0 (zero).

  • RedrivePolicy - The parameters for the dead letter queue functionality of the source queue. For more information about the redrive policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide.

    The dead letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead letter queue of a standard queue must also be a standard queue.

  • VisibilityTimeout - The visibility timeout for the queue. Valid values: An integer from 0 to 43,200 (12 hours). The default is 30. For more information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide.

The following attributes apply only to FIFO (first-in-first-out) queues:

  • FifoQueue - Designates a queue as FIFO. You can provide this attribute only during queue creation. You can't change it for an existing queue. When you set this attribute, you must provide a MessageGroupId explicitly.

    For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide.

  • ContentBasedDeduplication - Enables content-based deduplication. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide.

    • Every message must have a unique MessageDeduplicationId,

      • You may provide a MessageDeduplicationId explicitly.

      • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

      • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

    • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

    • You can also use ContentBasedDeduplication for messages with identical content to be treated as duplicates.

    • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

Any other valid special request parameters (such as the following) are ignored:

  • ApproximateNumberOfMessages

  • ApproximateNumberOfMessagesDelayed

  • ApproximateNumberOfMessagesNotVisible

  • CreatedTimestamp

  • LastModifiedTimestamp

  • QueueArn

", + "documentation":"

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the CreateQueue action uses:

  • DelaySeconds - The length of time, in seconds, for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 seconds (15 minutes). The default is 0 (zero).

  • MaximumMessageSize - The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB).

  • MessageRetentionPeriod - The length of time, in seconds, for which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 minute) to 1,209,600 seconds (14 days). The default is 345,600 (4 days).

  • Policy - The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide.

  • ReceiveMessageWaitTimeSeconds - The length of time, in seconds, for which a ReceiveMessage action waits for a message to arrive. Valid values: An integer from 0 to 20 (seconds). The default is 0 (zero).

  • RedrivePolicy - The parameters for the dead letter queue functionality of the source queue. For more information about the redrive policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide.

    The dead letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead letter queue of a standard queue must also be a standard queue.

  • VisibilityTimeout - The visibility timeout for the queue. Valid values: An integer from 0 to 43,200 (12 hours). The default is 30. For more information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide.

The following attributes apply only to server-side-encryption:

  • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/aws/sqs. For more examples, see KeyId in the AWS Key Management Service API Reference.

  • KmsDataKeyReusePeriodSeconds - The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes). A shorter time period provides better security but results in more calls to KMS which incur charges after Free Tier. For more information, see How Does the Data Key Reuse Period Work?.

The following attributes apply only to FIFO (first-in-first-out) queues:

  • FifoQueue - Designates a queue as FIFO. Valid values: true, false. You can provide this attribute only during queue creation. You can't change it for an existing queue. When you set this attribute, you must also provide the MessageGroupId for your messages explicitly.

    For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide.

  • ContentBasedDeduplication - Enables content-based deduplication. Valid values: true, false. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide.

    • Every message must have a unique MessageDeduplicationId,

      • You may provide a MessageDeduplicationId explicitly.

      • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

      • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

    • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

    • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

Any other valid special request parameters (such as the following) are ignored:

  • ApproximateNumberOfMessages

  • ApproximateNumberOfMessagesDelayed

  • ApproximateNumberOfMessagesNotVisible

  • CreatedTimestamp

  • LastModifiedTimestamp

  • QueueArn

", "locationName":"Attribute" } }, @@ -588,7 +588,7 @@ "documentation":"

Represents a successfully deleted message.

" } }, - "documentation":"

Encloses the Id of an entry in DeleteMessageBatch .

" + "documentation":"

Encloses the Id of an entry in DeleteMessageBatch.

" }, "DeleteMessageBatchResultEntryList":{ "type":"list", @@ -649,7 +649,7 @@ }, "AttributeNames":{ "shape":"AttributeNameList", - "documentation":"

A list of attributes for which to retrieve information.

In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

The following attributes are supported:

  • All - Returns all values.

  • ApproximateNumberOfMessages - Returns the approximate number of visible messages in a queue. For more information, see Resources Required to Process Messages in the Amazon SQS Developer Guide.

  • ApproximateNumberOfMessagesDelayed - Returns the approximate number of messages that are waiting to be added to the queue.

  • ApproximateNumberOfMessagesNotVisible - Returns the approximate number of messages that have not timed-out and aren't deleted. For more information, see Resources Required to Process Messages in the Amazon SQS Developer Guide.

  • CreatedTimestamp - Returns the time when the queue was created in seconds (epoch time).

  • DelaySeconds - Returns the default delay on the queue in seconds.

  • LastModifiedTimestamp - Returns the time when the queue was last changed in seconds (epoch time).

  • MaximumMessageSize - Returns the limit of how many bytes a message can contain before Amazon SQS rejects it.

  • MessageRetentionPeriod - Returns the number of seconds for which Amazon SQS retains a message.

  • Policy - Returns the policy of the queue.

  • QueueArn - Returns the Amazon resource name (ARN) of the queue.

  • ReceiveMessageWaitTimeSeconds - Returns the number of seconds for which the ReceiveMessage action waits for a message to arrive.

  • RedrivePolicy - Returns the parameters for dead letter queue functionality of the source queue. For more information about the redrive policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide.

  • VisibilityTimeout - Returns the visibility timeout for the queue. For more information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide.

The following attributes apply only to FIFO (first-in-first-out) queues:

  • FifoQueue - Returns whether the queue is FIFO. For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide.

  • ContentBasedDeduplication - Returns whether content-based deduplication is enabled for the queue. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide.

" + "documentation":"

A list of attributes for which to retrieve information.

In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

The following attributes are supported:

  • All - Returns all values.

  • ApproximateNumberOfMessages - Returns the approximate number of visible messages in a queue. For more information, see Resources Required to Process Messages in the Amazon SQS Developer Guide.

  • ApproximateNumberOfMessagesDelayed - Returns the approximate number of messages that are waiting to be added to the queue.

  • ApproximateNumberOfMessagesNotVisible - Returns the approximate number of messages that have not timed-out and aren't deleted. For more information, see Resources Required to Process Messages in the Amazon SQS Developer Guide.

  • CreatedTimestamp - Returns the time when the queue was created in seconds (epoch time).

  • DelaySeconds - Returns the default delay on the queue in seconds.

  • LastModifiedTimestamp - Returns the time when the queue was last changed in seconds (epoch time).

  • MaximumMessageSize - Returns the limit of how many bytes a message can contain before Amazon SQS rejects it.

  • MessageRetentionPeriod - Returns the length of time, in seconds, for which Amazon SQS retains a message.

  • Policy - Returns the policy of the queue.

  • QueueArn - Returns the Amazon resource name (ARN) of the queue.

  • ReceiveMessageWaitTimeSeconds - Returns the length of time, in seconds, for which the ReceiveMessage action waits for a message to arrive.

  • RedrivePolicy - Returns the parameters for dead letter queue functionality of the source queue. For more information about the redrive policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide.

  • VisibilityTimeout - Returns the visibility timeout for the queue. For more information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide.

The following attributes apply only to server-side-encryption:

  • KmsMasterKeyId - Returns the ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms.

  • KmsDataKeyReusePeriodSeconds - Returns the length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again.

The following attributes apply only to FIFO (first-in-first-out) queues:

  • FifoQueue - Returns whether the queue is FIFO. For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide.

    To determine whether a queue is FIFO, you can check whether QueueName ends with the .fifo suffix.

  • ContentBasedDeduplication - Returns whether content-based deduplication is enabled for the queue. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide.

" } }, "documentation":"

" @@ -792,7 +792,7 @@ }, "MD5OfMessageAttributes":{ "shape":"String", - "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information on MD5, see RFC1321.

" + "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

" }, "MessageAttributes":{ "shape":"MessageBodyAttributeMap", @@ -840,7 +840,7 @@ "documentation":"

Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

You can also append custom labels. For more information, see Message Attribute Data Types and Validation in the Amazon SQS Developer Guide.

" } }, - "documentation":"

The user-specified message attribute value. For string data types, the Value attribute has the same restrictions on the content as the message body. For more information, see SendMessage .

Name, type, value and the message body must not be empty or null. All parts of the message attribute, including Name, Type, and Value, are part of the message size restriction (256 KB or 262,144 bytes).

" + "documentation":"

The user-specified message attribute value. For string data types, the Value attribute has the same restrictions on the content as the message body. For more information, see SendMessage.

Name, type, value and the message body must not be empty or null. All parts of the message attribute, including Name, Type, and Value, are part of the message size restriction (256 KB or 262,144 bytes).

" }, "MessageBodyAttributeMap":{ "type":"map", @@ -965,7 +965,9 @@ "ReceiveMessageWaitTimeSeconds", "RedrivePolicy", "FifoQueue", - "ContentBasedDeduplication" + "ContentBasedDeduplication", + "KmsMasterKeyId", + "KmsDataKeyReusePeriodSeconds" ] }, "QueueDeletedRecently":{ @@ -1117,7 +1119,7 @@ }, "DelaySeconds":{ "shape":"Integer", - "documentation":"

The number of seconds for which a specific message is delayed. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. If you don't specify a value, the default value for the queue is applied.

When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

" + "documentation":"

The length of time, in seconds, for which a specific message is delayed. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. If you don't specify a value, the default value for the queue is applied.

When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

" }, "MessageAttributes":{ "shape":"MessageBodyAttributeMap", @@ -1126,11 +1128,11 @@ }, "MessageDeduplicationId":{ "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular MessageDeduplicationId is sent successfully, subsequent messages with the same MessageDeduplicationId are accepted successfully but aren't delivered. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide.

  • Every message must have a unique MessageDeduplicationId,

    • You may provide a MessageDeduplicationId explicitly.

    • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

    • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

    • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

  • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

  • You can also use ContentBasedDeduplication for messages with identical content to be treated as duplicates.

  • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

The MessageDeduplicationId is available to the recipient of the message (this can be useful for troubleshooting delivery issues).

If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.

" + "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular MessageDeduplicationId is sent successfully, subsequent messages with the same MessageDeduplicationId are accepted successfully but aren't delivered. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide.

  • Every message must have a unique MessageDeduplicationId,

    • You may provide a MessageDeduplicationId explicitly.

    • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

    • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

    • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

  • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

  • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

The MessageDeduplicationId is available to the recipient of the message (this can be useful for troubleshooting delivery issues).

If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.

" }, "MessageGroupId":{ "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single queue, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple readers can process the queue, but the session data of each user is processed in a FIFO fashion.

  • You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

  • ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't specify a MessageGroupId.

The length of MessageGroupId is 128 characters. Valid values are alphanumeric characters and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageGroupId, see Using the MessageGroupId Property in the Amazon Simple Queue Service Developer Guide.

" + "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single queue, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple readers can process the queue, but the session data of each user is processed in a FIFO fashion.

  • You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

  • ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't specify a MessageGroupId.

The length of MessageGroupId is 128 characters. Valid values are alphanumeric characters and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageGroupId, see Using the MessageGroupId Property in the Amazon Simple Queue Service Developer Guide.

MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

" } }, "documentation":"

Contains the details of a single Amazon SQS message along with an Id.

" @@ -1179,18 +1181,18 @@ }, "MD5OfMessageBody":{ "shape":"String", - "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information on MD5, see RFC1321.

" + "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

" }, "MD5OfMessageAttributes":{ "shape":"String", - "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information on MD5, see RFC1321.

" + "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

" }, "SequenceNumber":{ "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

A large, non-consecutive number that Amazon SQS assigns to each message.

The length of SequenceNumber is 128 bits. As SequenceNumber continues to increase for a particular MessageGroupId.

" + "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The large, non-consecutive number that Amazon SQS assigns to each message.

The length of SequenceNumber is 128 bits. As SequenceNumber continues to increase for a particular MessageGroupId.

" } }, - "documentation":"

Encloses a MessageId for a successfully-enqueued message in a SendMessageBatch .

" + "documentation":"

Encloses a MessageId for a successfully-enqueued message in a SendMessageBatch.

" }, "SendMessageBatchResultEntryList":{ "type":"list", @@ -1213,11 +1215,11 @@ }, "MessageBody":{ "shape":"String", - "documentation":"

The message to send. The maximum string size is 256 KB.

The following list shows the characters (in Unicode) that are allowed in your message, according to the W3C XML specification:

  • #x9

  • #xA

  • #xD

  • #x20 to #xD7FF

  • #xE000 to #xFFFD

  • #x10000 to #x10FFFF

For more information, see RFC1321. If you send any characters that aren't included in this list, your request is rejected.

" + "documentation":"

The message to send. The maximum string size is 256 KB.

A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

#x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF

Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

" }, "DelaySeconds":{ "shape":"Integer", - "documentation":"

The number of seconds to delay a specific message. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. If you don't specify a value, the default value for the queue applies.

When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

" + "documentation":"

The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. If you don't specify a value, the default value for the queue applies.

When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

" }, "MessageAttributes":{ "shape":"MessageBodyAttributeMap", @@ -1226,11 +1228,11 @@ }, "MessageDeduplicationId":{ "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any messages sent with the same MessageDeduplicationId are accepted successfully but aren't delivered during the 5-minute deduplication interval. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide.

  • Every message must have a unique MessageDeduplicationId,

    • You may provide a MessageDeduplicationId explicitly.

    • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

    • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

    • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

  • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

  • You can also use ContentBasedDeduplication for messages with identical content to be treated as duplicates.

  • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

The MessageDeduplicationId is available to the recipient of the message (this can be useful for troubleshooting delivery issues).

If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.

" + "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any messages sent with the same MessageDeduplicationId are accepted successfully but aren't delivered during the 5-minute deduplication interval. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide.

  • Every message must have a unique MessageDeduplicationId,

    • You may provide a MessageDeduplicationId explicitly.

    • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

    • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

    • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

  • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

  • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

The MessageDeduplicationId is available to the recipient of the message (this can be useful for troubleshooting delivery issues).

If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.

" }, "MessageGroupId":{ "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single queue, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple readers can process the queue, but the session data of each user is processed in a FIFO fashion.

  • You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

  • ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't specify a MessageGroupId.

The length of MessageGroupId is 128 characters. Valid values are alphanumeric characters and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageGroupId, see Using the MessageGroupId Property in the Amazon Simple Queue Service Developer Guide.

" + "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single queue, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple readers can process the queue, but the session data of each user is processed in a FIFO fashion.

  • You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

  • ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't specify a MessageGroupId.

The length of MessageGroupId is 128 characters. Valid values are alphanumeric characters and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageGroupId, see Using the MessageGroupId Property in the Amazon Simple Queue Service Developer Guide.

MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

" } }, "documentation":"

" @@ -1240,11 +1242,11 @@ "members":{ "MD5OfMessageBody":{ "shape":"String", - "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information on MD5, see RFC1321.

" + "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

" }, "MD5OfMessageAttributes":{ "shape":"String", - "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information on MD5, see RFC1321.

" + "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

" }, "MessageId":{ "shape":"String", @@ -1252,7 +1254,7 @@ }, "SequenceNumber":{ "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

A large, non-consecutive number that Amazon SQS assigns to each message.

The length of SequenceNumber is 128 bits. SequenceNumber continues to increase for a particular MessageGroupId.

" + "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The large, non-consecutive number that Amazon SQS assigns to each message.

The length of SequenceNumber is 128 bits. SequenceNumber continues to increase for a particular MessageGroupId.

" } }, "documentation":"

The MD5OfMessageBody and MessageId elements.

" @@ -1270,7 +1272,7 @@ }, "Attributes":{ "shape":"QueueAttributeMap", - "documentation":"

A map of attributes to set.

The following lists the names, descriptions, and values of the special request parameters that the SetQueueAttributes action uses:

  • DelaySeconds - The number of seconds for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 (15 minutes). The default is 0 (zero).

  • MaximumMessageSize - The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB).

  • MessageRetentionPeriod - The number of seconds for which Amazon SQS retains a message. Valid values: An integer representing seconds, from 60 (1 minute) to 1,209,600 (14 days). The default is 345,600 (4 days).

  • Policy - The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide.

  • ReceiveMessageWaitTimeSeconds - The number of seconds for which a ReceiveMessage action waits for a message to arrive. Valid values: an integer from 0 to 20 (seconds). The default is 0.

  • RedrivePolicy - The parameters for the dead letter queue functionality of the source queue. For more information about the redrive policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide.

    The dead letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead letter queue of a standard queue must also be a standard queue.

  • VisibilityTimeout - The visibility timeout for the queue. Valid values: an integer from 0 to 43,200 (12 hours). The default is 30. For more information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide.

The following attribute applies only to FIFO (first-in-first-out) queues:

  • ContentBasedDeduplication - Enables content-based deduplication. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide.

    • Every message must have a unique MessageDeduplicationId,

      • You may provide a MessageDeduplicationId explicitly.

      • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

      • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

    • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

    • You can also use ContentBasedDeduplication for messages with identical content to be treated as duplicates.

    • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

Any other valid special request parameters (such as the following) are ignored:

  • ApproximateNumberOfMessages

  • ApproximateNumberOfMessagesDelayed

  • ApproximateNumberOfMessagesNotVisible

  • CreatedTimestamp

  • LastModifiedTimestamp

  • QueueArn

", + "documentation":"

A map of attributes to set.

The following lists the names, descriptions, and values of the special request parameters that the SetQueueAttributes action uses:

  • DelaySeconds - The length of time, in seconds, for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 (15 minutes). The default is 0 (zero).

  • MaximumMessageSize - The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB).

  • MessageRetentionPeriod - The length of time, in seconds, for which Amazon SQS retains a message. Valid values: An integer representing seconds, from 60 (1 minute) to 1,209,600 (14 days). The default is 345,600 (4 days).

  • Policy - The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide.

  • ReceiveMessageWaitTimeSeconds - The length of time, in seconds, for which a ReceiveMessage action waits for a message to arrive. Valid values: an integer from 0 to 20 (seconds). The default is 0.

  • RedrivePolicy - The parameters for the dead letter queue functionality of the source queue. For more information about the redrive policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide.

    The dead letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead letter queue of a standard queue must also be a standard queue.

  • VisibilityTimeout - The visibility timeout for the queue. Valid values: an integer from 0 to 43,200 (12 hours). The default is 30. For more information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide.

The following attributes apply only to server-side-encryption:

  • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/aws/sqs. For more examples, see KeyId in the AWS Key Management Service API Reference.

  • KmsDataKeyReusePeriodSeconds - The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes). A shorter time period provides better security but results in more calls to KMS which incur charges after Free Tier. For more information, see How Does the Data Key Reuse Period Work?.

The following attribute applies only to FIFO (first-in-first-out) queues:

  • ContentBasedDeduplication - Enables content-based deduplication. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide.

    • Every message must have a unique MessageDeduplicationId,

      • You may provide a MessageDeduplicationId explicitly.

      • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

      • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

    • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

    • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

Any other valid special request parameters (such as the following) are ignored:

  • ApproximateNumberOfMessages

  • ApproximateNumberOfMessagesDelayed

  • ApproximateNumberOfMessagesNotVisible

  • CreatedTimestamp

  • LastModifiedTimestamp

  • QueueArn

", "locationName":"Attribute" } }, diff --git a/botocore/data/ssm/2014-11-06/examples-1.json b/botocore/data/ssm/2014-11-06/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/ssm/2014-11-06/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/ssm/2014-11-06/paginators-1.json b/botocore/data/ssm/2014-11-06/paginators-1.json index 1abbbeb0..bdf9afd2 100644 --- a/botocore/data/ssm/2014-11-06/paginators-1.json +++ b/botocore/data/ssm/2014-11-06/paginators-1.json @@ -23,6 +23,18 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "DocumentIdentifiers" + }, + "DescribeInstanceInformation": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "InstanceInformationList" + }, + "DescribeActivations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ActivationList" } } } diff --git a/botocore/data/ssm/2014-11-06/service-2.json b/botocore/data/ssm/2014-11-06/service-2.json index aba8ecce..5e246081 100644 --- a/botocore/data/ssm/2014-11-06/service-2.json +++ b/botocore/data/ssm/2014-11-06/service-2.json @@ -26,7 +26,7 @@ {"shape":"InternalServerError"}, {"shape":"TooManyTagsError"} ], - "documentation":"

Adds or overwrites one or more tags for the specified resource. Tags are metadata that you assign to your managed instances. Tags enable you to categorize your managed instances in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account's managed instances that helps you track each instance's owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test. Each resource can have a maximum of 10 tags.

We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and are interpreted strictly as a string of characters.

For more information about tags, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

" + "documentation":"

Adds or overwrites one or more tags for the specified resource. Tags are metadata that you assign to your managed instances, Maintenance Windows, or Parameter Store parameters. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account's managed instances that helps you track each instance's owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test.

Each resource can have a maximum of 10 tags.

We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and are interpreted strictly as a string of characters.

For more information about tags, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

" }, "CancelCommand":{ "name":"CancelCommand", @@ -55,7 +55,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Registers your on-premises server or virtual machine with Amazon EC2 so that you can manage these resources using Run Command. An on-premises server or virtual machine that has been registered with EC2 is called a managed instance. For more information about activations, see Setting Up Managed Instances (Linux) or Setting Up Managed Instances (Windows) in the Amazon EC2 User Guide.

" + "documentation":"

Registers your on-premises server or virtual machine with Amazon EC2 so that you can manage these resources using Run Command. An on-premises server or virtual machine that has been registered with EC2 is called a managed instance. For more information about activations, see Setting Up Systems Manager in Hybrid Environments.

" }, "CreateAssociation":{ "name":"CreateAssociation", @@ -78,7 +78,7 @@ {"shape":"InvalidTarget"}, {"shape":"InvalidSchedule"} ], - "documentation":"

Associates the specified SSM document with the specified instances or targets.

When you associate an SSM document with one or more instances using instance IDs or tags, the SSM agent running on the instance processes the document and configures the instance as specified.

If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

" + "documentation":"

Associates the specified Systems Manager document with the specified instances or targets.

When you associate a document with one or more instances using instance IDs or tags, the SSM Agent running on the instance processes the document and configures the instance as specified.

If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

" }, "CreateAssociationBatch":{ "name":"CreateAssociationBatch", @@ -101,7 +101,7 @@ {"shape":"InvalidTarget"}, {"shape":"InvalidSchedule"} ], - "documentation":"

Associates the specified SSM document with the specified instances or targets.

When you associate an SSM document with one or more instances using instance IDs or tags, the SSM agent running on the instance processes the document and configures the instance as specified.

If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

" + "documentation":"

Associates the specified Systems Manager document with the specified instances or targets.

When you associate a document with one or more instances using instance IDs or tags, the SSM Agent running on the instance processes the document and configures the instance as specified.

If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

" }, "CreateDocument":{ "name":"CreateDocument", @@ -119,7 +119,7 @@ {"shape":"DocumentLimitExceeded"}, {"shape":"InvalidDocumentSchemaVersion"} ], - "documentation":"

Creates an SSM document.

After you create an SSM document, you can use CreateAssociation to associate it with one or more running instances.

" + "documentation":"

Creates a Systems Manager document.

After you create a document, you can use CreateAssociation to associate it with one or more running instances.

" }, "CreateMaintenanceWindow":{ "name":"CreateMaintenanceWindow", @@ -181,7 +181,7 @@ {"shape":"InvalidInstanceId"}, {"shape":"TooManyUpdates"} ], - "documentation":"

Disassociates the specified SSM document from the specified instance.

When you disassociate an SSM document from an instance, it does not change the configuration of the instance. To change the configuration state of an instance after you disassociate a document, you must create a new document with the desired configuration and associate it with the instance.

" + "documentation":"

Disassociates the specified Systems Manager document from the specified instance.

When you disassociate a document from an instance, it does not change the configuration of the instance. To change the configuration state of an instance after you disassociate a document, you must create a new document with the desired configuration and associate it with the instance.

" }, "DeleteDocument":{ "name":"DeleteDocument", @@ -197,7 +197,7 @@ {"shape":"InvalidDocumentOperation"}, {"shape":"AssociatedInstances"} ], - "documentation":"

Deletes the SSM document and all instance associations to the document.

Before you delete the SSM document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document.

" + "documentation":"

Deletes the Systems Manager document and all instance associations to the document.

Before you delete the document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document.

" }, "DeleteMaintenanceWindow":{ "name":"DeleteMaintenanceWindow", @@ -226,6 +226,19 @@ ], "documentation":"

Delete a parameter from the system.

" }, + "DeleteParameters":{ + "name":"DeleteParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteParametersRequest"}, + "output":{"shape":"DeleteParametersResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

Delete a list of parameters.

" + }, "DeletePatchBaseline":{ "name":"DeletePatchBaseline", "http":{ @@ -252,7 +265,7 @@ {"shape":"InvalidInstanceId"}, {"shape":"InternalServerError"} ], - "documentation":"

Removes the server or virtual machine from the list of registered servers. You can reregister the instance again at any time. If you don’t plan to use Run Command on the server, we suggest uninstalling the SSM agent first.

" + "documentation":"

Removes the server or virtual machine from the list of registered servers. You can reregister the instance again at any time. If you don't plan to use Run Command on the server, we suggest uninstalling the SSM Agent first.

" }, "DeregisterPatchBaselineForPatchGroup":{ "name":"DeregisterPatchBaselineForPatchGroup", @@ -325,7 +338,7 @@ {"shape":"InvalidDocument"}, {"shape":"InvalidInstanceId"} ], - "documentation":"

Describes the associations for the specified SSM document or instance.

" + "documentation":"

Describes the associations for the specified Systems Manager document or instance.

" }, "DescribeAutomationExecutions":{ "name":"DescribeAutomationExecutions", @@ -382,7 +395,7 @@ {"shape":"InvalidDocument"}, {"shape":"InvalidPermissionType"} ], - "documentation":"

Describes the permissions for an SSM document. If you created the document, you are the owner. If a document is shared, it can either be shared privately (by specifying a user’s AWS account ID) or publicly (All).

" + "documentation":"

Describes the permissions for a Systems Manager document. If you created the document, you are the owner. If a document is shared, it can either be shared privately (by specifying a user's AWS account ID) or publicly (All).

" }, "DescribeEffectiveInstanceAssociations":{ "name":"DescribeEffectiveInstanceAssociations", @@ -444,7 +457,7 @@ {"shape":"InvalidInstanceInformationFilterValue"}, {"shape":"InvalidFilterKey"} ], - "documentation":"

Describes one or more of your instances. You can use this to get information about instances like the operating system platform, the SSM agent version (Linux), status etc. If you specify one or more instance IDs, it returns information for those instances. If you do not specify instance IDs, it returns information for all your instances. If you specify an instance ID that is not valid or an instance that you do not own, you receive an error.

" + "documentation":"

Describes one or more of your instances. You can use this to get information about instances like the operating system platform, the SSM Agent version (Linux), status etc. If you specify one or more instance IDs, it returns information for those instances. If you do not specify instance IDs, it returns information for all your instances. If you specify an instance ID that is not valid or an instance that you do not own, you receive an error.

" }, "DescribeInstancePatchStates":{ "name":"DescribeInstancePatchStates", @@ -583,6 +596,8 @@ "output":{"shape":"DescribeParametersResult"}, "errors":[ {"shape":"InternalServerError"}, + {"shape":"InvalidFilterKey"}, + {"shape":"InvalidFilterOption"}, {"shape":"InvalidFilterValue"}, {"shape":"InvalidNextToken"} ], @@ -774,6 +789,21 @@ ], "documentation":"

Retrieves the details about a specific task executed as part of a Maintenance Window execution.

" }, + "GetParameter":{ + "name":"GetParameter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetParameterRequest"}, + "output":{"shape":"GetParameterResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidKeyId"}, + {"shape":"ParameterNotFound"} + ], + "documentation":"

Get information about a parameter by using the parameter name.

" + }, "GetParameterHistory":{ "name":"GetParameterHistory", "http":{ @@ -785,7 +815,8 @@ "errors":[ {"shape":"InternalServerError"}, {"shape":"ParameterNotFound"}, - {"shape":"InvalidNextToken"} + {"shape":"InvalidNextToken"}, + {"shape":"InvalidKeyId"} ], "documentation":"

Query a list of all parameters used by the AWS account.

" }, @@ -798,9 +829,28 @@ "input":{"shape":"GetParametersRequest"}, "output":{"shape":"GetParametersResult"}, "errors":[ + {"shape":"InvalidKeyId"}, {"shape":"InternalServerError"} ], - "documentation":"

Get a list of parameters used by the AWS account.>

" + "documentation":"

Get details of a parameter.

" + }, + "GetParametersByPath":{ + "name":"GetParametersByPath", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetParametersByPathRequest"}, + "output":{"shape":"GetParametersByPathResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidFilterKey"}, + {"shape":"InvalidFilterOption"}, + {"shape":"InvalidFilterValue"}, + {"shape":"InvalidKeyId"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

Retrieve parameters in a specific hierarchy. For more information, see Using Parameter Hierarchies.

" }, "GetPatchBaseline":{ "name":"GetPatchBaseline", @@ -842,7 +892,7 @@ {"shape":"InternalServerError"}, {"shape":"InvalidNextToken"} ], - "documentation":"

Lists the associations for the specified SSM document or instance.

" + "documentation":"

Lists the associations for the specified Systems Manager document or instance.

" }, "ListCommandInvocations":{ "name":"ListCommandInvocations", @@ -955,7 +1005,7 @@ {"shape":"DocumentPermissionLimit"}, {"shape":"DocumentLimitExceeded"} ], - "documentation":"

Share a document publicly or privately. If you share a document privately, you must specify the AWS user account IDs for those people who can use the document. If you share a document publicly, you must specify All as the account ID.

" + "documentation":"

Shares a Systems Manager document publicly or privately. If you share a document privately, you must specify the AWS user account IDs for those people who can use the document. If you share a document publicly, you must specify All as the account ID.

" }, "PutInventory":{ "name":"PutInventory", @@ -992,9 +1042,13 @@ {"shape":"ParameterLimitExceeded"}, {"shape":"TooManyUpdates"}, {"shape":"ParameterAlreadyExists"}, + {"shape":"HierarchyLevelLimitExceededException"}, + {"shape":"HierarchyTypeMismatchException"}, + {"shape":"InvalidAllowedPatternException"}, + {"shape":"ParameterPatternMismatchException"}, {"shape":"UnsupportedParameterType"} ], - "documentation":"

Add one or more paramaters to the system.

" + "documentation":"

Add one or more parameters to the system.

" }, "RegisterDefaultPatchBaseline":{ "name":"RegisterDefaultPatchBaseline", @@ -1095,7 +1149,7 @@ {"shape":"InvalidRole"}, {"shape":"InvalidNotificationConfig"} ], - "documentation":"

Executes commands on one or more remote instances.

" + "documentation":"

Executes commands on one or more managed instances.

" }, "StartAutomationExecution":{ "name":"StartAutomationExecution", @@ -1144,7 +1198,9 @@ {"shape":"InvalidDocumentVersion"}, {"shape":"AssociationDoesNotExist"}, {"shape":"InvalidUpdate"}, - {"shape":"TooManyUpdates"} + {"shape":"TooManyUpdates"}, + {"shape":"InvalidDocument"}, + {"shape":"InvalidTarget"} ], "documentation":"

Updates an association. You can only update the document version, schedule, parameters, and Amazon S3 output of an association.

" }, @@ -1164,7 +1220,7 @@ {"shape":"StatusUnchanged"}, {"shape":"TooManyUpdates"} ], - "documentation":"

Updates the status of the SSM document associated with the specified instance.

" + "documentation":"

Updates the status of the Systems Manager document associated with the specified instance.

" }, "UpdateDocument":{ "name":"UpdateDocument", @@ -1349,6 +1405,11 @@ "type":"string", "max":10 }, + "AllowedPattern":{ + "type":"string", + "max":1024, + "min":0 + }, "AlreadyExistsException":{ "type":"structure", "members":{ @@ -1366,7 +1427,7 @@ "type":"structure", "members":{ }, - "documentation":"

You must disassociate an SSM document from all instances before you can delete it.

", + "documentation":"

You must disassociate a document from all instances before you can delete it.

", "exception":true }, "Association":{ @@ -1405,7 +1466,7 @@ "documentation":"

A cron expression that specifies a schedule when the association runs.

" } }, - "documentation":"

Describes an association of an SSM document and an instance.

" + "documentation":"

Describes an association of a Systems Manager document and an instance.

" }, "AssociationAlreadyExists":{ "type":"structure", @@ -1555,7 +1616,7 @@ "members":{ "Status":{ "shape":"StatusName", - "documentation":"

The status of the association. Status can be: Pending, Success, or Failed.

" + "documentation":"

The status of the association. Status can be: Pending, Success, or Failed.

" }, "DetailedStatus":{ "shape":"StatusName", @@ -1671,7 +1732,7 @@ }, "Parameters":{ "shape":"AutomationParameterMap", - "documentation":"

The key-value map of execution parameters, which were supplied when calling StartAutomationExecution.

" + "documentation":"

The key-value map of execution parameters, which were supplied when calling StartAutomationExecution.

" }, "Outputs":{ "shape":"AutomationParameterMap", @@ -1883,7 +1944,7 @@ }, "DocumentName":{ "shape":"DocumentName", - "documentation":"

The name of the SSM document requested for execution.

" + "documentation":"

The name of the document requested for execution.

" }, "Comment":{ "shape":"Comment", @@ -1895,7 +1956,7 @@ }, "Parameters":{ "shape":"Parameters", - "documentation":"

The parameter values to be inserted in the SSM document when executing the command.

" + "documentation":"

The parameter values to be inserted in the document when executing the command.

" }, "InstanceIds":{ "shape":"InstanceIdList", @@ -1903,7 +1964,7 @@ }, "Targets":{ "shape":"Targets", - "documentation":"

An array of search criteria that targets instances using a Key;Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

" + "documentation":"

An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

" }, "RequestedDateTime":{ "shape":"DateTime", @@ -1915,11 +1976,11 @@ }, "StatusDetails":{ "shape":"StatusDetails", - "documentation":"

A detailed status of the command execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Monitor Commands (Linux) or Monitor Commands (Windows). StatusDetails can be one of the following values:

  • Pending – The command has not been sent to any instances.

  • In Progress – The command has been sent to at least one instance but has not reached a final state on all instances.

  • Success – The command successfully executed on all invocations. This is a terminal state.

  • Delivery Timed Out – The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.

  • Execution Timed Out – The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.

  • Failed – The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.

  • Incomplete – The command was attempted on all instances and one or more invocations does not have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.

  • Canceled – The command was terminated before it was completed. This is a terminal state.

  • Rate Exceeded – The number of instances targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before executing it on any instance. This is a terminal state.

" + "documentation":"

A detailed status of the command execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to any instances.

  • In Progress: The command has been sent to at least one instance but has not reached a final state on all instances.

  • Success: The command successfully executed on all invocations. This is a terminal state.

  • Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.

  • Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.

  • Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.

  • Incomplete: The command was attempted on all instances and one or more invocations does not have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Rate Exceeded: The number of instances targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before executing it on any instance. This is a terminal state.

" }, "OutputS3Region":{ "shape":"S3Region", - "documentation":"

The region where the Amazon Simple Storage Service (Amazon S3) output bucket is located. The default value is the region where Run Command is being called.

" + "documentation":"

(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.

" }, "OutputS3BucketName":{ "shape":"S3BucketName", @@ -1930,12 +1991,12 @@ "documentation":"

The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.

" }, "MaxConcurrency":{ - "shape":"VelocityConstraint", - "documentation":"

The maximum number of instances that are allowed to execute the command at the same time. You can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Executing a Command Using Amazon EC2 Run Command (Linux) or Executing a Command Using Amazon EC2 Run Command (Windows).

" + "shape":"MaxConcurrency", + "documentation":"

The maximum number of instances that are allowed to execute the command at the same time. You can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Executing a Command Using Systems Manager Run Command.

" }, "MaxErrors":{ - "shape":"VelocityConstraint", - "documentation":"

The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 50. For more information about how to use MaxErrors, see Executing a Command Using Amazon EC2 Run Command (Linux) or Executing a Command Using Amazon EC2 Run Command (Windows).

" + "shape":"MaxErrors", + "documentation":"

The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 50. For more information about how to use MaxErrors, see Executing a Command Using Systems Manager Run Command.

" }, "TargetCount":{ "shape":"TargetCount", @@ -1943,11 +2004,11 @@ }, "CompletedCount":{ "shape":"CompletedCount", - "documentation":"

The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.

" + "documentation":"

The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.

" }, "ErrorCount":{ "shape":"ErrorCount", - "documentation":"

The number of targets for which the status is Failed or Execution Timed Out.

" + "documentation":"

The number of targets for which the status is Failed or Execution Timed Out.

" }, "ServiceRole":{ "shape":"ServiceRole", @@ -1969,11 +2030,11 @@ "members":{ "key":{ "shape":"CommandFilterKey", - "documentation":"

The name of the filter. For example, requested date and time.

" + "documentation":"

The name of the filter.

" }, "value":{ "shape":"CommandFilterValue", - "documentation":"

The filter value. For example: June 30, 2015.

" + "documentation":"

The filter value.

" } }, "documentation":"

Describes a command filter.

" @@ -2014,7 +2075,7 @@ }, "InstanceName":{ "shape":"InstanceTagName", - "documentation":"

The name of the invocation target. For Amazon EC2 instances this is the value for the aws:Name tag. For on-premises instances, this is the name of the instance.

" + "documentation":"

The name of the invocation target. For Amazon EC2 instances this is the value for the aws:Name tag. For on-premises instances, this is the name of the instance.

" }, "Comment":{ "shape":"Comment", @@ -2034,7 +2095,7 @@ }, "StatusDetails":{ "shape":"StatusDetails", - "documentation":"

A detailed status of the command execution for each invocation (each instance targeted by the command). StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Monitor Commands (Linux) or Monitor Commands (Windows). StatusDetails can be one of the following values:

  • Pending – The command has not been sent to the instance.

  • In Progress – The command has been sent to the instance but has not reached a terminal state.

  • Success – The execution of the command or plugin was successfully completed. This is a terminal state.

  • Delivery Timed Out – The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command’s MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out – Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed – The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled – The command was terminated before it was completed. This is a terminal state.

  • Undeliverable – The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command’s MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated – The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" + "documentation":"

A detailed status of the command execution for each invocation (each instance targeted by the command). StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Success: The execution of the command or plugin was successfully completed. This is a terminal state.

  • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out: Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed: The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" }, "TraceOutput":{ "shape":"InvocationTraceOutput", @@ -2042,11 +2103,11 @@ }, "StandardOutputUrl":{ "shape":"Url", - "documentation":"

The URL to the plugin’s StdOut file in Amazon S3, if the Amazon S3 bucket was defined for the parent command. For an invocation, StandardOutputUrl is populated if there is just one plugin defined for the command, and the Amazon S3 bucket was defined for the command.

" + "documentation":"

The URL to the plugin's StdOut file in Amazon S3, if the Amazon S3 bucket was defined for the parent command. For an invocation, StandardOutputUrl is populated if there is just one plugin defined for the command, and the Amazon S3 bucket was defined for the command.

" }, "StandardErrorUrl":{ "shape":"Url", - "documentation":"

The URL to the plugin’s StdErr file in Amazon S3, if the Amazon S3 bucket was defined for the parent command. For an invocation, StandardErrorUrl is populated if there is just one plugin defined for the command, and the Amazon S3 bucket was defined for the command.

" + "documentation":"

The URL to the plugin's StdErr file in Amazon S3, if the Amazon S3 bucket was defined for the parent command. For an invocation, StandardErrorUrl is populated if there is just one plugin defined for the command, and the Amazon S3 bucket was defined for the command.

" }, "CommandPlugins":{"shape":"CommandPluginList"}, "ServiceRole":{ @@ -2099,7 +2160,7 @@ }, "StatusDetails":{ "shape":"StatusDetails", - "documentation":"

A detailed status of the plugin execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Monitor Commands (Linux) or Monitor Commands (Windows). StatusDetails can be one of the following values:

  • Pending – The command has not been sent to the instance.

  • In Progress – The command has been sent to the instance but has not reached a terminal state.

  • Success – The execution of the command or plugin was successfully completed. This is a terminal state.

  • Delivery Timed Out – The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command’s MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out – Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed – The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled – The command was terminated before it was completed. This is a terminal state.

  • Undeliverable – The command can't be delivered to the instance. The instance might not exist, or it might not be responding. Undeliverable invocations don't count against the parent command’s MaxErrors limit, and they don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated – The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" + "documentation":"

A detailed status of the plugin execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Success: The execution of the command or plugin was successfully completed. This is a terminal state.

  • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out: Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed: The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Undeliverable: The command can't be delivered to the instance. The instance might not exist, or it might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit, and they don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" }, "ResponseCode":{ "shape":"ResponseCode", @@ -2127,15 +2188,15 @@ }, "OutputS3Region":{ "shape":"S3Region", - "documentation":"

The name of the region where the output is stored in Amazon S3.

" + "documentation":"

(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.

" }, "OutputS3BucketName":{ "shape":"S3BucketName", - "documentation":"

The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript

test_folder is the name of the Amazon S3 bucket;

ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

i-1234567876543 is the instance ID;

awsrunShellScript is the name of the plugin.

" + "documentation":"

The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript

test_folder is the name of the Amazon S3 bucket;

ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

i-1234567876543 is the instance ID;

awsrunShellScript is the name of the plugin.

" }, "OutputS3KeyPrefix":{ "shape":"S3KeyPrefix", - "documentation":"

The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript

test_folder is the name of the Amazon S3 bucket;

ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

i-1234567876543 is the instance ID;

awsrunShellScript is the name of the plugin.

" + "documentation":"

The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript

test_folder is the name of the Amazon S3 bucket;

ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

i-1234567876543 is the instance ID;

awsrunShellScript is the name of the plugin.

" } }, "documentation":"

Describes plugin details.

" @@ -2191,7 +2252,7 @@ "members":{ "Description":{ "shape":"ActivationDescription", - "documentation":"

A user-defined description of the resource that you want to register with Amazon EC2.

" + "documentation":"

A userdefined description of the resource that you want to register with Amazon EC2.

" }, "DefaultInstanceName":{ "shape":"DefaultInstanceName", @@ -2249,11 +2310,11 @@ "members":{ "Name":{ "shape":"DocumentName", - "documentation":"

The name of the configuration document.

" + "documentation":"

The name of the configuration document.

" }, "InstanceId":{ "shape":"InstanceId", - "documentation":"

The ID of the instance.

" + "documentation":"

The ID of the instance.

" }, "Parameters":{ "shape":"Parameters", @@ -2276,7 +2337,7 @@ "documentation":"

An Amazon S3 bucket where you want to store the results of this request.

" } }, - "documentation":"

Describes the association of an SSM document and an instance.

" + "documentation":"

Describes the association of a Systems Manager document and an instance.

" }, "CreateAssociationBatchResult":{ "type":"structure", @@ -2297,7 +2358,7 @@ "members":{ "Name":{ "shape":"DocumentName", - "documentation":"

The name of the SSM document.

" + "documentation":"

The name of the Systems Manager document.

" }, "DocumentVersion":{ "shape":"DocumentVersion", @@ -2313,15 +2374,15 @@ }, "Targets":{ "shape":"Targets", - "documentation":"

The targets (either instances or tags) for the association. Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

" + "documentation":"

The targets (either instances or tags) for the association.

" }, "ScheduleExpression":{ "shape":"ScheduleExpression", - "documentation":"

A cron expression when the association will be applied to the target(s). Supported expressions are every half, 1, 2, 4, 8 or 12 hour(s); every specified day and time of the week. For example: cron(0 0/30 * 1/1 * ? *) to run every thirty minutes; cron(0 0 0/4 1/1 * ? *) to run every four hours; and cron(0 0 10 ? * SUN *) to run every Sunday at 10 a.m.

" + "documentation":"

A cron expression when the association will be applied to the target(s).

" }, "OutputLocation":{ "shape":"InstanceAssociationOutputLocation", - "documentation":"

An Amazon S3 bucket where you want to store the output details of the request. For example:

\"{ \\\"S3Location\\\": { \\\"OutputS3Region\\\": \\\"<region>\\\", \\\"OutputS3BucketName\\\": \\\"bucket name\\\", \\\"OutputS3KeyPrefix\\\": \\\"folder name\\\" } }\"

" + "documentation":"

An Amazon S3 bucket where you want to store the output details of the request.

" } } }, @@ -2347,7 +2408,7 @@ }, "Name":{ "shape":"DocumentName", - "documentation":"

A name for the SSM document.

" + "documentation":"

A name for the Systems Manager document.

" }, "DocumentType":{ "shape":"DocumentType", @@ -2360,7 +2421,7 @@ "members":{ "DocumentDescription":{ "shape":"DocumentDescription", - "documentation":"

Information about the SSM document.

" + "documentation":"

Information about the Systems Manager document.

" } } }, @@ -2440,7 +2501,7 @@ }, "ClientToken":{ "shape":"ClientToken", - "documentation":"

Caller-provided idempotency token.

", + "documentation":"

User-provided idempotency token.

", "idempotencyToken":true } } @@ -2491,7 +2552,7 @@ "members":{ "Name":{ "shape":"DocumentName", - "documentation":"

The name of the SSM document.

" + "documentation":"

The name of the Systems Manager document.

" }, "InstanceId":{ "shape":"InstanceId", @@ -2514,7 +2575,7 @@ "members":{ "Name":{ "shape":"DocumentName", - "documentation":"

The name of the SSM document.

" + "documentation":"

The name of the document.

" } } }, @@ -2557,6 +2618,29 @@ "members":{ } }, + "DeleteParametersRequest":{ + "type":"structure", + "required":["Names"], + "members":{ + "Names":{ + "shape":"ParameterNameList", + "documentation":"

The names of the parameters to delete.

" + } + } + }, + "DeleteParametersResult":{ + "type":"structure", + "members":{ + "DeletedParameters":{ + "shape":"ParameterNameList", + "documentation":"

The names of the deleted parameters.

" + }, + "InvalidParameters":{ + "shape":"ParameterNameList", + "documentation":"

The names of parameters that weren't deleted because the parameters are not valid.

" + } + } + }, "DeletePatchBaselineRequest":{ "type":"structure", "required":["BaselineId"], @@ -2734,7 +2818,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" + "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" } } }, @@ -3016,7 +3100,7 @@ }, "Filters":{ "shape":"InstancePatchStateFilterList", - "documentation":"

Each entry in the array is a structure containing:

Key (string 1 ≤ length ≤ 200)

Values (array containing a single string)

Type (string “Equal”, “NotEqual”, “LessThan”, “GreaterThan”)

" + "documentation":"

Each entry in the array is a structure containing:

Key (string between 1 and 200 characters)

Values (array containing a single string)

Type (string \"Equal\", \"NotEqual\", \"LessThan\", \"GreaterThan\")

" }, "NextToken":{ "shape":"NextToken", @@ -3084,7 +3168,7 @@ }, "Filters":{ "shape":"PatchOrchestratorFilterList", - "documentation":"

Each entry in the array is a structure containing:

Key (string, 1 ≤ length ≤ 128)

Values (array of strings 1 ≤ length ≤ 256)

" + "documentation":"

Each entry in the array is a structure containing:

Key (string, between 1 and 128 characters)

Values (array of strings, each string between 1 and 256 characters)

" }, "NextToken":{ "shape":"NextToken", @@ -3102,7 +3186,7 @@ "members":{ "Patches":{ "shape":"PatchComplianceDataList", - "documentation":"

Each entry in the array is a structure containing:

Title (string)

KBId (string)

Classification (string)

Severity (string)

State (string – “INSTALLED”, “INSTALLED_OTHER”, “MISSING”, “NOT_APPLICABLE”, “FAILED”)

InstalledTime (DateTime)

InstalledBy (string)

" + "documentation":"

Each entry in the array is a structure containing:

Title (string)

KBId (string)

Classification (string)

Severity (string)

State (string: \"INSTALLED\", \"INSTALLED OTHER\", \"MISSING\", \"NOT APPLICABLE\", \"FAILED\")

InstalledTime (DateTime)

InstalledBy (string)

" }, "NextToken":{ "shape":"NextToken", @@ -3199,7 +3283,7 @@ }, "Filters":{ "shape":"MaintenanceWindowFilterList", - "documentation":"

Each entry in the array is a structure containing:

Key (string, 1 ≤ length ≤ 128)

Values (array of strings 1 ≤ length ≤ 256)

The supported Keys are ExecutedBefore and ExecutedAfter with the value being a date/time string such as 2016-11-04T05:00:00Z.

" + "documentation":"

Each entry in the array is a structure containing:

Key (string, between 1 and 128 characters)

Values (array of strings, each string is between 1 and 256 characters)

The supported Keys are ExecutedBefore and ExecutedAfter with the value being a date/time string such as 2016-11-04T05:00:00Z.

" }, "MaxResults":{ "shape":"MaintenanceWindowMaxResults", @@ -3235,7 +3319,7 @@ }, "Filters":{ "shape":"MaintenanceWindowFilterList", - "documentation":"

Optional filters that can be used to narrow down the scope of the returned window targets. The supported filter keys are Type, WindowTargetId and OwnerInformation.

" + "documentation":"

Optional filters that can be used to narrow down the scope of the returned window targets. The supported filter keys are Type, WindowTargetId and OwnerInformation.

" }, "MaxResults":{ "shape":"MaintenanceWindowMaxResults", @@ -3271,7 +3355,7 @@ }, "Filters":{ "shape":"MaintenanceWindowFilterList", - "documentation":"

Optional filters used to narrow down the scope of the returned tasks. The supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType.

" + "documentation":"

Optional filters used to narrow down the scope of the returned tasks. The supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType.

" }, "MaxResults":{ "shape":"MaintenanceWindowMaxResults", @@ -3302,7 +3386,7 @@ "members":{ "Filters":{ "shape":"MaintenanceWindowFilterList", - "documentation":"

Optional filters used to narrow down the scope of the returned Maintenance Windows. Supported filter keys are Name and Enabled.

" + "documentation":"

Optional filters used to narrow down the scope of the returned Maintenance Windows. Supported filter keys are Name and Enabled.

" }, "MaxResults":{ "shape":"MaintenanceWindowMaxResults", @@ -3335,6 +3419,10 @@ "shape":"ParametersFilterList", "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" }, + "ParameterFilters":{ + "shape":"ParameterStringFilterList", + "documentation":"

Filters to limit the request results.

" + }, "MaxResults":{ "shape":"MaxResults", "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", @@ -3364,7 +3452,7 @@ "members":{ "Filters":{ "shape":"PatchOrchestratorFilterList", - "documentation":"

Each element in the array is a structure containing:

Key: (string, “NAME_PREFIX” or “OWNER”)

Value: (array of strings, exactly 1 entry, 1 ≤ length ≤ 255)

" + "documentation":"

Each element in the array is a structure containing:

Key: (string, \"NAME_PREFIX\" or \"OWNER\")

Value: (array of strings, exactly 1 entry, between 1 and 255 characters)

" }, "MaxResults":{ "shape":"PatchBaselineMaxResults", @@ -3413,7 +3501,7 @@ }, "InstancesWithInstalledOtherPatches":{ "shape":"Integer", - "documentation":"

The number of instances with patches installed that aren’t defined in the patch baseline.

" + "documentation":"

The number of instances with patches installed that aren't defined in the patch baseline.

" }, "InstancesWithMissingPatches":{ "shape":"Integer", @@ -3425,7 +3513,7 @@ }, "InstancesWithNotApplicablePatches":{ "shape":"Integer", - "documentation":"

The number of instances with patches that aren’t applicable.

" + "documentation":"

The number of instances with patches that aren't applicable.

" } } }, @@ -3448,7 +3536,7 @@ "members":{ "Mappings":{ "shape":"PatchGroupPatchBaselineMappingList", - "documentation":"

Each entry in the array contains:

PatchGroup: string (1 ≤ length ≤ 256, Regex: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$)

PatchBaselineIdentity: A PatchBaselineIdentity element.

" + "documentation":"

Each entry in the array contains:

PatchGroup: string (between 1 and 256 characters, Regex: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$)

PatchBaselineIdentity: A PatchBaselineIdentity element.

" }, "NextToken":{ "shape":"NextToken", @@ -3466,7 +3554,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The specified SSM document already exists.

", + "documentation":"

The specified document already exists.

", "exception":true }, "DocumentContent":{ @@ -3512,7 +3600,7 @@ }, "CreatedDate":{ "shape":"DateTime", - "documentation":"

The date when the SSM document was created.

" + "documentation":"

The date when the document was created.

" }, "Status":{ "shape":"DocumentStatus", @@ -3524,7 +3612,7 @@ }, "Description":{ "shape":"DescriptionInDocument", - "documentation":"

A description of the document.

" + "documentation":"

A description of the document.

" }, "Parameters":{ "shape":"DocumentParameterList", @@ -3551,7 +3639,7 @@ "documentation":"

The default version.

" } }, - "documentation":"

Describes an SSM document.

" + "documentation":"

Describes an SSM document.

" }, "DocumentFilter":{ "type":"structure", @@ -3662,7 +3750,7 @@ }, "Type":{ "shape":"DocumentParameterType", - "documentation":"

The type of parameter. The type can be either “String” or “StringList”.

" + "documentation":"

The type of parameter. The type can be either String or StringList.

" }, "Description":{ "shape":"DocumentParameterDescrption", @@ -3673,7 +3761,7 @@ "documentation":"

If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.

" } }, - "documentation":"

Parameters specified in the SSM document that execute on the server when the command is run.

" + "documentation":"

Parameters specified in a System Manager document that execute on the server when the command is run.

" }, "DocumentParameterDefaultValue":{"type":"string"}, "DocumentParameterDescrption":{"type":"string"}, @@ -3774,7 +3862,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

Error returned when the ID specified for a resource (e.g. a Maintenance Window) doesn’t exist.

", + "documentation":"

Error returned when the ID specified for a resource (e.g. a Maintenance Window) doesn't exist.

", "exception":true }, "DuplicateDocumentContent":{ @@ -3842,6 +3930,24 @@ "locationName":"FailedCreateAssociationEntry" } }, + "FailureDetails":{ + "type":"structure", + "members":{ + "FailureStage":{ + "shape":"String", + "documentation":"

The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.

" + }, + "FailureType":{ + "shape":"String", + "documentation":"

The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.

" + }, + "Details":{ + "shape":"AutomationParameterMap", + "documentation":"

Detailed information about the Automation step failure.

" + } + }, + "documentation":"

Information about an Automation failure.

" + }, "Fault":{ "type":"string", "enum":[ @@ -3856,7 +3962,7 @@ "members":{ "AutomationExecutionId":{ "shape":"AutomationExecutionId", - "documentation":"

The unique identifier for an existing automation execution to examine. The execution ID is returned by StartAutomationExecution when the execution of an Automation document is initiated.

" + "documentation":"

The unique identifier for an existing automation execution to examine. The execution ID is returned by StartAutomationExecution when the execution of an Automation document is initiated.

" } } }, @@ -3886,7 +3992,7 @@ }, "PluginName":{ "shape":"CommandPluginName", - "documentation":"

(Optional) The name of the plugin for which you want detailed results. If the SSM document contains only one plugin, the name can be omitted and the details will be returned.

" + "documentation":"

(Optional) The name of the plugin for which you want detailed results. If the document contains only one plugin, the name can be omitted and the details will be returned.

" } } }, @@ -3907,7 +4013,7 @@ }, "DocumentName":{ "shape":"DocumentName", - "documentation":"

The name of the SSM document that was executed. For example, AWS-RunShellScript is an SSM document.

" + "documentation":"

The name of the document that was executed. For example, AWS-RunShellScript.

" }, "PluginName":{ "shape":"CommandPluginName", @@ -3915,31 +4021,31 @@ }, "ResponseCode":{ "shape":"ResponseCode", - "documentation":"

The error level response code for the plugin script. If the response code is -1, then the command has not started executing on the instance, or it was not received by the instance.

" + "documentation":"

The error level response code for the plugin script. If the response code is -1, then the command has not started executing on the instance, or it was not received by the instance.

" }, "ExecutionStartDateTime":{ "shape":"StringDateTime", - "documentation":"

The date and time the plugin started executing. Date and time are written in ISO 8601 format. For example, August 28, 2016 is represented as 2016-08-28. If the plugin has not started to execute, the string is empty.

" + "documentation":"

The date and time the plugin started executing. Date and time are written in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI command uses the InvokedBefore filter.

aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z

If the plugin has not started to execute, the string is empty.

" }, "ExecutionElapsedTime":{ "shape":"StringDateTime", - "documentation":"

Duration since ExecutionStartDateTime.

" + "documentation":"

Duration since ExecutionStartDateTime.

" }, "ExecutionEndDateTime":{ "shape":"StringDateTime", - "documentation":"

The date and time the plugin was finished executing. Date and time are written in ISO 8601 format. For example, August 28, 2016 is represented as 2016-08-28. If the plugin has not started to execute, the string is empty.

" + "documentation":"

The date and time the plugin was finished executing. Date and time are written in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI command uses the InvokedAfter filter.

aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z

If the plugin has not started to execute, the string is empty.

" }, "Status":{ "shape":"CommandInvocationStatus", - "documentation":"

The status of the parent command for this invocation. This status can be different than StatusDetails.

" + "documentation":"

The status of the parent command for this invocation. This status can be different than StatusDetails.

" }, "StatusDetails":{ "shape":"StatusDetails", - "documentation":"

A detailed status of the command execution for an invocation. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Monitor Commands (Linux) or Monitor Commands (Windows). StatusDetails can be one of the following values:

  • Pending – The command has not been sent to the instance.

  • In Progress – The command has been sent to the instance but has not reached a terminal state.

  • Delayed – The system attempted to send the command to the target, but the target was not available. The instance might not be available because of network issues, the instance was stopped, etc. The system will try to deliver the command again.

  • Success – The command or plugin was executed successfully. This is a terminal state.

  • Delivery Timed Out – The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command’s MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out – The command started to execute on the instance, but the execution was not complete before the timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed – The command wasn't executed successfully on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled – The command was terminated before it was completed. This is a terminal state.

  • Undeliverable – The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command’s MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated – The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" + "documentation":"

A detailed status of the command execution for an invocation. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Run Command Status. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Delayed: The system attempted to send the command to the target, but the target was not available. The instance might not be available because of network issues, the instance was stopped, etc. The system will try to deliver the command again.

  • Success: The command or plugin was executed successfully. This is a terminal state.

  • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out: The command started to execute on the instance, but the execution was not complete before the timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed: The command wasn't executed successfully on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" }, "StandardOutputContent":{ "shape":"StandardOutputContent", - "documentation":"

The first 24,000 characters written by the plugin to stdout. If the command has not finished executing, if ExecutionStatus is neither Succeeded nor Failed, then this string is empty.

" + "documentation":"

The first 24,000 characters written by the plugin to stdout. If the command has not finished executing, if ExecutionStatus is neither Succeeded nor Failed, then this string is empty.

" }, "StandardOutputUrl":{ "shape":"Url", @@ -4190,18 +4296,18 @@ }, "TaskParameters":{ "shape":"MaintenanceWindowTaskParametersList", - "documentation":"

The parameters passed to the task when it was executed. The map has the following format:

Key: string, 1 ≤ length ≤ 255

Value: an array of strings where each string 1 ≤ length ≤ 255

" + "documentation":"

The parameters passed to the task when it was executed. The map has the following format:

Key: string, between 1 and 255 characters

Value: an array of strings, each string is between 1 and 255 characters

" }, "Priority":{ "shape":"MaintenanceWindowTaskPriority", "documentation":"

The priority of the task.

" }, "MaxConcurrency":{ - "shape":"VelocityConstraint", + "shape":"MaxConcurrency", "documentation":"

The defined maximum number of task executions that could be run in parallel.

" }, "MaxErrors":{ - "shape":"VelocityConstraint", + "shape":"MaxErrors", "documentation":"

The defined maximum number of task execution errors allowed before scheduling of the task execution would have been stopped.

" }, "Status":{ @@ -4310,6 +4416,81 @@ } } }, + "GetParameterRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"PSParameterName", + "documentation":"

The name of the parameter you want to query.

" + }, + "WithDecryption":{ + "shape":"Boolean", + "documentation":"

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

", + "box":true + } + } + }, + "GetParameterResult":{ + "type":"structure", + "members":{ + "Parameter":{ + "shape":"Parameter", + "documentation":"

Information about a parameter.

" + } + } + }, + "GetParametersByPathMaxResults":{ + "type":"integer", + "max":10, + "min":1 + }, + "GetParametersByPathRequest":{ + "type":"structure", + "required":["Path"], + "members":{ + "Path":{ + "shape":"PSParameterName", + "documentation":"

The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A hierarchy can have a maximum of five levels. Examples: /Environment/Test/DBString003

/Finance/Prod/IAD/OS/WinServ2016/license15

" + }, + "Recursive":{ + "shape":"Boolean", + "documentation":"

Retrieve all parameters within a hierarchy.

", + "box":true + }, + "ParameterFilters":{ + "shape":"ParameterStringFilterList", + "documentation":"

Filters to limit the request results.

" + }, + "WithDecryption":{ + "shape":"Boolean", + "documentation":"

Retrieve all parameters in a hierarchy with their value decrypted.

", + "box":true + }, + "MaxResults":{ + "shape":"GetParametersByPathMaxResults", + "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token to start the list. Use this token to get the next set of results.

" + } + } + }, + "GetParametersByPathResult":{ + "type":"structure", + "members":{ + "Parameters":{ + "shape":"ParameterList", + "documentation":"

A list of parameters found in the specified hierarchy.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" + } + } + }, "GetParametersRequest":{ "type":"structure", "required":["Names"], @@ -4330,7 +4511,7 @@ "members":{ "Parameters":{ "shape":"ParameterList", - "documentation":"

A list of parameters used by the AWS account.

" + "documentation":"

A list of details for a parameter.

" }, "InvalidParameters":{ "shape":"ParameterNameList", @@ -4416,6 +4597,28 @@ } } }, + "HierarchyLevelLimitExceededException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

A hierarchy can have a maximum of five levels. For example:

/Finance/Prod/IAD/OS/WinServ2016/license15

For more information, see Develop a Parameter Hierarchy.

" + } + }, + "documentation":"

A hierarchy can have a maximum of five levels. For example:

/Finance/Prod/IAD/OS/WinServ2016/license15

For more information, see Develop a Parameter Hierarchy.

", + "exception":true + }, + "HierarchyTypeMismatchException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

Parameter Store does not support changing a parameter type in a hierarchy. For example, you can't change a parameter from a String type to a SecureString type. You must create a new, unique parameter.

" + } + }, + "documentation":"

Parameter Store does not support changing a parameter type in a hierarchy. For example, you can't change a parameter from a String type to a SecureString type. You must create a new, unique parameter.

", + "exception":true + }, "IPAddress":{ "type":"string", "max":46, @@ -4430,7 +4633,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

Error returned when an idempotent operation is retried and the parameters don’t match the original call to the API with the same idempotency token.

", + "documentation":"

Error returned when an idempotent operation is retried and the parameters don't match the original call to the API with the same idempotency token.

", "exception":true }, "InstanceAggregatedAssociationOverview":{ @@ -4569,7 +4772,7 @@ }, "PingStatus":{ "shape":"PingStatus", - "documentation":"

Connection status of the SSM agent.

" + "documentation":"

Connection status of the SSM Agent.

" }, "LastPingDateTime":{ "shape":"DateTime", @@ -4578,11 +4781,11 @@ }, "AgentVersion":{ "shape":"Version", - "documentation":"

The version of the SSM agent running on your Linux instance.

" + "documentation":"

The version of the SSM Agent running on your Linux instance.

" }, "IsLatestVersion":{ "shape":"Boolean", - "documentation":"

Indicates whether latest version of the SSM agent is running on your instance.

", + "documentation":"

Indicates whether latest version of the SSM Agent is running on your instance.

", "box":true }, "PlatformType":{ @@ -4713,7 +4916,7 @@ "members":{ "Key":{ "shape":"InstanceInformationStringFilterKey", - "documentation":"

The filter key name to describe your instances. For example:

\"InstanceIds\"|\"AgentVersion\"|\"PingStatus\"|\"PlatformTypes\"|\"ActivationIds\"|\"IamRole\"|\"ResourceType\"|”AssociationStatus”|”Tag Key”

" + "documentation":"

The filter key name to describe your instances. For example:

\"InstanceIds\"|\"AgentVersion\"|\"PingStatus\"|\"PlatformTypes\"|\"ActivationIds\"|\"IamRole\"|\"ResourceType\"|\"AssociationStatus\"|\"Tag Key\"

" }, "Values":{ "shape":"InstanceInformationFilterValueSet", @@ -4775,7 +4978,7 @@ }, "MissingCount":{ "shape":"PatchMissingCount", - "documentation":"

The number of patches from the patch baseline that are applicable for the instance but aren’t currently installed.

" + "documentation":"

The number of patches from the patch baseline that are applicable for the instance but aren't currently installed.

" }, "FailedCount":{ "shape":"PatchFailedCount", @@ -4783,7 +4986,7 @@ }, "NotApplicableCount":{ "shape":"PatchNotApplicableCount", - "documentation":"

The number of patches from the patch baseline that aren’t applicable for the instance and hence aren’t installed on the instance.

" + "documentation":"

The number of patches from the patch baseline that aren't applicable for the instance and hence aren't installed on the instance.

" }, "OperationStartTime":{ "shape":"PatchOperationStartTime", @@ -4889,6 +5092,17 @@ "documentation":"

The activation ID is not valid. Verify the you entered the correct ActivationId or ActivationCode and try again.

", "exception":true }, + "InvalidAllowedPatternException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

The request does not meet the regular expression requirement.

" + } + }, + "documentation":"

The request does not meet the regular expression requirement.

", + "exception":true + }, "InvalidAutomationExecutionParametersException":{ "type":"structure", "members":{ @@ -4908,7 +5122,7 @@ "members":{ "Message":{ "shape":"String", - "documentation":"

The SSM document does not exist or the document is not available to the user. This exception can be issued by CreateAssociation, CreateAssociationBatch, DeleteAssociation, DeleteDocument, DescribeAssociation, DescribeDocument, GetDocument, SendCommand, or UpdateAssociationStatus.

" + "documentation":"

The document does not exist or the document is not available to the user. This exception can be issued by CreateAssociation, CreateAssociationBatch, DeleteAssociation, DeleteDocument, DescribeAssociation, DescribeDocument, GetDocument, SendCommand, or UpdateAssociationStatus.

" } }, "documentation":"

The specified document does not exist.

", @@ -4922,7 +5136,7 @@ "documentation":"

A description of the validation error.

" } }, - "documentation":"

The content for the SSM document is not valid.

", + "documentation":"

The content for the document is not valid.

", "exception":true }, "InvalidDocumentOperation":{ @@ -4964,6 +5178,17 @@ "documentation":"

The specified key is not valid.

", "exception":true }, + "InvalidFilterOption":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

The specified filter option is not valid. Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.

" + } + }, + "documentation":"

The specified filter option is not valid. Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.

", + "exception":true + }, "InvalidFilterValue":{ "type":"structure", "members":{ @@ -4977,7 +5202,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The following problems can cause this exception:

You do not have permission to access the instance.

The SSM agent is not running. On managed instances and Linux instances, verify that the SSM agent is running. On EC2 Windows instances, verify that the EC2Config service is running.

The SSM agent or EC2Config service is not registered to the SSM endpoint. Try reinstalling the SSM agent or EC2Config service.

The instance is not in valid state. Valid states are: Running, Pending, Stopped, Stopping. Invalid states are: Shutting-down and Terminated.

", + "documentation":"

The following problems can cause this exception:

You do not have permission to access the instance.

The SSM Agent is not running. On managed instances and Linux instances, verify that the SSM Agent is running. On EC2 Windows instances, verify that the EC2Config service is running.

The SSM Agent or EC2Config service is not registered to the SSM endpoint. Try reinstalling the SSM Agent or EC2Config service.

The instance is not in valid state. Valid states are: Running, Pending, Stopped, Stopping. Invalid states are: Shutting-down and Terminated.

", "exception":true }, "InvalidInstanceInformationFilterValue":{ @@ -5008,6 +5233,7 @@ "InvalidNextToken":{ "type":"structure", "members":{ + "Message":{"shape":"String"} }, "documentation":"

The specified token is not valid.

", "exception":true @@ -5084,7 +5310,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The role name can't contain invalid characters. Also verify that you specified an IAM role for notifications that includes the required trust policy. For information about configuring the IAM role for Run Command notifications, see Getting Amazon SNS Notifications When a Command Changes Status in the Amazon Elastic Compute Cloud User Guide .

", + "documentation":"

The role name can't contain invalid characters. Also verify that you specified an IAM role for notifications that includes the required trust policy. For information about configuring the IAM role for Run Command notifications, see Configuring Amazon SNS Notifications for Run Command in the Amazon EC2 Systems Manager User Guide.

", "exception":true }, "InvalidSchedule":{ @@ -5182,7 +5408,7 @@ "members":{ "TypeName":{ "shape":"InventoryItemTypeName", - "documentation":"

The name of the inventory type. Default inventory item type names start with AWS. Custom inventory type names will start with Custom. Default inventory item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and AWS:WindowsUpdate.

" + "documentation":"

The name of the inventory type. Default inventory item type names start with AWS. Custom inventory type names will start with Custom. Default inventory item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and AWS:WindowsUpdate.

" }, "SchemaVersion":{ "shape":"InventoryItemSchemaVersion", @@ -5194,7 +5420,7 @@ }, "ContentHash":{ "shape":"InventoryItemContentHash", - "documentation":"

MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API does not update the inventory item type contents if the MD5 hash has not changed since last update.

" + "documentation":"

MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API does not update the inventory item type contents if the MD5 hash has not changed since last update.

" }, "Content":{ "shape":"InventoryItemEntryList", @@ -5270,7 +5496,7 @@ "members":{ "TypeName":{ "shape":"InventoryItemTypeName", - "documentation":"

The name of the inventory type. Default inventory item type names start with AWS. Custom inventory type names will start with Custom. Default inventory item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and AWS:WindowsUpdate.

" + "documentation":"

The name of the inventory type. Default inventory item type names start with AWS. Custom inventory type names will start with Custom. Default inventory item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and AWS:WindowsUpdate.

" }, "Version":{ "shape":"InventoryItemSchemaVersion", @@ -5356,7 +5582,7 @@ }, "ContentHash":{ "shape":"InventoryItemContentHash", - "documentation":"

MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API does not update the inventory item type contents if the MD5 hash has not changed since last update.

" + "documentation":"

MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API does not update the inventory item type contents if the MD5 hash has not changed since last update.

" }, "Content":{ "shape":"InventoryItemEntryList", @@ -6040,11 +6266,11 @@ "documentation":"

The role that should be assumed when executing the task

" }, "MaxConcurrency":{ - "shape":"VelocityConstraint", + "shape":"MaxConcurrency", "documentation":"

The maximum number of targets this task can be run for in parallel.

" }, "MaxErrors":{ - "shape":"VelocityConstraint", + "shape":"MaxErrors", "documentation":"

The maximum number of errors allowed before this task stops being scheduled.

" } }, @@ -6119,14 +6345,26 @@ "type":"string", "pattern":"^mi-[0-9a-f]{17}$" }, + "MaxConcurrency":{ + "type":"string", + "max":7, + "min":1, + "pattern":"^([1-9][0-9]*|[1-9][0-9]%|[1-9]%|100%)$" + }, "MaxDocumentSizeExceeded":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, - "documentation":"

The size limit of an SSM document is 64 KB.

", + "documentation":"

The size limit of a document is 64 KB.

", "exception":true }, + "MaxErrors":{ + "type":"string", + "max":7, + "min":1, + "pattern":"^([1-9][0-9]*|[0]|[1-9][0-9]%|[0-9]%|100%)$" + }, "MaxResults":{ "type":"integer", "max":50, @@ -6183,7 +6421,7 @@ }, "NotificationEvents":{ "shape":"NotificationEventList", - "documentation":"

The different events for which you can receive notifications. These events include the following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about these events, see Monitoring Commands in the Amazon Elastic Compute Cloud User Guide .

" + "documentation":"

The different events for which you can receive notifications. These events include the following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about these events, see Setting Up Events and Notifications in the Amazon EC2 Systems Manager User Guide.

" }, "NotificationType":{ "shape":"NotificationType", @@ -6223,14 +6461,12 @@ "PSParameterName":{ "type":"string", "max":1024, - "min":1, - "pattern":"^(?!^([aA][wW][sS]|[sS][sS][mM]))(?=^[a-zA-Z0-9_.-]*$).*$" + "min":1 }, "PSParameterValue":{ "type":"string", - "max":1024, - "min":1, - "pattern":"^(?:(?!(\\{\\{.*\\}\\})).)*$" + "max":4096, + "min":1 }, "Parameter":{ "type":"structure", @@ -6293,6 +6529,10 @@ "Value":{ "shape":"PSParameterValue", "documentation":"

The parameter value.

" + }, + "AllowedPattern":{ + "shape":"AllowedPattern", + "documentation":"

Parameter names can include the following letters and symbols.

a-zA-Z0-9_.-

" } }, "documentation":"

Information about parameter usage.

" @@ -6345,6 +6585,10 @@ "Description":{ "shape":"ParameterDescription", "documentation":"

Description of the parameter actions.

" + }, + "AllowedPattern":{ + "shape":"AllowedPattern", + "documentation":"

A parameter name can include only the following letters and symbols.

a-zA-Z0-9_.-

" } }, "documentation":"

Metada includes information like the ARN of the last user and the date/time the parameter was last used.

" @@ -6368,6 +6612,62 @@ "documentation":"

The parameter could not be found. Verify the name and try again.

", "exception":true }, + "ParameterPatternMismatchException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

The parameter name is not valid.

" + } + }, + "documentation":"

The parameter name is not valid.

", + "exception":true + }, + "ParameterStringFilter":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"ParameterStringFilterKey", + "documentation":"

The name of the filter.

" + }, + "Option":{ + "shape":"ParameterStringQueryOption", + "documentation":"

Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.

" + }, + "Values":{ + "shape":"ParameterStringFilterValueList", + "documentation":"

The value you want to search for.

" + } + }, + "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" + }, + "ParameterStringFilterKey":{ + "type":"string", + "max":132, + "min":1, + "pattern":"tag:.+|Name|Type|KeyId|Path" + }, + "ParameterStringFilterList":{ + "type":"list", + "member":{"shape":"ParameterStringFilter"} + }, + "ParameterStringFilterValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "ParameterStringFilterValueList":{ + "type":"list", + "member":{"shape":"ParameterStringFilterValue"}, + "max":50, + "min":1 + }, + "ParameterStringQueryOption":{ + "type":"string", + "max":10, + "min":1 + }, "ParameterType":{ "type":"string", "enum":[ @@ -6388,7 +6688,10 @@ }, "ParametersFilter":{ "type":"structure", - "required":["Values"], + "required":[ + "Key", + "Values" + ], "members":{ "Key":{ "shape":"ParametersFilterKey", @@ -6415,7 +6718,7 @@ }, "ParametersFilterValue":{ "type":"string", - "max":100, + "max":1024, "min":1 }, "ParametersFilterValueList":{ @@ -6477,7 +6780,7 @@ }, "Language":{ "shape":"PatchLanguage", - "documentation":"

The language of the patch if it’s language-specific.

" + "documentation":"

The language of the patch if it's language-specific.

" } }, "documentation":"

Represents metadata about a patch.

" @@ -6857,12 +7160,16 @@ }, "KeyId":{ "shape":"ParameterKeyId", - "documentation":"

The parameter key ID that you want to add to the system.

" + "documentation":"

The KMS Key ID that you want to use to encrypt a parameter when you choose the SecureString data type. If you don't specify a key ID, the system uses the default key associated with your AWS account.

" }, "Overwrite":{ "shape":"Boolean", - "documentation":"

Overwrite an existing parameter.

", + "documentation":"

Overwrite an existing parameter. If not specified, will default to \"false\".

", "box":true + }, + "AllowedPattern":{ + "shape":"AllowedPattern", + "documentation":"

A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: AllowedPattern=^\\d+$

" } } }, @@ -7002,11 +7309,11 @@ "box":true }, "MaxConcurrency":{ - "shape":"VelocityConstraint", + "shape":"MaxConcurrency", "documentation":"

The maximum number of targets this task can be run for in parallel.

" }, "MaxErrors":{ - "shape":"VelocityConstraint", + "shape":"MaxErrors", "documentation":"

The maximum number of errors allowed before this task stops being scheduled.

" }, "LoggingInfo":{ @@ -7106,7 +7413,7 @@ "members":{ "TypeName":{ "shape":"InventoryItemTypeName", - "documentation":"

Name of the inventory item type. Valid value: “AWS:InstanceInformation”. Default Value: “AWS:InstanceInformation”.

" + "documentation":"

Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation.

" } }, "documentation":"

The inventory item result attribute.

" @@ -7134,7 +7441,7 @@ "members":{ "OutputS3Region":{ "shape":"S3Region", - "documentation":"

The Amazon S3 region where the association information is stored.

" + "documentation":"

(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.

" }, "OutputS3BucketName":{ "shape":"S3BucketName", @@ -7173,15 +7480,15 @@ "members":{ "InstanceIds":{ "shape":"InstanceIdList", - "documentation":"

Required. The instance IDs where the command should execute. You can specify a maximum of 50 IDs.

" + "documentation":"

The instance IDs where the command should execute. You can specify a maximum of 50 IDs. If you prefer not to list individual instance IDs, you can instead send commands to a fleet of instances using the Targets parameter, which accepts EC2 tags. For more information about how to use Targets, see Sending Commands to a Fleet.

" }, "Targets":{ "shape":"Targets", - "documentation":"

(Optional) An array of search criteria that targets instances using a Key;Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call. For more information about how to use Targets, see Executing a Command Using Amazon EC2 Run Command (Linux) or Executing a Command Using Amazon EC2 Run Command (Windows).

" + "documentation":"

(Optional) An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call. For more information about how to use Targets, see Sending Commands to a Fleet.

" }, "DocumentName":{ "shape":"DocumentARN", - "documentation":"

Required. The name of the SSM document to execute. This can be an SSM public document or a custom document.

" + "documentation":"

Required. The name of the Systems Manager document to execute. This can be a public document or a custom document.

" }, "DocumentHash":{ "shape":"DocumentHash", @@ -7202,11 +7509,11 @@ }, "Parameters":{ "shape":"Parameters", - "documentation":"

The required and optional parameters specified in the SSM document being executed.

" + "documentation":"

The required and optional parameters specified in the document being executed.

" }, "OutputS3Region":{ "shape":"S3Region", - "documentation":"

(Optional) The region where the Amazon Simple Storage Service (Amazon S3) output bucket is located. The default value is the region where Run Command is being called.

" + "documentation":"

(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.

" }, "OutputS3BucketName":{ "shape":"S3BucketName", @@ -7217,12 +7524,12 @@ "documentation":"

The directory structure within the S3 bucket where the responses should be stored.

" }, "MaxConcurrency":{ - "shape":"VelocityConstraint", - "documentation":"

(Optional) The maximum number of instances that are allowed to execute the command at the same time. You can specify a number such as “10” or a percentage such as “10%”. The default value is 50. For more information about how to use MaxConcurrency, see Executing a Command Using Amazon EC2 Run Command (Linux) or Executing a Command Using Amazon EC2 Run Command (Windows).

" + "shape":"MaxConcurrency", + "documentation":"

(Optional) The maximum number of instances that are allowed to execute the command at the same time. You can specify a number such as 10 or a percentage such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Using Concurrency Controls.

" }, "MaxErrors":{ - "shape":"VelocityConstraint", - "documentation":"

The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of MaxErrors, the systems stops sending the command to additional targets. You can specify a number like “10” or a percentage like “10%”. The default value is 50. For more information about how to use MaxErrors, see Executing a Command Using Amazon EC2 Run Command (Linux) or Executing a Command Using Amazon EC2 Run Command (Windows).

" + "shape":"MaxErrors", + "documentation":"

The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of MaxErrors, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is 50. For more information about how to use MaxErrors, see Using Error Controls.

" }, "ServiceRoleArn":{ "shape":"ServiceRole", @@ -7322,7 +7629,7 @@ }, "ExecutionStartTime":{ "shape":"DateTime", - "documentation":"

If a step has begun execution, this contains the time the step started. If the step is in Pending status, this field is not populated.

" + "documentation":"

If a step has begun execution, this contains the time the step started. If the step is in Pending status, this field is not populated.

" }, "ExecutionEndTime":{ "shape":"DateTime", @@ -7330,7 +7637,7 @@ }, "StepStatus":{ "shape":"AutomationExecutionStatus", - "documentation":"

The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut.

" + "documentation":"

The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut.

" }, "ResponseCode":{ "shape":"String", @@ -7351,6 +7658,10 @@ "FailureMessage":{ "shape":"String", "documentation":"

If a step failed, this message explains why the execution failed.

" + }, + "FailureDetails":{ + "shape":"FailureDetails", + "documentation":"

Information about the Automation failure.

" } }, "documentation":"

Detailed information about an the execution state of an Automation step.

" @@ -7424,14 +7735,14 @@ "members":{ "Key":{ "shape":"TargetKey", - "documentation":"

User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or name:<Amazon EC2 instance ID>. For example, tag:ServerRole or name:0123456789012345. For more information about how to send commands that target instances using Key;Value parameters, see Executing a Command Using Amazon EC2 Run Command (Linux) or Executing a Command Using Amazon EC2 Run Command (Windows).

" + "documentation":"

User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Executing a Command Using Systems Manager Run Command.

" }, "Values":{ "shape":"TargetValues", - "documentation":"

User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole;WebServer. For more information about how to send commands that target instances using Key;Value parameters, see Executing a Command Using Amazon EC2 Run Command (Linux) or Executing a Command Using Amazon EC2 Run Command (Windows).

" + "documentation":"

User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Executing a Command Using Systems Manager Run Command.

" } }, - "documentation":"

An array of search criteria that targets instances using a Key;Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

" + "documentation":"

An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

" }, "TargetCount":{"type":"integer"}, "TargetKey":{ @@ -7462,12 +7773,13 @@ "type":"structure", "members":{ }, - "documentation":"

The Targets parameter includes too many tags. Remove one or more tags and try the command again.

", + "documentation":"

The Targets parameter includes too many tags. Remove one or more tags and try the command again.

", "exception":true }, "TooManyUpdates":{ "type":"structure", "members":{ + "Message":{"shape":"String"} }, "documentation":"

There are concurrent updates for a resource that supports one update at a time.

", "exception":true @@ -7485,7 +7797,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

Inventory item type schema version has to match supported versions in the service. Check output of GetInventorySchema to see the available schema version for each type.

", + "documentation":"

Inventory item type schema version has to match supported versions in the service. Check output of GetInventorySchema to see the available schema version for each type.

", "exception":true }, "UnsupportedParameterType":{ @@ -7501,7 +7813,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

The document does not support the platform type of the given instance ID(s). For example, you sent an SSM document for a Windows instance to a Linux instance.

", + "documentation":"

The document does not support the platform type of the given instance ID(s). For example, you sent an document for a Windows instance to a Linux instance.

", "exception":true }, "UpdateAssociationRequest":{ @@ -7522,11 +7834,19 @@ }, "ScheduleExpression":{ "shape":"ScheduleExpression", - "documentation":"

The cron expression used to schedule the association that you want to update. Supported expressions are every half, 1, 2, 4, 8 or 12 hour(s); every specified day and time of the week. For example: cron(0 0/30 * 1/1 * ? *) to run every thirty minutes; cron(0 0 0/4 1/1 * ? *) to run every four hours; and cron(0 0 10 ? * SUN *) to run every Sunday at 10 a.m.

" + "documentation":"

The cron expression used to schedule the association that you want to update.

" }, "OutputLocation":{ "shape":"InstanceAssociationOutputLocation", - "documentation":"

An Amazon S3 bucket where you want to store the results of this request.

\"{ \\\"S3Location\\\": { \\\"OutputS3Region\\\": \\\"<region>\\\", \\\"OutputS3BucketName\\\": \\\"bucket name\\\", \\\"OutputS3KeyPrefix\\\": \\\"folder name\\\" } }\"

" + "documentation":"

An Amazon S3 bucket where you want to store the results of this request.

" + }, + "Name":{ + "shape":"DocumentName", + "documentation":"

The name of the association document.

" + }, + "Targets":{ + "shape":"Targets", + "documentation":"

The targets of the association.

" } } }, @@ -7795,16 +8115,10 @@ } }, "Url":{"type":"string"}, - "VelocityConstraint":{ - "type":"string", - "max":7, - "min":1, - "pattern":"^[1-9]\\d*$|[0-9][%]|[1-9][0-9][%]|[1][0][0][%]|[0-9]?" - }, "Version":{ "type":"string", "pattern":"^[0-9]{1,6}(\\.[0-9]{1,6}){2,3}$" } }, - "documentation":"

Amazon EC2 Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager works with managed instances: Amazon EC2 instances and servers or virtual machines (VMs) in your on-premises environment that are configured for Systems Manager.

This references is intended to be used with the EC2 Systems Manager User Guide (Linux) (Windows).

To get started, verify prerequisites and configure managed instances (Linux) (Windows).

" + "documentation":"Amazon EC2 Systems Manager

Amazon EC2 Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely manage the configuration of your managed instances. A managed instance is any Amazon EC2 instance or on-premises machine in your hybrid environment that has been configured for Systems Manager.

This reference is intended to be used with the Amazon EC2 Systems Manager User Guide.

To get started, verify prerequisites and configure managed instances. For more information, see Systems Manager Prerequisites.

" } diff --git a/botocore/data/stepfunctions/2016-11-23/examples-1.json b/botocore/data/stepfunctions/2016-11-23/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/stepfunctions/2016-11-23/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/stepfunctions/2016-11-23/paginators-1.json b/botocore/data/stepfunctions/2016-11-23/paginators-1.json new file mode 100644 index 00000000..9feccba6 --- /dev/null +++ b/botocore/data/stepfunctions/2016-11-23/paginators-1.json @@ -0,0 +1,28 @@ +{ + "pagination": { + "GetExecutionHistory": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "events" + }, + "ListActivities": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "activities" + }, + "ListExecutions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "executions" + }, + "ListStateMachines": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "stateMachines" + } + } +} diff --git a/botocore/data/storagegateway/2013-06-30/examples-1.json b/botocore/data/storagegateway/2013-06-30/examples-1.json new file mode 100644 index 00000000..7cc0d7d4 --- /dev/null +++ b/botocore/data/storagegateway/2013-06-30/examples-1.json @@ -0,0 +1,1381 @@ +{ + "version": "1.0", + "examples": { + "ActivateGateway": [ + { + "input": { + "ActivationKey": "29AV1-3OFV9-VVIUB-NKT0I-LRO6V", + "GatewayName": "My_Gateway", + "GatewayRegion": "us-east-1", + "GatewayTimezone": "GMT-12:00", + "GatewayType": "STORED", + "MediumChangerType": "AWS-Gateway-VTL", + "TapeDriveType": "IBM-ULT3580-TD5" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Activates the gateway you previously deployed on your host.", + "id": "to-activate-the-gateway-1471281611207", + "title": "To activate the gateway" + } + ], + "AddCache": [ + { + "input": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:03:00.0-scsi-0:0:1:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows a request that activates a gateway-stored volume.", + "id": "to-add-a-cache-1471043606854", + "title": "To add a cache" + } + ], + "AddTagsToResource": [ + { + "input": { + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", + "Tags": [ + { + "Key": "Dev Gatgeway Region", + "Value": "East Coast" + } + ] + }, + "output": { + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Adds one or more tags to the specified resource.", + "id": "to-add-tags-to-resource-1471283689460", + "title": "To add tags to resource" + } + ], + "AddUploadBuffer": [ + { + "input": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:03:00.0-scsi-0:0:1:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Configures one or more gateway local disks as upload buffer for a specified gateway.", + "id": "to-add-upload-buffer-on-local-disk-1471293902847", + "title": "To add upload buffer on local disk" + } + ], + "AddWorkingStorage": [ + { + "input": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:03:00.0-scsi-0:0:1:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Configures one or more gateway local disks as working storage for a gateway. (Working storage is also referred to as upload buffer.)", + "id": "to-add-storage-on-local-disk-1471294305401", + "title": "To add storage on local disk" + } + ], + "CancelArchival": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the archiving process is initiated.", + "id": "to-cancel-virtual-tape-archiving-1471294865203", + "title": "To cancel virtual tape archiving" + } + ], + "CancelRetrieval": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a gateway after the retrieval process is initiated.", + "id": "to-cancel-virtual-tape-retrieval-1471295704491", + "title": "To cancel virtual tape retrieval" + } + ], + "CreateCachediSCSIVolume": [ + { + "input": { + "ClientToken": "cachedvol112233", + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "NetworkInterfaceId": "10.1.1.1", + "SnapshotId": "snap-f47b7b94", + "TargetName": "my-volume", + "VolumeSizeInBytes": 536870912000 + }, + "output": { + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a cached volume on a specified cached gateway.", + "id": "to-create-a-cached-iscsi-volume-1471296661787", + "title": "To create a cached iSCSI volume" + } + ], + "CreateSnapshot": [ + { + "input": { + "SnapshotDescription": "My root volume snapshot as of 10/03/2017", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "SnapshotId": "snap-78e22663", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Initiates an ad-hoc snapshot of a gateway volume.", + "id": "to-create-a-snapshot-of-a-gateway-volume-1471301469561", + "title": "To create a snapshot of a gateway volume" + } + ], + "CreateSnapshotFromVolumeRecoveryPoint": [ + { + "input": { + "SnapshotDescription": "My root volume snapshot as of 2017-06-30T10:10:10.000Z", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "SnapshotId": "snap-78e22663", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeRecoveryPointTime": "2017-06-30T10:10:10.000Z" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Initiates a snapshot of a gateway from a volume recovery point.", + "id": "to-create-a-snapshot-of-a-gateway-volume-1471301469561", + "title": "To create a snapshot of a gateway volume" + } + ], + "CreateStorediSCSIVolume": [ + { + "input": { + "DiskId": "pci-0000:03:00.0-scsi-0:0:0:0", + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "NetworkInterfaceId": "10.1.1.1", + "PreserveExistingData": true, + "SnapshotId": "snap-f47b7b94", + "TargetName": "my-volume" + }, + "output": { + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeSizeInBytes": 1099511627776 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a stored volume on a specified stored gateway.", + "id": "to-create-a-stored-iscsi-volume-1471367662813", + "title": "To create a stored iSCSI volume" + } + ], + "CreateTapeWithBarcode": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "TapeBarcode": "TEST12345", + "TapeSizeInBytes": 107374182400 + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST12345" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a virtual tape by using your own barcode.", + "id": "to-create-a-virtual-tape-using-a-barcode-1471371842452", + "title": "To create a virtual tape using a barcode" + } + ], + "CreateTapes": [ + { + "input": { + "ClientToken": "77777", + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "NumTapesToCreate": 3, + "TapeBarcodePrefix": "TEST", + "TapeSizeInBytes": 107374182400 + }, + "output": { + "TapeARNs": [ + "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST38A29D", + "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST3AA29F", + "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST3BA29E" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates one or more virtual tapes.", + "id": "to-create-a-virtual-tape-1471372061659", + "title": "To create a virtual tape" + } + ], + "DeleteBandwidthRateLimit": [ + { + "input": { + "BandwidthType": "All", + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the bandwidth rate limits of a gateway; either the upload or download limit, or both.", + "id": "to-delete-bandwidth-rate-limits-of-gateway-1471373225520", + "title": "To delete bandwidth rate limits of gateway" + } + ], + "DeleteChapCredentials": [ + { + "input": { + "InitiatorName": "iqn.1991-05.com.microsoft:computername.domain.example.com", + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + }, + "output": { + "InitiatorName": "iqn.1991-05.com.microsoft:computername.domain.example.com", + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair.", + "id": "to-delete-chap-credentials-1471375025612", + "title": "To delete CHAP credentials" + } + ], + "DeleteGateway": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation deletes the gateway, but not the gateway's VM from the host computer.", + "id": "to-delete-a-gatgeway-1471381697333", + "title": "To delete a gatgeway" + } + ], + "DeleteSnapshotSchedule": [ + { + "input": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This action enables you to delete a snapshot schedule for a volume.", + "id": "to-delete-a-snapshot-of-a-volume-1471382234377", + "title": "To delete a snapshot of a volume" + } + ], + "DeleteTape": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:204469490176:gateway/sgw-12A3456B", + "TapeARN": "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified virtual tape.", + "id": "to-delete-a-virtual-tape-1471382444157", + "title": "To delete a virtual tape" + } + ], + "DeleteTapeArchive": [ + { + "input": { + "TapeARN": "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the specified virtual tape from the virtual tape shelf (VTS).", + "id": "to-delete-a-virtual-tape-from-the-shelf-vts-1471383964329", + "title": "To delete a virtual tape from the shelf (VTS)" + } + ], + "DeleteVolume": [ + { + "input": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the specified gateway volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API.", + "id": "to-delete-a-gateway-volume-1471384418416", + "title": "To delete a gateway volume" + } + ], + "DescribeBandwidthRateLimit": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "AverageDownloadRateLimitInBitsPerSec": 204800, + "AverageUploadRateLimitInBitsPerSec": 102400, + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a value for a bandwidth rate limit if set. If not set, then only the gateway ARN is returned.", + "id": "to-describe-the-bandwidth-rate-limits-of-a-gateway-1471384826404", + "title": "To describe the bandwidth rate limits of a gateway" + } + ], + "DescribeCache": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "CacheAllocatedInBytes": 2199023255552, + "CacheDirtyPercentage": 0.07, + "CacheHitPercentage": 99.68, + "CacheMissPercentage": 0.32, + "CacheUsedPercentage": 0.07, + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:04:00.0-scsi-0:1:0:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the cache of a gateway.", + "id": "to-describe-cache-information-1471385756036", + "title": "To describe cache information" + } + ], + "DescribeCachediSCSIVolumes": [ + { + "input": { + "VolumeARNs": [ + "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + ] + }, + "output": { + "CachediSCSIVolumes": [ + { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeId": "vol-1122AABB", + "VolumeSizeInBytes": 1099511627776, + "VolumeStatus": "AVAILABLE", + "VolumeType": "CACHED iSCSI", + "VolumeiSCSIAttributes": { + "ChapEnabled": true, + "LunNumber": 1, + "NetworkInterfaceId": "10.243.43.207", + "NetworkInterfacePort": 3260, + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a description of the gateway cached iSCSI volumes specified in the request.", + "id": "to-describe-gateway-cached-iscsi-volumes-1471458094649", + "title": "To describe gateway cached iSCSI volumes" + } + ], + "DescribeChapCredentials": [ + { + "input": { + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + }, + "output": { + "ChapCredentials": [ + { + "InitiatorName": "iqn.1991-05.com.microsoft:computername.domain.example.com", + "SecretToAuthenticateInitiator": "111111111111", + "SecretToAuthenticateTarget": "222222222222", + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials information for a specified iSCSI target, one for each target-initiator pair.", + "id": "to-describe-chap-credetnitals-for-an-iscsi-1471467462967", + "title": "To describe CHAP credetnitals for an iSCSI" + } + ], + "DescribeGatewayInformation": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "GatewayId": "sgw-AABB1122", + "GatewayName": "My_Gateway", + "GatewayNetworkInterfaces": [ + { + "Ipv4Address": "10.35.69.216" + } + ], + "GatewayState": "STATE_RUNNING", + "GatewayTimezone": "GMT-8:00", + "GatewayType": "STORED", + "LastSoftwareUpdate": "2016-01-02T16:00:00", + "NextUpdateAvailabilityDate": "2017-01-02T16:00:00" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns metadata about a gateway such as its name, network interfaces, configured time zone, and the state (whether the gateway is running or not).", + "id": "to-describe-metadata-about-the-gateway-1471467849079", + "title": "To describe metadata about the gateway" + } + ], + "DescribeMaintenanceStartTime": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "DayOfWeek": 2, + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "HourOfDay": 15, + "MinuteOfHour": 35, + "Timezone": "GMT+7:00" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns your gateway's weekly maintenance start time including the day and time of the week.", + "id": "to-describe-gateways-maintenance-start-time-1471470727387", + "title": "To describe gateway's maintenance start time" + } + ], + "DescribeSnapshotSchedule": [ + { + "input": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "Description": "sgw-AABB1122:vol-AABB1122:Schedule", + "RecurrenceInHours": 24, + "StartAt": 6, + "Timezone": "GMT+7:00", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the snapshot schedule for the specified gateway volume including intervals at which snapshots are automatically initiated.", + "id": "to-describe-snapshot-schedule-for-gateway-volume-1471471139538", + "title": "To describe snapshot schedule for gateway volume" + } + ], + "DescribeStorediSCSIVolumes": [ + { + "input": { + "VolumeARNs": [ + "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + ] + }, + "output": { + "StorediSCSIVolumes": [ + { + "PreservedExistingData": false, + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeDiskId": "pci-0000:03:00.0-scsi-0:0:0:0", + "VolumeId": "vol-1122AABB", + "VolumeProgress": 23.7, + "VolumeSizeInBytes": 1099511627776, + "VolumeStatus": "BOOTSTRAPPING", + "VolumeiSCSIAttributes": { + "ChapEnabled": true, + "NetworkInterfaceId": "10.243.43.207", + "NetworkInterfacePort": 3260, + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns the description of the gateway volumes specified in the request belonging to the same gateway.", + "id": "to-describe-the-volumes-of-a-gateway-1471472640660", + "title": "To describe the volumes of a gateway" + } + ], + "DescribeTapeArchives": [ + { + "input": { + "Limit": 123, + "Marker": "1", + "TapeARNs": [ + "arn:aws:storagegateway:us-east-1:999999999999:tape/AM08A1AD", + "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4" + ] + }, + "output": { + "Marker": "1", + "TapeArchives": [ + { + "CompletionTime": "2016-12-16T13:50Z", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999:tape/AM08A1AD", + "TapeBarcode": "AM08A1AD", + "TapeSizeInBytes": 107374182400, + "TapeStatus": "ARCHIVED" + }, + { + "CompletionTime": "2016-12-16T13:59Z", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999:tape/AMZN01A2A4", + "TapeBarcode": "AMZN01A2A4", + "TapeSizeInBytes": 429496729600, + "TapeStatus": "ARCHIVED" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a description of specified virtual tapes in the virtual tape shelf (VTS).", + "id": "to-describe-virtual-tapes-in-the-vts-1471473188198", + "title": "To describe virtual tapes in the VTS" + } + ], + "DescribeTapeRecoveryPoints": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "Limit": 1, + "Marker": "1" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "Marker": "1", + "TapeRecoveryPointInfos": [ + { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999:tape/AMZN01A2A4", + "TapeRecoveryPointTime": "2016-12-16T13:50Z", + "TapeSizeInBytes": 1471550497, + "TapeStatus": "AVAILABLE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a list of virtual tape recovery points that are available for the specified gateway-VTL.", + "id": "to-describe-virtual-tape-recovery-points-1471542042026", + "title": "To describe virtual tape recovery points" + } + ], + "DescribeTapes": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "Limit": 2, + "Marker": "1", + "TapeARNs": [ + "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST04A2A1", + "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST05A2A0" + ] + }, + "output": { + "Marker": "1", + "Tapes": [ + { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST04A2A1", + "TapeBarcode": "TEST04A2A1", + "TapeSizeInBytes": 107374182400, + "TapeStatus": "AVAILABLE" + }, + { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST05A2A0", + "TapeBarcode": "TEST05A2A0", + "TapeSizeInBytes": 107374182400, + "TapeStatus": "AVAILABLE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a description of the specified Amazon Resource Name (ARN) of virtual tapes. If a TapeARN is not specified, returns a description of all virtual tapes.", + "id": "to-describe-virtual-tapes-associated-with-gateway-1471629287727", + "title": "To describe virtual tape(s) associated with gateway" + } + ], + "DescribeUploadBuffer": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:04:00.0-scsi-0:1:0:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "UploadBufferAllocatedInBytes": 0, + "UploadBufferUsedInBytes": 161061273600 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the upload buffer of a gateway including disk IDs and the amount of upload buffer space allocated/used.", + "id": "to-describe-upload-buffer-of-gateway-1471631099003", + "title": "To describe upload buffer of gateway" + }, + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:04:00.0-scsi-0:1:0:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "UploadBufferAllocatedInBytes": 161061273600, + "UploadBufferUsedInBytes": 0 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the upload buffer of a gateway including disk IDs and the amount of upload buffer space allocated and used.", + "id": "to-describe-upload-buffer-of-a-gateway--1471904566370", + "title": "To describe upload buffer of a gateway" + } + ], + "DescribeVTLDevices": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "Limit": 123, + "Marker": "1", + "VTLDeviceARNs": [ + + ] + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "Marker": "1", + "VTLDevices": [ + { + "DeviceiSCSIAttributes": { + "ChapEnabled": false, + "NetworkInterfaceId": "10.243.43.207", + "NetworkInterfacePort": 3260, + "TargetARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:sgw-1fad4876-mediachanger" + }, + "VTLDeviceARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_MEDIACHANGER_00001", + "VTLDeviceProductIdentifier": "L700", + "VTLDeviceType": "Medium Changer", + "VTLDeviceVendor": "STK" + }, + { + "DeviceiSCSIAttributes": { + "ChapEnabled": false, + "NetworkInterfaceId": "10.243.43.209", + "NetworkInterfacePort": 3260, + "TargetARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:sgw-1fad4876-tapedrive-01" + }, + "VTLDeviceARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_TAPEDRIVE_00001", + "VTLDeviceProductIdentifier": "ULT3580-TD5", + "VTLDeviceType": "Tape Drive", + "VTLDeviceVendor": "IBM" + }, + { + "DeviceiSCSIAttributes": { + "ChapEnabled": false, + "NetworkInterfaceId": "10.243.43.209", + "NetworkInterfacePort": 3260, + "TargetARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:sgw-1fad4876-tapedrive-02" + }, + "VTLDeviceARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_TAPEDRIVE_00002", + "VTLDeviceProductIdentifier": "ULT3580-TD5", + "VTLDeviceType": "Tape Drive", + "VTLDeviceVendor": "IBM" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a description of virtual tape library (VTL) devices for the specified gateway.", + "id": "to-describe-virtual-tape-library-vtl-devices-of-a-single-gateway-1471906071410", + "title": "To describe virtual tape library (VTL) devices of a single gateway" + } + ], + "DescribeWorkingStorage": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:03:00.0-scsi-0:0:1:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "WorkingStorageAllocatedInBytes": 2199023255552, + "WorkingStorageUsedInBytes": 789207040 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation is supported only for the gateway-stored volume architecture. This operation is deprecated in cached-volumes API version (20120630). Use DescribeUploadBuffer instead.", + "id": "to-describe-the-working-storage-of-a-gateway-depreciated-1472070842332", + "title": "To describe the working storage of a gateway [Depreciated]" + } + ], + "DisableGateway": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Disables a gateway when the gateway is no longer functioning. Use this operation for a gateway-VTL that is not reachable or not functioning.", + "id": "to-disable-a-gateway-when-it-is-no-longer-functioning-1472076046936", + "title": "To disable a gateway when it is no longer functioning" + } + ], + "ListGateways": [ + { + "input": { + "Limit": 2, + "Marker": "1" + }, + "output": { + "Gateways": [ + { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-23A4567C" + } + ], + "Marker": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists gateways owned by an AWS account in a specified region as requested. Results are sorted by gateway ARN up to a maximum of 100 gateways.", + "id": "to-lists-region-specific-gateways-per-aws-account-1472077860657", + "title": "To lists region specific gateways per AWS account" + } + ], + "ListLocalDisks": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "Disks": [ + { + "DiskAllocationType": "CACHE_STORAGE", + "DiskId": "pci-0000:03:00.0-scsi-0:0:0:0", + "DiskNode": "SCSI(0:0)", + "DiskPath": "/dev/sda", + "DiskSizeInBytes": 1099511627776, + "DiskStatus": "missing" + }, + { + "DiskAllocationResource": "", + "DiskAllocationType": "UPLOAD_BUFFER", + "DiskId": "pci-0000:03:00.0-scsi-0:0:1:0", + "DiskNode": "SCSI(0:1)", + "DiskPath": "/dev/sdb", + "DiskSizeInBytes": 1099511627776, + "DiskStatus": "present" + } + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The request returns a list of all disks, specifying which are configured as working storage, cache storage, or stored volume or not configured at all.", + "id": "to-list-the-gateways-local-disks-1472079564618", + "title": "To list the gateway's local disks" + } + ], + "ListTagsForResource": [ + { + "input": { + "Limit": 1, + "Marker": "1", + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B" + }, + "output": { + "Marker": "1", + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", + "Tags": [ + { + "Key": "Dev Gatgeway Region", + "Value": "East Coast" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the tags that have been added to the specified resource.", + "id": "to-list-tags-that-have-been-added-to-a-resource-1472080268972", + "title": "To list tags that have been added to a resource" + } + ], + "ListVolumeRecoveryPoints": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "VolumeRecoveryPointInfos": [ + { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeRecoveryPointTime": "2012-09-04T21:08:44.627Z", + "VolumeSizeInBytes": 536870912000 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the recovery points for a specified gateway in which all data of the volume is consistent and can be used to create a snapshot.", + "id": "to-list-recovery-points-for-a-gateway-1472143015088", + "title": "To list recovery points for a gateway" + } + ], + "ListVolumes": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "Limit": 2, + "Marker": "1" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "Marker": "1", + "VolumeInfos": [ + { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "GatewayId": "sgw-12A3456B", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeId": "vol-1122AABB", + "VolumeSizeInBytes": 107374182400, + "VolumeType": "STORED" + }, + { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C", + "GatewayId": "sgw-gw-13B4567C", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C/volume/vol-3344CCDD", + "VolumeId": "vol-1122AABB", + "VolumeSizeInBytes": 107374182400, + "VolumeType": "STORED" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN up to a maximum of 100 volumes.", + "id": "to-list-the-iscsi-stored-volumes-of-a-gateway-1472145723653", + "title": "To list the iSCSI stored volumes of a gateway" + } + ], + "RemoveTagsFromResource": [ + { + "input": { + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", + "TagKeys": [ + "Dev Gatgeway Region", + "East Coast" + ] + }, + "output": { + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the iSCSI stored volumes of a gateway. Removes one or more tags from the specified resource.", + "id": "to-remove-tags-from-a-resource-1472147210553", + "title": "To remove tags from a resource" + } + ], + "ResetCache": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage.", + "id": "to-reset-cache-disks-in-error-status-1472148909807", + "title": "To reset cache disks in error status" + } + ], + "RetrieveTapeArchive": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a gateway-VTL. Virtual tapes archived in the VTS are not associated with any gateway.", + "id": "to-retrieve-an-archived-tape-from-the-vts-1472149812358", + "title": "To retrieve an archived tape from the VTS" + } + ], + "RetrieveTapeRecoveryPoint": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Retrieves the recovery point for the specified virtual tape.", + "id": "to-retrieve-the-recovery-point-of-a-virtual-tape-1472150014805", + "title": "To retrieve the recovery point of a virtual tape" + } + ], + "SetLocalConsolePassword": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "LocalConsolePassword": "PassWordMustBeAtLeast6Chars." + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Sets the password for your VM local console.", + "id": "to-set-a-password-for-your-vm-1472150202632", + "title": "To set a password for your VM" + } + ], + "ShutdownGateway": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation shuts down the gateway service component running in the storage gateway's virtual machine (VM) and not the VM.", + "id": "to-shut-down-a-gateway-service-1472150508835", + "title": "To shut down a gateway service" + } + ], + "StartGateway": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Starts a gateway service that was previously shut down.", + "id": "to-start-a-gateway-service-1472150722315", + "title": "To start a gateway service" + } + ], + "UpdateBandwidthRateLimit": [ + { + "input": { + "AverageDownloadRateLimitInBitsPerSec": 102400, + "AverageUploadRateLimitInBitsPerSec": 51200, + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates the bandwidth rate limits of a gateway. Both the upload and download bandwidth rate limit can be set, or either one of the two. If a new limit is not set, the existing rate limit remains.", + "id": "to-update-the-bandwidth-rate-limits-of-a-gateway-1472151016202", + "title": "To update the bandwidth rate limits of a gateway" + } + ], + "UpdateChapCredentials": [ + { + "input": { + "InitiatorName": "iqn.1991-05.com.microsoft:computername.domain.example.com", + "SecretToAuthenticateInitiator": "111111111111", + "SecretToAuthenticateTarget": "222222222222", + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + }, + "output": { + "InitiatorName": "iqn.1991-05.com.microsoft:computername.domain.example.com", + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target.", + "id": "to-update-chap-credentials-for-an-iscsi-target-1472151325795", + "title": "To update CHAP credentials for an iSCSI target" + } + ], + "UpdateGatewayInformation": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "GatewayName": "MyGateway2", + "GatewayTimezone": "GMT-12:00" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "GatewayName": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates a gateway's metadata, which includes the gateway's name and time zone.", + "id": "to-update-a-gateways-metadata-1472151688693", + "title": "To update a gateway's metadata" + } + ], + "UpdateGatewaySoftwareNow": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates the gateway virtual machine (VM) software. The request immediately triggers the software update.", + "id": "to-update-a-gateways-vm-software-1472152020929", + "title": "To update a gateway's VM software" + } + ], + "UpdateMaintenanceStartTime": [ + { + "input": { + "DayOfWeek": 2, + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "HourOfDay": 0, + "MinuteOfHour": 30 + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates a gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is in your gateway's time zone.", + "id": "to-update-a-gateways-maintenance-start-time-1472152552031", + "title": "To update a gateway's maintenance start time" + } + ], + "UpdateSnapshotSchedule": [ + { + "input": { + "Description": "Hourly snapshot", + "RecurrenceInHours": 1, + "StartAt": 0, + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates a snapshot schedule configured for a gateway volume.", + "id": "to-update-a-volume-snapshot-schedule-1472152757068", + "title": "To update a volume snapshot schedule" + } + ], + "UpdateVTLDeviceType": [ + { + "input": { + "DeviceType": "Medium Changer", + "VTLDeviceARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_MEDIACHANGER_00001" + }, + "output": { + "VTLDeviceARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_MEDIACHANGER_00001" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates the type of medium changer in a gateway-VTL after a gateway-VTL is activated.", + "id": "to-update-a-vtl-device-type-1472153012967", + "title": "To update a VTL device type" + } + ] + } +} diff --git a/botocore/data/storagegateway/2013-06-30/service-2.json b/botocore/data/storagegateway/2013-06-30/service-2.json index 6ba56d88..94c1e2ff 100644 --- a/botocore/data/storagegateway/2013-06-30/service-2.json +++ b/botocore/data/storagegateway/2013-06-30/service-2.json @@ -23,7 +23,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Activates the gateway you previously deployed on your host. For more information, see Activate the AWS Storage Gateway. In the activation process, you specify information such as the you want to use for storing snapshots, the time zone for scheduled snapshots the gateway snapshot schedule window, an activation key, and a name for your gateway. The activation process also associates your gateway with your account; for more information, see UpdateGatewayInformation.

You must turn on the gateway VM before you can activate your gateway.

" + "documentation":"

Activates the gateway you previously deployed on your host. For more information, see Activate the AWS Storage Gateway. In the activation process, you specify information such as the region you want to use for storing snapshots or tapes, the time zone for scheduled snapshots the gateway snapshot schedule window, an activation key, and a name for your gateway. The activation process also associates your gateway with your account; for more information, see UpdateGatewayInformation.

You must turn on the gateway VM before you can activate your gateway.

" }, "AddCache":{ "name":"AddCache", @@ -37,7 +37,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Configures one or more gateway local disks as cache for a cached-volume gateway. This operation is supported only for the gateway-cached volume architecture (see Storage Gateway Concepts).

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or more disk IDs that you want to configure as cache.

" + "documentation":"

Configures one or more gateway local disks as cache for a gateway. This operation is only supported in the cached volume, tape and file gateway architectures (see Storage Gateway Concepts).

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or more disk IDs that you want to configure as cache.

" }, "AddTagsToResource":{ "name":"AddTagsToResource", @@ -65,7 +65,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Configures one or more gateway local disks as upload buffer for a specified gateway. This operation is supported for both the gateway-stored and gateway-cached volume architectures.

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add upload buffer, and one or more disk IDs that you want to configure as upload buffer.

" + "documentation":"

Configures one or more gateway local disks as upload buffer for a specified gateway. This operation is supported for the stored volume, cached volume and tape gateway architectures.

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add upload buffer, and one or more disk IDs that you want to configure as upload buffer.

" }, "AddWorkingStorage":{ "name":"AddWorkingStorage", @@ -79,7 +79,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Configures one or more gateway local disks as working storage for a gateway. This operation is supported only for the gateway-stored volume architecture. This operation is deprecated in cached-volumes API version 20120630. Use AddUploadBuffer instead.

Working storage is also referred to as upload buffer. You can also use the AddUploadBuffer operation to add upload buffer to a stored-volume gateway.

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add working storage, and one or more disk IDs that you want to configure as working storage.

" + "documentation":"

Configures one or more gateway local disks as working storage for a gateway. This operation is only supported in the stored volume gateway architecture. This operation is deprecated in cached volume API version 20120630. Use AddUploadBuffer instead.

Working storage is also referred to as upload buffer. You can also use the AddUploadBuffer operation to add upload buffer to a stored volume gateway.

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add working storage, and one or more disk IDs that you want to configure as working storage.

" }, "CancelArchival":{ "name":"CancelArchival", @@ -93,7 +93,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the archiving process is initiated.

" + "documentation":"

Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the archiving process is initiated. This operation is only supported in the tape gateway architecture.

" }, "CancelRetrieval":{ "name":"CancelRetrieval", @@ -121,7 +121,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Creates a cached volume on a specified cached gateway. This operation is supported only for the gateway-cached volume architecture.

Cache storage must be allocated to the gateway before you can create a cached volume. Use the AddCache operation to add cache storage to a gateway.

In the request, you must specify the gateway, size of the volume in bytes, the iSCSI target name, an IP address on which to expose the target, and a unique client token. In response, AWS Storage Gateway creates the volume and returns information about it. This information includes the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

Optionally, you can provide the ARN for an existing volume as the SourceVolumeARN for this cached volume, which creates an exact copy of the existing volume’s latest recovery point. The VolumeSizeInBytes value must be equal to or larger than the size of the copied volume, in bytes.

" + "documentation":"

Creates a cached volume on a specified cached volume gateway. This operation is only supported in the cached volume gateway architecture.

Cache storage must be allocated to the gateway before you can create a cached volume. Use the AddCache operation to add cache storage to a gateway.

In the request, you must specify the gateway, size of the volume in bytes, the iSCSI target name, an IP address on which to expose the target, and a unique client token. In response, the gateway creates the volume and returns information about it. This information includes the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

Optionally, you can provide the ARN for an existing volume as the SourceVolumeARN for this cached volume, which creates an exact copy of the existing volume’s latest recovery point. The VolumeSizeInBytes value must be equal to or larger than the size of the copied volume, in bytes.

" }, "CreateNFSFileShare":{ "name":"CreateNFSFileShare", @@ -135,7 +135,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Creates a file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using a Network File System (NFS) interface.

" + "documentation":"

Creates a file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using a Network File System (NFS) interface. This operation is only supported in the file gateway architecture.

File gateway requires AWS Security Token Service (AWS STS) to be activated to enable you create a file share. Make sure AWS STS is activated in the region you are creating your file gateway in. If AWS STS is not activated in the region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

File gateway does not support creating hard or symbolic links on a file share.

" }, "CreateSnapshot":{ "name":"CreateSnapshot", @@ -150,7 +150,7 @@ {"shape":"InternalServerError"}, {"shape":"ServiceUnavailableError"} ], - "documentation":"

Initiates a snapshot of a volume.

AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad-hoc basis. This API enables you to take ad-hoc snapshot. For more information, see Working With Snapshots in the AWS Storage Gateway Console.

In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the EC2 API reference.

Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page.

" + "documentation":"

Initiates a snapshot of a volume.

AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad-hoc basis. This API enables you to take ad-hoc snapshot. For more information, see Editing a Snapshot Schedule.

In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. This operation is only supported in stored and cached volume gateway architecture.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the EC2 API reference.

Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page.

" }, "CreateSnapshotFromVolumeRecoveryPoint":{ "name":"CreateSnapshotFromVolumeRecoveryPoint", @@ -165,7 +165,7 @@ {"shape":"InternalServerError"}, {"shape":"ServiceUnavailableError"} ], - "documentation":"

Initiates a snapshot of a gateway from a volume recovery point. This operation is supported only for the gateway-cached volume architecture.

A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot. To get a list of volume recovery point for gateway-cached volumes, use ListVolumeRecoveryPoints.

In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by providing its Amazon Resource Name (ARN). You must also provide a description for the snapshot. When AWS Storage Gateway takes a snapshot of the specified volume, the snapshot and its description appear in the AWS Storage Gateway console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, in Amazon Elastic Compute Cloud API Reference.

" + "documentation":"

Initiates a snapshot of a gateway from a volume recovery point. This operation is only supported in the cached volume gateway architecture.

A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot. To get a list of volume recovery point for cached volume gateway, use ListVolumeRecoveryPoints.

In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by providing its Amazon Resource Name (ARN). You must also provide a description for the snapshot. When the gateway takes a snapshot of the specified volume, the snapshot and its description appear in the AWS Storage Gateway console. In response, the gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, in Amazon Elastic Compute Cloud API Reference.

" }, "CreateStorediSCSIVolume":{ "name":"CreateStorediSCSIVolume", @@ -179,7 +179,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Creates a volume on a specified gateway. This operation is supported only for the gateway-stored volume architecture.

The size of the volume to create is inferred from the disk size. You can choose to preserve existing data on the disk, create volume from an existing snapshot, or create an empty volume. If you choose to create an empty gateway volume, then any existing data on the disk is erased.

In the request you must specify the gateway and the disk information on which you are creating the volume. In response, AWS Storage Gateway creates the volume and returns volume information such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

" + "documentation":"

Creates a volume on a specified gateway. This operation is only supported in the stored volume gateway architecture.

The size of the volume to create is inferred from the disk size. You can choose to preserve existing data on the disk, create volume from an existing snapshot, or create an empty volume. If you choose to create an empty gateway volume, then any existing data on the disk is erased.

In the request you must specify the gateway and the disk information on which you are creating the volume. In response, the gateway creates the volume and returns volume information such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

" }, "CreateTapeWithBarcode":{ "name":"CreateTapeWithBarcode", @@ -193,7 +193,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape.

Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway.

" + "documentation":"

Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape. This operation is only supported in the tape gateway architecture.

Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway.

" }, "CreateTapes":{ "name":"CreateTapes", @@ -207,7 +207,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Creates one or more virtual tapes. You write data to the virtual tapes and then archive the tapes.

Cache storage must be allocated to the gateway before you can create virtual tapes. Use the AddCache operation to add cache storage to a gateway.

" + "documentation":"

Creates one or more virtual tapes. You write data to the virtual tapes and then archive the tapes. This operation is only supported in the tape gateway architecture.

Cache storage must be allocated to the gateway before you can create virtual tapes. Use the AddCache operation to add cache storage to a gateway.

" }, "DeleteBandwidthRateLimit":{ "name":"DeleteBandwidthRateLimit", @@ -249,7 +249,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Deletes a file share from a file gateway.

" + "documentation":"

Deletes a file share from a file gateway. This operation is only supported in the file gateway architecture.

" }, "DeleteGateway":{ "name":"DeleteGateway", @@ -291,7 +291,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Deletes the specified virtual tape.

" + "documentation":"

Deletes the specified virtual tape. This operation is only supported in the tape gateway architecture.

" }, "DeleteTapeArchive":{ "name":"DeleteTapeArchive", @@ -305,7 +305,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Deletes the specified virtual tape from the virtual tape shelf (VTS).

" + "documentation":"

Deletes the specified virtual tape from the virtual tape shelf (VTS). This operation is only supported in the tape gateway architecture.

" }, "DeleteVolume":{ "name":"DeleteVolume", @@ -319,7 +319,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Deletes the specified gateway volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API. For gateway-stored volumes, the local disk that was configured as the storage volume is not deleted. You can reuse the local disk to create another storage volume.

Before you delete a gateway volume, make sure there are no iSCSI connections to the volume you are deleting. You should also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting and check the snapshot status. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete.

" + "documentation":"

Deletes the specified storage volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API. This operation is only supported in the cached volume and stored volume architectures. For stored volume gateways, the local disk that was configured as the storage volume is not deleted. You can reuse the local disk to create another storage volume.

Before you delete a volume, make sure there are no iSCSI connections to the volume you are deleting. You should also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting and check the snapshot status. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete.

" }, "DescribeBandwidthRateLimit":{ "name":"DescribeBandwidthRateLimit", @@ -347,7 +347,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns information about the cache of a gateway. This operation is supported only for the gateway-cached volume architecture.

The response includes disk IDs that are configured as cache, and it includes the amount of cache allocated and used.

" + "documentation":"

Returns information about the cache of a gateway. This operation is only supported in the cached volume,tape and file gateway architectures.

The response includes disk IDs that are configured as cache, and it includes the amount of cache allocated and used.

" }, "DescribeCachediSCSIVolumes":{ "name":"DescribeCachediSCSIVolumes", @@ -361,7 +361,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns a description of the gateway volumes specified in the request. This operation is supported only for the gateway-cached volume architecture.

The list of gateway volumes in the request must be from one gateway. In the response Amazon Storage Gateway returns volume information sorted by volume Amazon Resource Name (ARN).

" + "documentation":"

Returns a description of the gateway volumes specified in the request. This operation is only supported in the cached volume gateway architecture.

The list of gateway volumes in the request must be from one gateway. In the response Amazon Storage Gateway returns volume information sorted by volume Amazon Resource Name (ARN).

" }, "DescribeChapCredentials":{ "name":"DescribeChapCredentials", @@ -417,7 +417,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Gets a description for one or more file shares from a file gateway.

" + "documentation":"

Gets a description for one or more file shares from a file gateway. This operation is only supported in file gateways.

" }, "DescribeSnapshotSchedule":{ "name":"DescribeSnapshotSchedule", @@ -431,7 +431,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Describes the snapshot schedule for the specified gateway volume. The snapshot schedule information includes intervals at which snapshots are automatically initiated on the volume.

" + "documentation":"

Describes the snapshot schedule for the specified gateway volume. The snapshot schedule information includes intervals at which snapshots are automatically initiated on the volume. This operation is only supported in the cached volume and stored volume architectures.

" }, "DescribeStorediSCSIVolumes":{ "name":"DescribeStorediSCSIVolumes", @@ -445,7 +445,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns the description of the gateway volumes specified in the request. The list of gateway volumes in the request must be from one gateway. In the response Amazon Storage Gateway returns volume information sorted by volume ARNs.

" + "documentation":"

Returns the description of the gateway volumes specified in the request. The list of gateway volumes in the request must be from one gateway. In the response Amazon Storage Gateway returns volume information sorted by volume ARNs. This operation is only supported in stored volume gateway architecture.

" }, "DescribeTapeArchives":{ "name":"DescribeTapeArchives", @@ -459,7 +459,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns a description of specified virtual tapes in the virtual tape shelf (VTS).

If a specific TapeARN is not specified, AWS Storage Gateway returns a description of all virtual tapes found in the VTS associated with your account.

" + "documentation":"

Returns a description of specified virtual tapes in the virtual tape shelf (VTS). This operation is only supported in the tape gateway architecture.

If a specific TapeARN is not specified, AWS Storage Gateway returns a description of all virtual tapes found in the VTS associated with your account.

" }, "DescribeTapeRecoveryPoints":{ "name":"DescribeTapeRecoveryPoints", @@ -473,7 +473,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns a list of virtual tape recovery points that are available for the specified gateway-VTL.

A recovery point is a point-in-time view of a virtual tape at which all the data on the virtual tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway.

" + "documentation":"

Returns a list of virtual tape recovery points that are available for the specified tape gateway.

A recovery point is a point-in-time view of a virtual tape at which all the data on the virtual tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway. This operation is only supported in the tape gateway architecture.

" }, "DescribeTapes":{ "name":"DescribeTapes", @@ -487,7 +487,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns a description of the specified Amazon Resource Name (ARN) of virtual tapes. If a TapeARN is not specified, returns a description of all virtual tapes associated with the specified gateway.

" + "documentation":"

Returns a description of the specified Amazon Resource Name (ARN) of virtual tapes. If a TapeARN is not specified, returns a description of all virtual tapes associated with the specified gateway. This operation is only supported in the tape gateway architecture.

" }, "DescribeUploadBuffer":{ "name":"DescribeUploadBuffer", @@ -501,7 +501,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns information about the upload buffer of a gateway. This operation is supported for both the gateway-stored and gateway-cached volume architectures.

The response includes disk IDs that are configured as upload buffer space, and it includes the amount of upload buffer space allocated and used.

" + "documentation":"

Returns information about the upload buffer of a gateway. This operation is supported for the stored volume, cached volume and tape gateway architectures.

The response includes disk IDs that are configured as upload buffer space, and it includes the amount of upload buffer space allocated and used.

" }, "DescribeVTLDevices":{ "name":"DescribeVTLDevices", @@ -515,7 +515,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns a description of virtual tape library (VTL) devices for the specified gateway. In the response, AWS Storage Gateway returns VTL device information.

The list of VTL devices must be from one gateway.

" + "documentation":"

Returns a description of virtual tape library (VTL) devices for the specified tape gateway. In the response, AWS Storage Gateway returns VTL device information.

This operation is only supported in the tape gateway architecture.

" }, "DescribeWorkingStorage":{ "name":"DescribeWorkingStorage", @@ -529,7 +529,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns information about the working storage of a gateway. This operation is supported only for the gateway-stored volume architecture. This operation is deprecated in cached-volumes API version (20120630). Use DescribeUploadBuffer instead.

Working storage is also referred to as upload buffer. You can also use the DescribeUploadBuffer operation to add upload buffer to a stored-volume gateway.

The response includes disk IDs that are configured as working storage, and it includes the amount of working storage allocated and used.

" + "documentation":"

Returns information about the working storage of a gateway. This operation is only supported in the stored volumes gateway architecture. This operation is deprecated in cached volumes API version (20120630). Use DescribeUploadBuffer instead.

Working storage is also referred to as upload buffer. You can also use the DescribeUploadBuffer operation to add upload buffer to a stored volume gateway.

The response includes disk IDs that are configured as working storage, and it includes the amount of working storage allocated and used.

" }, "DisableGateway":{ "name":"DisableGateway", @@ -543,7 +543,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Disables a gateway when the gateway is no longer functioning. For example, if your gateway VM is damaged, you can disable the gateway so you can recover virtual tapes.

Use this operation for a gateway-VTL that is not reachable or not functioning.

Once a gateway is disabled it cannot be enabled.

" + "documentation":"

Disables a tape gateway when the gateway is no longer functioning. For example, if your gateway VM is damaged, you can disable the gateway so you can recover virtual tapes.

Use this operation for a tape gateway that is not reachable or not functioning. This operation is only supported in the tape gateway architectures.

Once a gateway is disabled it cannot be enabled.

" }, "ListFileShares":{ "name":"ListFileShares", @@ -557,7 +557,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Gets a list of the file shares for a specific file gateway, or the list of file shares that belong to the calling user account.

" + "documentation":"

Gets a list of the file shares for a specific file gateway, or the list of file shares that belong to the calling user account. This operation is only supported in the file gateway architecture.

" }, "ListGateways":{ "name":"ListGateways", @@ -585,7 +585,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns a list of the gateway's local disks. To specify which gateway to describe, you use the Amazon Resource Name (ARN) of the gateway in the body of the request.

The request returns a list of all disks, specifying which are configured as working storage, cache storage, or stored volume or not configured at all. The response includes a DiskStatus field. This field can have a value of present (the disk is available to use), missing (the disk is no longer connected to the gateway), or mismatch (the disk node is occupied by a disk that has incorrect metadata or the disk content is corrupted).

" + "documentation":"

Returns a list of the gateway's local disks. To specify which gateway to describe, you use the Amazon Resource Name (ARN) of the gateway in the body of the request.

The request returns a list of all disks, specifying which are configured as working storage, cache storage, or stored volume or not configured at all. The response includes a DiskStatus field. This field can have a value of present (the disk is available to use), missing (the disk is no longer connected to the gateway), or mismatch (the disk node is occupied by a disk that has incorrect metadata or the disk content is corrupted).

" }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -599,7 +599,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Lists the tags that have been added to the specified resource.

" + "documentation":"

Lists the tags that have been added to the specified resource. This operation is only supported in the cached volume, stored volume and tape gateway architecture.

" }, "ListTapes":{ "name":"ListTapes", @@ -613,7 +613,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Lists virtual tapes in your virtual tape library (VTL) and your virtual tape shelf (VTS). You specify the tapes to list by specifying one or more tape Amazon Resource Names (ARNs). If you don't specify a tape ARN, the operation lists all virtual tapes in both your VTL and VTS.

This operation supports pagination. By default, the operation returns a maximum of up to 100 tapes. You can optionally specify the Limit parameter in the body to limit the number of tapes in the response. If the number of tapes returned in the response is truncated, the response includes a Marker element that you can use in your subsequent request to retrieve the next set of tapes.

" + "documentation":"

Lists virtual tapes in your virtual tape library (VTL) and your virtual tape shelf (VTS). You specify the tapes to list by specifying one or more tape Amazon Resource Names (ARNs). If you don't specify a tape ARN, the operation lists all virtual tapes in both your VTL and VTS.

This operation supports pagination. By default, the operation returns a maximum of up to 100 tapes. You can optionally specify the Limit parameter in the body to limit the number of tapes in the response. If the number of tapes returned in the response is truncated, the response includes a Marker element that you can use in your subsequent request to retrieve the next set of tapes. This operation is only supported in the tape gateway architecture.

" }, "ListVolumeInitiators":{ "name":"ListVolumeInitiators", @@ -627,7 +627,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Lists iSCSI initiators that are connected to a volume. You can use this operation to determine whether a volume is being used or not.

" + "documentation":"

Lists iSCSI initiators that are connected to a volume. You can use this operation to determine whether a volume is being used or not. This operation is only supported in the cached volume and stored volume gateway architecture.

" }, "ListVolumeRecoveryPoints":{ "name":"ListVolumeRecoveryPoints", @@ -641,7 +641,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Lists the recovery points for a specified gateway. This operation is supported only for the gateway-cached volume architecture.

Each gateway-cached volume has one recovery point. A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot. To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint operation.

" + "documentation":"

Lists the recovery points for a specified gateway. This operation is only supported in the cached volume gateway architecture.

Each cache volume has one recovery point. A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot or clone a new cached volume from a source volume. To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint operation.

" }, "ListVolumes":{ "name":"ListVolumes", @@ -655,7 +655,21 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN. The response includes only the volume ARNs. If you want additional volume information, use the DescribeStorediSCSIVolumes or the DescribeCachediSCSIVolumes API.

The operation supports pagination. By default, the operation returns a maximum of up to 100 volumes. You can optionally specify the Limit field in the body to limit the number of volumes in the response. If the number of volumes returned in the response is truncated, the response includes a Marker field. You can use this Marker value in your subsequent request to retrieve the next set of volumes.

" + "documentation":"

Lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN. The response includes only the volume ARNs. If you want additional volume information, use the DescribeStorediSCSIVolumes or the DescribeCachediSCSIVolumes API.

The operation supports pagination. By default, the operation returns a maximum of up to 100 volumes. You can optionally specify the Limit field in the body to limit the number of volumes in the response. If the number of volumes returned in the response is truncated, the response includes a Marker field. You can use this Marker value in your subsequent request to retrieve the next set of volumes. This operation is only supported in the cached volume and stored volume gateway architectures.

" + }, + "RefreshCache":{ + "name":"RefreshCache", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RefreshCacheInput"}, + "output":{"shape":"RefreshCacheOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Refreshes the cache for the specified file share. This operation finds objects in the Amazon S3 bucket that were added or removed since the gateway last listed the bucket's contents and cached the results.

" }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", @@ -669,7 +683,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Removes one or more tags from the specified resource.

" + "documentation":"

Removes one or more tags from the specified resource. This operation is only supported in the cached volume, stored volume and tape gateway architectures.

" }, "ResetCache":{ "name":"ResetCache", @@ -683,7 +697,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage. If your cache disk encounters a error, the gateway prevents read and write operations on virtual tapes in the gateway. For example, an error can occur when a disk is corrupted or removed from the gateway. When a cache is reset, the gateway loses its cache storage. At this point you can reconfigure the disks as cache disks.

If the cache disk you are resetting contains data that has not been uploaded to Amazon S3 yet, that data can be lost. After you reset cache disks, there will be no configured cache disks left in the gateway, so you must configure at least one new cache disk for your gateway to function properly.

" + "documentation":"

Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage. If your cache disk encounters a error, the gateway prevents read and write operations on virtual tapes in the gateway. For example, an error can occur when a disk is corrupted or removed from the gateway. When a cache is reset, the gateway loses its cache storage. At this point you can reconfigure the disks as cache disks. This operation is only supported in the cached volume,tape and file gateway architectures.

If the cache disk you are resetting contains data that has not been uploaded to Amazon S3 yet, that data can be lost. After you reset cache disks, there will be no configured cache disks left in the gateway, so you must configure at least one new cache disk for your gateway to function properly.

" }, "RetrieveTapeArchive":{ "name":"RetrieveTapeArchive", @@ -697,7 +711,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a gateway-VTL. Virtual tapes archived in the VTS are not associated with any gateway. However after a tape is retrieved, it is associated with a gateway, even though it is also listed in the VTS.

Once a tape is successfully retrieved to a gateway, it cannot be retrieved again to another gateway. You must archive the tape again before you can retrieve it to another gateway.

" + "documentation":"

Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a tape gateway. Virtual tapes archived in the VTS are not associated with any gateway. However after a tape is retrieved, it is associated with a gateway, even though it is also listed in the VTS, that is, archive. This operation is only supported in the tape gateway architecture.

Once a tape is successfully retrieved to a gateway, it cannot be retrieved again to another gateway. You must archive the tape again before you can retrieve it to another gateway. This operation is only supported in the tape gateway architecture.

" }, "RetrieveTapeRecoveryPoint":{ "name":"RetrieveTapeRecoveryPoint", @@ -711,7 +725,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Retrieves the recovery point for the specified virtual tape.

A recovery point is a point in time view of a virtual tape at which all the data on the tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway.

The virtual tape can be retrieved to only one gateway. The retrieved tape is read-only. The virtual tape can be retrieved to only a gateway-VTL. There is no charge for retrieving recovery points.

" + "documentation":"

Retrieves the recovery point for the specified virtual tape. This operation is only supported in the tape gateway architecture.

A recovery point is a point in time view of a virtual tape at which all the data on the tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway.

The virtual tape can be retrieved to only one gateway. The retrieved tape is read-only. The virtual tape can be retrieved to only a tape gateway. There is no charge for retrieving recovery points.

" }, "SetLocalConsolePassword":{ "name":"SetLocalConsolePassword", @@ -739,7 +753,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Shuts down a gateway. To specify which gateway to shut down, use the Amazon Resource Name (ARN) of the gateway in the body of your request.

The operation shuts down the gateway service component running in the storage gateway's virtual machine (VM) and not the VM.

If you want to shut down the VM, it is recommended that you first shut down the gateway component in the VM to avoid unpredictable conditions.

After the gateway is shutdown, you cannot call any other API except StartGateway, DescribeGatewayInformation, and ListGateways. For more information, see ActivateGateway. Your applications cannot read from or write to the gateway's storage volumes, and there are no snapshots taken.

When you make a shutdown request, you will get a 200 OK success response immediately. However, it might take some time for the gateway to shut down. You can call the DescribeGatewayInformation API to check the status. For more information, see ActivateGateway.

If do not intend to use the gateway again, you must delete the gateway (using DeleteGateway) to no longer pay software charges associated with the gateway.

" + "documentation":"

Shuts down a gateway. To specify which gateway to shut down, use the Amazon Resource Name (ARN) of the gateway in the body of your request.

The operation shuts down the gateway service component running in the gateway's virtual machine (VM) and not the host VM.

If you want to shut down the VM, it is recommended that you first shut down the gateway component in the VM to avoid unpredictable conditions.

After the gateway is shutdown, you cannot call any other API except StartGateway, DescribeGatewayInformation, and ListGateways. For more information, see ActivateGateway. Your applications cannot read from or write to the gateway's storage volumes, and there are no snapshots taken.

When you make a shutdown request, you will get a 200 OK success response immediately. However, it might take some time for the gateway to shut down. You can call the DescribeGatewayInformation API to check the status. For more information, see ActivateGateway.

If do not intend to use the gateway again, you must delete the gateway (using DeleteGateway) to no longer pay software charges associated with the gateway.

" }, "StartGateway":{ "name":"StartGateway", @@ -837,7 +851,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Updates a file share.

To leave a file share field unchanged, set the corresponding input field to null.

" + "documentation":"

Updates a file share. This operation is only supported in the file gateway architecture.

To leave a file share field unchanged, set the corresponding input field to null.

Updates the following file share setting:

  • Default storage class for your S3 bucket

  • Metadata defaults for your S3 bucket

  • Allowed NFS clients for your file share

  • Squash settings

  • Write status of your file share

To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported in file gateways.

" }, "UpdateSnapshotSchedule":{ "name":"UpdateSnapshotSchedule", @@ -851,7 +865,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Updates a snapshot schedule configured for a gateway volume.

The default snapshot schedule for volume is once every 24 hours, starting at the creation time of the volume. You can use this API to change the snapshot schedule configured for the volume.

In the request you must identify the gateway volume whose snapshot schedule you want to update, and the schedule information, including when you want the snapshot to begin on a day and the frequency (in hours) of snapshots.

" + "documentation":"

Updates a snapshot schedule configured for a gateway volume. This operation is only supported in the cached volume and stored volume gateway architectures.

The default snapshot schedule for volume is once every 24 hours, starting at the creation time of the volume. You can use this API to change the snapshot schedule configured for the volume.

In the request you must identify the gateway volume whose snapshot schedule you want to update, and the schedule information, including when you want the snapshot to begin on a day and the frequency (in hours) of snapshots.

" }, "UpdateVTLDeviceType":{ "name":"UpdateVTLDeviceType", @@ -865,7 +879,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

Updates the type of medium changer in a gateway-VTL. When you activate a gateway-VTL, you select a medium changer type for the gateway-VTL. This operation enables you to select a different type of medium changer after a gateway-VTL is activated.

" + "documentation":"

Updates the type of medium changer in a tape gateway. When you activate a tape gateway, you select a medium changer type for the tape gateway. This operation enables you to select a different type of medium changer after a tape gateway is activated. This operation is only supported in the tape gateway architecture.

" } }, "shapes":{ @@ -888,23 +902,23 @@ }, "GatewayTimezone":{ "shape":"GatewayTimezone", - "documentation":"

A value that indicates the time zone you want to set for the gateway. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.

" + "documentation":"

A value that indicates the time zone you want to set for the gateway. The time zone is of the format \"GMT-hr:mm\" or \"GMT+hr:mm\". For example, GMT-4:00 indicates the time is 4 hours behind GMT. GMT+2:00 indicates the time is 2 hours ahead of GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.

" }, "GatewayRegion":{ "shape":"RegionId", - "documentation":"

A value that indicates the region where you want to store the snapshot backups. The gateway region specified must be the same region as the region in your Host header in the request. For more information about available regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary.

Valid Values: \"us-east-1\", \"us-west-1\", \"us-west-2\", \"eu-west-1\", \"eu-central-1\", \"ap-northeast-1\", \"ap-northeast-2\", \"ap-southeast-1\", \"ap-southeast-2\", \"sa-east-1\"

" + "documentation":"

A value that indicates the region where you want to store your data. The gateway region specified must be the same region as the region in your Host header in the request. For more information about available regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary.

Valid Values: \"us-east-1\", \"us-east-2\", \"us-west-1\", \"us-west-2\", \"ca-central-1\", \"eu-west-1\", \"eu-central-1\", \"eu-west-2\", \"ap-northeast-1\", \"ap-northeast-2\", \"ap-southeast-1\", \"ap-southeast-2\", \"ap-south-1\", \"sa-east-1\"

" }, "GatewayType":{ "shape":"GatewayType", - "documentation":"

A value that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is STORED.

" + "documentation":"

A value that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is STORED.

Valid Values: \"STORED\", \"CACHED\", \"VTL\", \"FILE_S3\"

" }, "TapeDriveType":{ "shape":"TapeDriveType", - "documentation":"

The value that indicates the type of tape drive to use for gateway-VTL. This field is optional.

Valid Values: \"IBM-ULT3580-TD5\"

" + "documentation":"

The value that indicates the type of tape drive to use for tape gateway. This field is optional.

Valid Values: \"IBM-ULT3580-TD5\"

" }, "MediumChangerType":{ "shape":"MediumChangerType", - "documentation":"

The value that indicates the type of medium changer to use for gateway-VTL. This field is optional.

Valid Values: \"STK-L700\", \"AWS-Gateway-VTL\"

" + "documentation":"

The value that indicates the type of medium changer to use for tape gateway. This field is optional.

Valid Values: \"STK-L700\", \"AWS-Gateway-VTL\"

" } }, "documentation":"

A JSON object containing one or more of the following fields:

" @@ -1018,7 +1032,10 @@ "type":"long", "min":51200 }, - "Boolean":{"type":"boolean"}, + "Boolean":{ + "type":"boolean", + "documentation":"

A value that indicates whether the write status of a file share is read-only: \"true\" if write status is read-only, and otherwise \"false\".

" + }, "CachediSCSIVolume":{ "type":"structure", "members":{ @@ -1054,7 +1071,10 @@ "shape":"VolumeiSCSIAttributes", "documentation":"

An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes for one stored volume.

" }, - "CreatedDate":{"shape":"CreatedDate"} + "CreatedDate":{ + "shape":"CreatedDate", + "documentation":"

The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp.

" + } }, "documentation":"

Describes an iSCSI cached volume.

" }, @@ -1212,11 +1232,23 @@ }, "LocationARN":{ "shape":"LocationARN", - "documentation":"

The ARN of the backend storage used for storing file data.

" + "documentation":"

The ARN of the backed storage used for storing file data.

" }, "DefaultStorageClass":{ "shape":"StorageClass", "documentation":"

The default storage class for objects put into an Amazon S3 bucket by file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

" + }, + "ClientList":{ + "shape":"FileShareClientList", + "documentation":"

The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

" + }, + "Squash":{ + "shape":"Squash", + "documentation":"

Maps a user to anonymous user. Valid options are the following:

  • \"RootSquash\" - Only root is mapped to anonymous user.

  • \"NoSquash\" - No one is mapped to anonymous user.

  • \"AllSquash\" - Everyone is mapped to anonymous user.

" + }, + "ReadOnly":{ + "shape":"Boolean", + "documentation":"

Sets the write status of a file share: \"true\" if the write status is read-only, and otherwise \"false\".

" } }, "documentation":"

CreateNFSFileShareInput

" @@ -1873,7 +1905,7 @@ "GatewayARN":{"shape":"GatewayARN"}, "TapeARNs":{ "shape":"TapeARNs", - "documentation":"

Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe. If this parameter is not specified, AWS Storage Gateway returns a description of all virtual tapes associated with the specified gateway.

" + "documentation":"

Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe. If this parameter is not specified, Tape gateway returns a description of all virtual tapes associated with the specified gateway.

" }, "Marker":{ "shape":"Marker", @@ -2137,6 +2169,13 @@ "max":10, "min":1 }, + "FileShareClientList":{ + "type":"list", + "member":{"shape":"IPV4AddressCIDR"}, + "documentation":"

The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

", + "max":100, + "min":1 + }, "FileShareId":{ "type":"string", "documentation":"

The ID of the file share.

", @@ -2240,6 +2279,10 @@ "max":23, "min":0 }, + "IPV4AddressCIDR":{ + "type":"string", + "pattern":"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" + }, "Initiator":{ "type":"string", "max":50, @@ -2537,7 +2580,7 @@ "documentation":"

The default owner ID for files in the file share (unless the files have another owner ID specified). The default value is nfsnobody.

" } }, - "documentation":"

Describes file share default values. Files and folders stored as Amazon S3 objects in S3 buckets don't, by default, have Unix file permissions assigned to them. Upon discovery in an S3 bucket by Storage Gateway, the S3 objects that represent files and folders are assigned these default Unix permissions.

" + "documentation":"

Describes file share default values. Files and folders stored as Amazon S3 objects in S3 buckets don't, by default, have Unix file permissions assigned to them. Upon discovery in an S3 bucket by Storage Gateway, the S3 objects that represent files and folders are assigned these default Unix permissions. This operation is only supported in the file gateway architecture.

" }, "NFSFileShareInfo":{ "type":"structure", @@ -2558,9 +2601,12 @@ "DefaultStorageClass":{ "shape":"StorageClass", "documentation":"

The default storage class for objects put into an Amazon S3 bucket by file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

" - } + }, + "ClientList":{"shape":"FileShareClientList"}, + "Squash":{"shape":"Squash"}, + "ReadOnly":{"shape":"Boolean"} }, - "documentation":"

The Unix file permissions and ownership information assigned, by default, to native S3 objects when Storage Gateway discovers them in S3 buckets.

" + "documentation":"

The Unix file permissions and ownership information assigned, by default, to native S3 objects when file gateway discovers them in S3 buckets. This operation is only supported in file gateways.

" }, "NFSFileShareInfoList":{ "type":"list", @@ -2622,6 +2668,19 @@ "max":24, "min":1 }, + "RefreshCacheInput":{ + "type":"structure", + "required":["FileShareARN"], + "members":{ + "FileShareARN":{"shape":"FileShareARN"} + } + }, + "RefreshCacheOutput":{ + "type":"structure", + "members":{ + "FileShareARN":{"shape":"FileShareARN"} + } + }, "RegionId":{ "type":"string", "max":25, @@ -2686,7 +2745,7 @@ }, "GatewayARN":{ "shape":"GatewayARN", - "documentation":"

The Amazon Resource Name (ARN) of the gateway you want to retrieve the virtual tape to. Use the ListGateways operation to return a list of gateways for your account and region.

You retrieve archived virtual tapes to only one gateway and the gateway must be a gateway-VTL.

" + "documentation":"

The Amazon Resource Name (ARN) of the gateway you want to retrieve the virtual tape to. Use the ListGateways operation to return a list of gateways for your account and region.

You retrieve archived virtual tapes to only one gateway and the gateway must be a tape gateway.

" } }, "documentation":"

RetrieveTapeArchiveInput

" @@ -2792,6 +2851,12 @@ "type":"string", "pattern":"\\Asnap-([0-9A-Fa-f]{8}|[0-9A-Fa-f]{17})\\z" }, + "Squash":{ + "type":"string", + "documentation":"

The user mapped to anonymous user. Valid options are the following:

  • \"RootSquash\" - Only root is mapped to anonymous user.

  • \"NoSquash\" - No one is mapped to anonymous user

  • \"AllSquash\" - Everyone is mapped to anonymous user.

", + "max":15, + "min":5 + }, "StartGatewayInput":{ "type":"structure", "required":["GatewayARN"], @@ -2870,7 +2935,10 @@ "shape":"VolumeiSCSIAttributes", "documentation":"

An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes for one stored volume.

" }, - "CreatedDate":{"shape":"CreatedDate"} + "CreatedDate":{ + "shape":"CreatedDate", + "documentation":"

The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp.

" + } }, "documentation":"

Describes an iSCSI stored volume.

" }, @@ -2918,10 +2986,13 @@ "shape":"TapeBarcode", "documentation":"

The barcode that identifies a specific virtual tape.

" }, - "TapeCreatedDate":{"shape":"Time"}, + "TapeCreatedDate":{ + "shape":"Time", + "documentation":"

The date the virtual tape was created.

" + }, "TapeSizeInBytes":{ "shape":"TapeSize", - "documentation":"

The size, in bytes, of the virtual tape.

" + "documentation":"

The size, in bytes, of the virtual tape capacity.

" }, "TapeStatus":{ "shape":"TapeStatus", @@ -2934,6 +3005,10 @@ "Progress":{ "shape":"DoubleObject", "documentation":"

For archiving virtual tapes, indicates how much data remains to be uploaded before archiving is complete.

Range: 0 (not started) to 100 (complete).

" + }, + "TapeUsedInBytes":{ + "shape":"TapeUsage", + "documentation":"

The size, in bytes, of data written to the virtual tape.

This value is not available for tapes created prior to May,13 2015.

" } }, "documentation":"

Describes a virtual tape object.

" @@ -2971,11 +3046,15 @@ }, "RetrievedTo":{ "shape":"GatewayARN", - "documentation":"

The Amazon Resource Name (ARN) of the gateway-VTL that the virtual tape is being retrieved to.

The virtual tape is retrieved from the virtual tape shelf (VTS).

" + "documentation":"

The Amazon Resource Name (ARN) of the tape gateway that the virtual tape is being retrieved to.

The virtual tape is retrieved from the virtual tape shelf (VTS).

" }, "TapeStatus":{ "shape":"TapeArchiveStatus", "documentation":"

The current state of the archived virtual tape.

" + }, + "TapeUsedInBytes":{ + "shape":"TapeUsage", + "documentation":"

The size, in bytes, of data written to the virtual tape.

This value is not available for tapes created prior to May,13 2015.

" } }, "documentation":"

Represents a virtual tape that is archived in the virtual tape shelf (VTS).

" @@ -3059,6 +3138,7 @@ "TapeRecoveryPointStatus":{"type":"string"}, "TapeSize":{"type":"long"}, "TapeStatus":{"type":"string"}, + "TapeUsage":{"type":"long"}, "Tapes":{ "type":"list", "member":{"shape":"Tape"} @@ -3226,6 +3306,18 @@ "DefaultStorageClass":{ "shape":"StorageClass", "documentation":"

The default storage class for objects put into an Amazon S3 bucket by a file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

" + }, + "ClientList":{ + "shape":"FileShareClientList", + "documentation":"

The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

" + }, + "Squash":{ + "shape":"Squash", + "documentation":"

The user mapped to anonymous user. Valid options are the following:

  • \"RootSquash\" - Only root is mapped to anonymous user.

  • \"NoSquash\" - No one is mapped to anonymous user

  • \"AllSquash\" - Everyone is mapped to anonymous user.

" + }, + "ReadOnly":{ + "shape":"Boolean", + "documentation":"

Sets the write status of a file share: \"true\" if the write status is read-only, and otherwise \"false\".

" } }, "documentation":"

UpdateNFSFileShareInput

" @@ -3319,7 +3411,7 @@ "documentation":"

A list of iSCSI information about a VTL device.

" } }, - "documentation":"

Represents a device object associated with a gateway-VTL.

" + "documentation":"

Represents a device object associated with a tape gateway.

" }, "VTLDeviceARN":{ "type":"string", @@ -3439,5 +3531,5 @@ "long":{"type":"long"}, "string":{"type":"string"} }, - "documentation":"AWS Storage Gateway Service

AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and AWS's storage infrastructure. The service enables you to securely upload data to the AWS cloud for cost effective backup and rapid disaster recovery.

Use the following links to get started using the AWS Storage Gateway Service API Reference:

AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-1122AABB. When you use this ID with the EC2 API, you must change it to vol-1122aabb. Otherwise, the EC2 API might not behave as expected.

IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS Resource IDs.

For example, a volume ARN with the longer volume ID format will look like this:

arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

A snapshot ID with the longer ID format will look like this: snap-78e226633445566ee.

For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016.

" + "documentation":"AWS Storage Gateway Service

AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and AWS's storage infrastructure. The service enables you to securely upload data to the AWS cloud for cost effective backup and rapid disaster recovery.

Use the following links to get started using the AWS Storage Gateway Service API Reference:

AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with the EC2 API, you must change it to vol-aa22bb012345daf670. Otherwise, the EC2 API might not behave as expected.

IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS Resource IDs.

For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following:

arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee.

For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016.

" } diff --git a/botocore/data/sts/2011-06-15/examples-1.json b/botocore/data/sts/2011-06-15/examples-1.json new file mode 100644 index 00000000..84442a10 --- /dev/null +++ b/botocore/data/sts/2011-06-15/examples-1.json @@ -0,0 +1,206 @@ +{ + "version": "1.0", + "examples": { + "AssumeRole": [ + { + "input": { + "DurationSeconds": 3600, + "ExternalId": "123ABC", + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}]}", + "RoleArn": "arn:aws:iam::123456789012:role/demo", + "RoleSessionName": "Bob" + }, + "output": { + "AssumedRoleUser": { + "Arn": "arn:aws:sts::123456789012:assumed-role/demo/Bob", + "AssumedRoleId": "ARO123EXAMPLE123:Bob" + }, + "Credentials": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "Expiration": "2011-07-15T23:28:33.359Z", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", + "SessionToken": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==" + }, + "PackedPolicySize": 6 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "to-assume-a-role-1480532402212", + "title": "To assume a role" + } + ], + "AssumeRoleWithWebIdentity": [ + { + "input": { + "DurationSeconds": 3600, + "ProviderId": "www.amazon.com", + "RoleArn": "arn:aws:iam::123456789012:role/FederatedWebIdentityRole", + "RoleSessionName": "app1", + "WebIdentityToken": "Atza%7CIQEBLjAsAhRFiXuWpUXuRvQ9PZL3GMFcYevydwIUFAHZwXZXXXXXXXXJnrulxKDHwy87oGKPznh0D6bEQZTSCzyoCtL_8S07pLpr0zMbn6w1lfVZKNTBdDansFBmtGnIsIapjI6xKR02Yc_2bQ8LZbUXSGm6Ry6_BG7PrtLZtj_dfCTj92xNGed-CrKqjG7nPBjNIL016GGvuS5gSvPRUxWES3VYfm1wl7WTI7jn-Pcb6M-buCgHhFOzTQxod27L9CqnOLio7N3gZAGpsp6n1-AJBOCJckcyXe2c6uD0srOJeZlKUm2eTDVMf8IehDVI0r1QOnTV6KzzAI3OY87Vd_cVMQ" + }, + "output": { + "AssumedRoleUser": { + "Arn": "arn:aws:sts::123456789012:assumed-role/FederatedWebIdentityRole/app1", + "AssumedRoleId": "AROACLKWSDQRAOEXAMPLE:app1" + }, + "Audience": "client.5498841531868486423.1548@apps.example.com", + "Credentials": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "Expiration": "2014-10-24T23:00:23Z", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", + "SessionToken": "AQoDYXdzEE0a8ANXXXXXXXXNO1ewxE5TijQyp+IEXAMPLE" + }, + "PackedPolicySize": 123, + "Provider": "www.amazon.com", + "SubjectFromWebIdentityToken": "amzn1.account.AF6RHO7KZU5XRVQJGXK6HEXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "to-assume-a-role-as-an-openid-connect-federated-user-1480533445696", + "title": "To assume a role as an OpenID Connect-federated user" + } + ], + "DecodeAuthorizationMessage": [ + { + "input": { + "EncodedMessage": "" + }, + "output": { + "DecodedMessage": "{\"allowed\": \"false\",\"explicitDeny\": \"false\",\"matchedStatements\": \"\",\"failures\": \"\",\"context\": {\"principal\": {\"id\": \"AIDACKCEVSQ6C2EXAMPLE\",\"name\": \"Bob\",\"arn\": \"arn:aws:iam::123456789012:user/Bob\"},\"action\": \"ec2:StopInstances\",\"resource\": \"arn:aws:ec2:us-east-1:123456789012:instance/i-dd01c9bd\",\"conditions\": [{\"item\": {\"key\": \"ec2:Tenancy\",\"values\": [\"default\"]},{\"item\": {\"key\": \"ec2:ResourceTag/elasticbeanstalk:environment-name\",\"values\": [\"Default-Environment\"]}},(Additional items ...)]}}" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "to-decode-information-about-an-authorization-status-of-a-request-1480533854499", + "title": "To decode information about an authorization status of a request" + } + ], + "GetCallerIdentity": [ + { + "input": { + }, + "output": { + "Account": "123456789012", + "Arn": "arn:aws:iam::123456789012:user/Alice", + "UserId": "AKIAI44QH8DHBEXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows a request and response made with the credentials for a user named Alice in the AWS account 123456789012.", + "id": "to-get-details-about-a-calling-iam-user-1480540050376", + "title": "To get details about a calling IAM user" + }, + { + "input": { + }, + "output": { + "Account": "123456789012", + "Arn": "arn:aws:sts::123456789012:assumed-role/my-role-name/my-role-session-name", + "UserId": "AKIAI44QH8DHBEXAMPLE:my-role-session-name" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows a request and response made with temporary credentials created by AssumeRole. The name of the assumed role is my-role-name, and the RoleSessionName is set to my-role-session-name.", + "id": "to-get-details-about-a-calling-user-federated-with-assumerole-1480540158545", + "title": "To get details about a calling user federated with AssumeRole" + }, + { + "input": { + }, + "output": { + "Account": "123456789012", + "Arn": "arn:aws:sts::123456789012:federated-user/my-federated-user-name", + "UserId": "123456789012:my-federated-user-name" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows a request and response made with temporary credentials created by using GetFederationToken. The Name parameter is set to my-federated-user-name.", + "id": "to-get-details-about-a-calling-user-federated-with-getfederationtoken-1480540231316", + "title": "To get details about a calling user federated with GetFederationToken" + } + ], + "GetFederationToken": [ + { + "input": { + "DurationSeconds": 3600, + "Name": "Bob", + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}]}" + }, + "output": { + "Credentials": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "Expiration": "2011-07-15T23:28:33.359Z", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", + "SessionToken": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==" + }, + "FederatedUser": { + "Arn": "arn:aws:sts::123456789012:federated-user/Bob", + "FederatedUserId": "123456789012:Bob" + }, + "PackedPolicySize": 6 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "to-get-temporary-credentials-for-a-role-by-using-getfederationtoken-1480540749900", + "title": "To get temporary credentials for a role by using GetFederationToken" + } + ], + "GetSessionToken": [ + { + "input": { + "DurationSeconds": 3600, + "SerialNumber": "YourMFASerialNumber", + "TokenCode": "123456" + }, + "output": { + "Credentials": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "Expiration": "2011-07-11T19:55:29.611Z", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", + "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "to-get-temporary-credentials-for-an-iam-user-or-an-aws-account-1480540814038", + "title": "To get temporary credentials for an IAM user or an AWS account" + } + ] + } +} diff --git a/botocore/data/sts/2011-06-15/paginators-1.json b/botocore/data/sts/2011-06-15/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/sts/2011-06-15/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/sts/2011-06-15/service-2.json b/botocore/data/sts/2011-06-15/service-2.json index 20439266..be79b355 100644 --- a/botocore/data/sts/2011-06-15/service-2.json +++ b/botocore/data/sts/2011-06-15/service-2.json @@ -163,7 +163,7 @@ }, "ExternalId":{ "shape":"externalIdType", - "documentation":"

A unique identifier that is used by third parties when assuming roles in their customers' accounts. For each role that the third party can assume, they should instruct their customers to ensure the role's trust policy checks for the external ID that the third party generated. Each time the third party assumes the role, they should pass the customer's external ID. The external ID is useful in order to help third parties bind a role to the customer who created it. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS Resources to a Third Party in the IAM User Guide.

The regex used to validated this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:\\/-

" + "documentation":"

A unique identifier that is used by third parties when assuming roles in their customers' accounts. For each role that the third party can assume, they should instruct their customers to ensure the role's trust policy checks for the external ID that the third party generated. Each time the third party assumes the role, they should pass the customer's external ID. The external ID is useful in order to help third parties bind a role to the customer who created it. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS Resources to a Third Party in the IAM User Guide.

The regex used to validated this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

" }, "SerialNumber":{ "shape":"serialNumberType", @@ -491,7 +491,7 @@ }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the AWS Management Console and viewing the user's security credentials.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

" + "documentation":"

The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the AWS Management Console and viewing the user's security credentials.

The regex used to validated this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

" }, "TokenCode":{ "shape":"tokenCodeType", @@ -611,7 +611,7 @@ "SubjectType":{"type":"string"}, "accessKeyIdType":{ "type":"string", - "max":32, + "max":128, "min":16, "pattern":"[\\w]*" }, @@ -625,7 +625,7 @@ }, "assumedRoleIdType":{ "type":"string", - "max":96, + "max":193, "min":2, "pattern":"[\\w+=,.@:-]*" }, @@ -655,7 +655,7 @@ }, "federatedIdType":{ "type":"string", - "max":96, + "max":193, "min":2, "pattern":"[\\w+=,.@\\:-]*" }, diff --git a/botocore/data/support/2013-04-15/examples-1.json b/botocore/data/support/2013-04-15/examples-1.json new file mode 100755 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/support/2013-04-15/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/waf-regional/2016-11-28/examples-1.json b/botocore/data/waf-regional/2016-11-28/examples-1.json new file mode 100644 index 00000000..eee5b6f4 --- /dev/null +++ b/botocore/data/waf-regional/2016-11-28/examples-1.json @@ -0,0 +1,1017 @@ +{ + "version": "1.0", + "examples": { + "CreateIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MyIPSetFriendlyName" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSet": { + "IPSetDescriptors": [ + { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + ], + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Name": "MyIPSetFriendlyName" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an IP match set named MyIPSetFriendlyName.", + "id": "createipset-1472501003122", + "title": "To create an IP set" + } + ], + "CreateRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Rule": { + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule", + "Predicates": [ + { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + ], + "RuleId": "WAFRule-1-Example" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a rule named WAFByteHeaderRule.", + "id": "createrule-1474072675555", + "title": "To create a rule" + } + ], + "CreateSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySampleSizeConstraintSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSet": { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SizeConstraints": [ + { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates size constraint set named MySampleSizeConstraintSet.", + "id": "createsizeconstraint-1474299140754", + "title": "To create a size constraint" + } + ], + "CreateSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySQLInjectionMatchSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSet": { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SqlInjectionMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a SQL injection match set named MySQLInjectionMatchSet.", + "id": "createsqlinjectionmatchset-1474492796105", + "title": "To create a SQL injection match set" + } + ], + "CreateWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "WebACL": { + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample", + "Rules": [ + { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + ], + "WebACLId": "example-46da-4444-5555-example" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a web ACL named CreateExample.", + "id": "createwebacl-1472061481310", + "title": "To create a web ACL" + } + ], + "CreateXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySampleXssMatchSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "XssMatchSet": { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "XssMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an XSS match set named MySampleXssMatchSet.", + "id": "createxssmatchset-1474560868500", + "title": "To create an XSS match set" + } + ], + "DeleteByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletebytematchset-1473367566229", + "title": "To delete a byte match set" + } + ], + "DeleteIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deleteipset-1472767434306", + "title": "To delete an IP set" + } + ], + "DeleteRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "RuleId": "WAFRule-1-Example" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a rule with the ID WAFRule-1-Example.", + "id": "deleterule-1474073108749", + "title": "To delete a rule" + } + ], + "DeleteSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a size constraint set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletesizeconstraintset-1474299857905", + "title": "To delete a size constraint set" + } + ], + "DeleteSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletesqlinjectionmatchset-1474493373197", + "title": "To delete a SQL injection match set" + } + ], + "DeleteWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "WebACLId": "example-46da-4444-5555-example" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a web ACL with the ID example-46da-4444-5555-example.", + "id": "deletewebacl-1472767755931", + "title": "To delete a web ACL" + } + ], + "DeleteXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an XSS match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletexssmatchset-1474561302618", + "title": "To delete an XSS match set" + } + ], + "GetByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ByteMatchSet": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ByteMatchTuples": [ + { + "FieldToMatch": { + "Data": "referer", + "Type": "HEADER" + }, + "PositionalConstraint": "CONTAINS", + "TargetString": "badrefer1", + "TextTransformation": "NONE" + } + ], + "Name": "ByteMatchNameExample" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getbytematchset-1473273311532", + "title": "To get a byte match set" + } + ], + "GetChangeToken": [ + { + "input": { + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a change token to use for a create, update or delete operation.", + "id": "get-change-token-example-1471635120794", + "title": "To get a change token" + } + ], + "GetChangeTokenStatus": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "output": { + "ChangeTokenStatus": "PENDING" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the status of a change token with the ID abcd12f2-46da-4fdb-b8d5-fbd4c466928f.", + "id": "getchangetokenstatus-1474658417107", + "title": "To get the change token status" + } + ], + "GetIPSet": [ + { + "input": { + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "IPSet": { + "IPSetDescriptors": [ + { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + ], + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Name": "MyIPSetFriendlyName" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getipset-1474658688675", + "title": "To get an IP set" + } + ], + "GetRule": [ + { + "input": { + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "Rule": { + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule", + "Predicates": [ + { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + ], + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getrule-1474659238790", + "title": "To get a rule" + } + ], + "GetSampledRequests": [ + { + "input": { + "MaxItems": 100, + "RuleId": "WAFRule-1-Example", + "TimeWindow": { + "EndTime": "2016-09-27T15:50Z", + "StartTime": "2016-09-27T15:50Z" + }, + "WebAclId": "createwebacl-1472061481310" + }, + "output": { + "PopulationSize": 50, + "SampledRequests": [ + { + "Action": "BLOCK", + "Request": { + "ClientIP": "192.0.2.44", + "Country": "US", + "HTTPVersion": "HTTP/1.1", + "Headers": [ + { + "Name": "User-Agent", + "Value": "BadBot " + } + ], + "Method": "HEAD" + }, + "Timestamp": "2016-09-27T14:55Z", + "Weight": 1 + } + ], + "TimeWindow": { + "EndTime": "2016-09-27T15:50Z", + "StartTime": "2016-09-27T14:50Z" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns detailed information about 100 requests --a sample-- that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received between the time period 2016-09-27T15:50Z to 2016-09-27T15:50Z.", + "id": "getsampledrequests-1474927997195", + "title": "To get a sampled requests" + } + ], + "GetSizeConstraintSet": [ + { + "input": { + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "SizeConstraintSet": { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SizeConstraints": [ + { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a size constraint match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getsizeconstraintset-1475005422493", + "title": "To get a size constraint set" + } + ], + "GetSqlInjectionMatchSet": [ + { + "input": { + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "SqlInjectionMatchSet": { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SqlInjectionMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getsqlinjectionmatchset-1475005940137", + "title": "To get a SQL injection match set" + } + ], + "GetWebACL": [ + { + "input": { + "WebACLId": "createwebacl-1472061481310" + }, + "output": { + "WebACL": { + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample", + "Rules": [ + { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + ], + "WebACLId": "createwebacl-1472061481310" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a web ACL with the ID createwebacl-1472061481310.", + "id": "getwebacl-1475006348525", + "title": "To get a web ACL" + } + ], + "GetXssMatchSet": [ + { + "input": { + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "XssMatchSet": { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "XssMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of an XSS match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getxssmatchset-1475187879017", + "title": "To get an XSS match set" + } + ], + "ListIPSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "IPSets": [ + { + "IPSetId": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MyIPSetFriendlyName" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 IP match sets.", + "id": "listipsets-1472235676229", + "title": "To list IP sets" + } + ], + "ListRules": [ + { + "input": { + "Limit": 100 + }, + "output": { + "Rules": [ + { + "Name": "WAFByteHeaderRule", + "RuleId": "WAFRule-1-Example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 rules.", + "id": "listrules-1475258406433", + "title": "To list rules" + } + ], + "ListSizeConstraintSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "SizeConstraintSets": [ + { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 size contraint match sets.", + "id": "listsizeconstraintsets-1474300067597", + "title": "To list a size constraint sets" + } + ], + "ListSqlInjectionMatchSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "SqlInjectionMatchSets": [ + { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 SQL injection match sets.", + "id": "listsqlinjectionmatchset-1474493560103", + "title": "To list SQL injection match sets" + } + ], + "ListWebACLs": [ + { + "input": { + "Limit": 100 + }, + "output": { + "WebACLs": [ + { + "Name": "WebACLexample", + "WebACLId": "webacl-1472061481310" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 web ACLs.", + "id": "listwebacls-1475258732691", + "title": "To list Web ACLs" + } + ], + "ListXssMatchSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "XssMatchSets": [ + { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 XSS match sets.", + "id": "listxssmatchsets-1474561481168", + "title": "To list XSS match sets" + } + ], + "UpdateByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Updates": [ + { + "Action": "DELETE", + "ByteMatchTuple": { + "FieldToMatch": { + "Data": "referer", + "Type": "HEADER" + }, + "PositionalConstraint": "CONTAINS", + "TargetString": "badrefer1", + "TextTransformation": "NONE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a ByteMatchTuple object (filters) in an byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatebytematchset-1475259074558", + "title": "To update a byte match set" + } + ], + "UpdateIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "IPSetDescriptor": { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an IPSetDescriptor object in an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updateipset-1475259733625", + "title": "To update an IP set" + } + ], + "UpdateRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "Predicate": { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a Predicate object in a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updaterule-1475260064720", + "title": "To update a rule" + } + ], + "UpdateSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "SizeConstraint": { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SizeConstraint object (filters) in a size constraint set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatesizeconstraintset-1475531697891", + "title": "To update a size constraint set" + } + ], + "UpdateSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "SqlInjectionMatchTuple": { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SqlInjectionMatchTuple object (filters) in a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatesqlinjectionmatchset-1475532094686", + "title": "To update a SQL injection match set" + } + ], + "UpdateWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "DefaultAction": { + "Type": "ALLOW" + }, + "Updates": [ + { + "Action": "DELETE", + "ActivatedRule": { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + } + ], + "WebACLId": "webacl-1472061481310" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an ActivatedRule object in a WebACL with the ID webacl-1472061481310.", + "id": "updatewebacl-1475533627385", + "title": "To update a Web ACL" + } + ], + "UpdateXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Updates": [ + { + "Action": "DELETE", + "XssMatchTuple": { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + } + ], + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an XssMatchTuple object (filters) in an XssMatchSet with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatexssmatchset-1475534098881", + "title": "To update an XSS match set" + } + ] + } +} diff --git a/botocore/data/waf-regional/2016-11-28/paginators-1.json b/botocore/data/waf-regional/2016-11-28/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/waf-regional/2016-11-28/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/waf-regional/2016-11-28/service-2.json b/botocore/data/waf-regional/2016-11-28/service-2.json index cf1cb29e..432c8a36 100644 --- a/botocore/data/waf-regional/2016-11-28/service-2.json +++ b/botocore/data/waf-regional/2016-11-28/service-2.json @@ -65,6 +65,23 @@ ], "documentation":"

Creates an IPSet, which you use to specify which web requests you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.

  2. Submit a CreateIPSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, + "CreateRateBasedRule":{ + "name":"CreateRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRateBasedRuleRequest"}, + "output":{"shape":"CreateRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The RateBasedRule also contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to count or block if these requests exceed the RateLimit.

If you add more than one predicate to a RateBasedRule, a request not only must exceed the RateLimit, but it also must match all the specifications to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

Further, you specify a RateLimit of 15,000.

You then add the RateBasedRule to a WebACL and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions must be received at a rate of more than 15,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 15,000 for a five-minute period, AWS WAF no longer blocks the requests.

As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

  • A ByteMatchSet with FieldToMatch of URI

  • A PositionalConstraint of STARTS_WITH

  • A TargetString of login

Further, you specify a RateLimit of 15,000.

By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

To create and configure a RateBasedRule, perform the following steps:

  1. Create and update the predicates that you want to include in the rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRateBasedRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRateBasedRule request to specify the predicates that you want to include in the rule.

  6. Create and update a WebACL that contains the RateBasedRule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + }, "CreateRule":{ "name":"CreateRule", "http":{ @@ -190,6 +207,24 @@ ], "documentation":"

Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses.

If you just want to remove an IPSet from a Rule, use UpdateRule.

To permanently delete an IPSet from AWS WAF, perform the following steps:

  1. Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request.

  3. Submit a DeleteIPSet request.

" }, + "DeleteRateBasedRule":{ + "name":"DeleteRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRateBasedRuleRequest"}, + "output":{"shape":"DeleteRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

Permanently deletes a RateBasedRule. You can't delete a rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

If you just want to remove a rule from a WebACL, use UpdateWebACL.

To permanently delete a RateBasedRule from AWS WAF, perform the following steps:

  1. Update the RateBasedRule to remove predicates, if any. For more information, see UpdateRateBasedRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRateBasedRule request.

  3. Submit a DeleteRateBasedRule request.

" + }, "DeleteRule":{ "name":"DeleteRule", "http":{ @@ -353,6 +388,37 @@ ], "documentation":"

Returns the IPSet that is specified by IPSetId.

" }, + "GetRateBasedRule":{ + "name":"GetRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRateBasedRuleRequest"}, + "output":{"shape":"GetRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

Returns the RateBasedRule that is specified by the RuleId that you included in the GetRateBasedRule request.

" + }, + "GetRateBasedRuleManagedKeys":{ + "name":"GetRateBasedRuleManagedKeys", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRateBasedRuleManagedKeysRequest"}, + "output":{"shape":"GetRateBasedRuleManagedKeysResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

Returns an array of IP addresses currently being blocked by the RateBasedRule that is specified by the RuleId. The maximum number of managed keys that will be blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the 10,000 addresses with the highest rates will be blocked.

" + }, "GetRule":{ "name":"GetRule", "http":{ @@ -380,7 +446,7 @@ {"shape":"WAFNonexistentItemException"}, {"shape":"WAFInternalErrorException"} ], - "documentation":"

Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 100 requests, and you can specify any time range in the previous three hours.

GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

" + "documentation":"

Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.

GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

" }, "GetSizeConstraintSet":{ "name":"GetSizeConstraintSet", @@ -487,6 +553,20 @@ ], "documentation":"

Returns an array of IPSetSummary objects in the response.

" }, + "ListRateBasedRules":{ + "name":"ListRateBasedRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRateBasedRulesRequest"}, + "output":{"shape":"ListRateBasedRulesResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

Returns an array of RuleSummary objects.

" + }, "ListResourcesForWebACL":{ "name":"ListResourcesForWebACL", "http":{ @@ -613,6 +693,27 @@ ], "documentation":"

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

  • The IP address version, IPv4 or IPv6.

  • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and /128 for IPv6. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

  • 1111:0000:0000:0000:0000:0000:0000:0111/128

  • 1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • 1111::111/128

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, + "UpdateRateBasedRule":{ + "name":"UpdateRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRateBasedRuleRequest"}, + "output":{"shape":"UpdateRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

Inserts or deletes Predicate objects in a rule and updates the RateLimit in the rule.

Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to block or count. The RateLimit specifies the number of requests every five minutes that triggers the rule.

If you add more than one predicate to a RateBasedRule, a request must match all the predicates and exceed the RateLimit to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

Further, you specify a RateLimit of 15,000.

You then add the RateBasedRule to a WebACL and specify that you want to block requests that satisfy the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions much be received at a rate of more than 15,000 every five minutes. If the rate drops below this limit, AWS WAF no longer blocks the requests.

As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

  • A ByteMatchSet with FieldToMatch of URI

  • A PositionalConstraint of STARTS_WITH

  • A TargetString of login

Further, you specify a RateLimit of 15,000.

By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

" + }, "UpdateRule":{ "name":"UpdateRule", "http":{ @@ -694,7 +795,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

  • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

  • The Rules that you want to add and/or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

  • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

  • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all of the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

  • The CloudFront distribution that you want to associate with the WebACL.

To create and configure a WebACL, perform the following steps:

  1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Create a WebACL. See CreateWebACL.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

  • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

  • The Rules that you want to add and/or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

  • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

  • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all of the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

To create and configure a WebACL, perform the following steps:

  1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Create a WebACL. See CreateWebACL.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateXssMatchSet":{ "name":"UpdateXssMatchSet", @@ -738,6 +839,10 @@ "Action":{ "shape":"WafAction", "documentation":"

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

  • ALLOW: CloudFront responds with the requested object.

  • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

  • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

" + }, + "Type":{ + "shape":"WafRuleType", + "documentation":"

The rule type, either REGULAR, as defined by Rule, or RATE_BASED, as defined by RateBasedRule. The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the UpdateWebACL request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist.

" } }, "documentation":"

The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

To specify whether to insert or delete a Rule, use the Action parameter in the WebACLUpdate data type.

" @@ -958,6 +1063,51 @@ } } }, + "CreateRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "Name", + "MetricName", + "RateKey", + "RateLimit", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

A friendly name or description of the RateBasedRule. You can't change the name of a RateBasedRule after you create it.

" + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RateBasedRule.

" + }, + "RateKey":{ + "shape":"RateKey", + "documentation":"

The field that AWS WAF uses to determine if requests are likely arriving from a single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests that arrive from the same IP address are subject to the RateLimit that is specified in the RateBasedRule.

" + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

The maximum number of requests, which have an identical value in the field that is specified by RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

" + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" + } + } + }, + "CreateRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "Rule":{ + "shape":"RateBasedRule", + "documentation":"

The RateBasedRule that is returned in the CreateRateBasedRule response.

" + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" + } + } + }, "CreateRuleRequest":{ "type":"structure", "required":[ @@ -1179,6 +1329,32 @@ } } }, + "DeleteRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

The RuleId of the RateBasedRule that you want to delete. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The value returned by the most recent call to GetChangeToken.

" + } + } + }, + "DeleteRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The ChangeToken that you used to submit the DeleteRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" + } + } + }, "DeleteRuleRequest":{ "type":"structure", "required":[ @@ -1414,6 +1590,52 @@ } } }, + "GetRateBasedRuleManagedKeysRequest":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

The RuleId of the RateBasedRule for which you want to get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

A null value and not currently used. Do not include this in your request.

" + } + } + }, + "GetRateBasedRuleManagedKeysResponse":{ + "type":"structure", + "members":{ + "ManagedKeys":{ + "shape":"ManagedKeys", + "documentation":"

An array of IP addresses that currently are blocked by the specified RateBasedRule.

" + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

A null value and not currently used.

" + } + } + }, + "GetRateBasedRuleRequest":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

The RuleId of the RateBasedRule that you want to get. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" + } + } + }, + "GetRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "Rule":{ + "shape":"RateBasedRule", + "documentation":"

Information about the RateBasedRule that you specified in the GetRateBasedRule request.

" + } + } + }, "GetRuleRequest":{ "type":"structure", "required":["RuleId"], @@ -1433,6 +1655,11 @@ } } }, + "GetSampledRequestsMaxItems":{ + "type":"long", + "max":500, + "min":1 + }, "GetSampledRequestsRequest":{ "type":"structure", "required":[ @@ -1455,7 +1682,7 @@ "documentation":"

The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

" }, "MaxItems":{ - "shape":"ListMaxItems", + "shape":"GetSampledRequestsMaxItems", "documentation":"

The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them.

" } } @@ -1645,7 +1872,7 @@ }, "IPSetDescriptors":{ "shape":"IPSetDescriptors", - "documentation":"

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

  • c-ip, if the viewer did not use an HTTP proxy or a load balancer to send the request

  • x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer to send the request

" + "documentation":"

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this is the value of the c-ip field in the CloudFront access logs.

" } }, "documentation":"

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and /128 for IPv6.

To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify a /128, /64, /56, /48, /32, /24, /16, or /8 CIDR. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

" @@ -1777,10 +2004,31 @@ } } }, - "ListMaxItems":{ - "type":"long", - "max":100, - "min":1 + "ListRateBasedRulesRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRateBasedRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

" + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

" + } + } + }, + "ListRateBasedRulesResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRateBasedRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" + }, + "Rules":{ + "shape":"RuleSummaries", + "documentation":"

An array of RuleSummary objects.

" + } + } }, "ListResourcesForWebACLRequest":{ "type":"structure", @@ -1935,6 +2183,11 @@ }, "documentation":"

The response to a ListXssMatchSets request.

" }, + "ManagedKey":{"type":"string"}, + "ManagedKeys":{ + "type":"list", + "member":{"shape":"ManagedKey"} + }, "MatchFieldData":{"type":"string"}, "MatchFieldType":{ "type":"string", @@ -1968,7 +2221,10 @@ "SQL_INJECTION_MATCH_FIELD_TYPE", "BYTE_MATCH_TEXT_TRANSFORMATION", "BYTE_MATCH_POSITIONAL_CONSTRAINT", - "SIZE_CONSTRAINT_COMPARISON_OPERATOR" + "SIZE_CONSTRAINT_COMPARISON_OPERATOR", + "RATE_KEY", + "RULE_TYPE", + "NEXT_MARKER" ] }, "ParameterExceptionParameter":{ @@ -2030,6 +2286,50 @@ "type":"list", "member":{"shape":"Predicate"} }, + "RateBasedRule":{ + "type":"structure", + "required":[ + "RuleId", + "MatchPredicates", + "RateKey", + "RateLimit" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

A unique identifier for a RateBasedRule. You use RuleId to get more information about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see UpdateRateBasedRule), insert a RateBasedRule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF (see DeleteRateBasedRule).

" + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

A friendly name or description for a RateBasedRule. You can't change the name of a RateBasedRule after you create it.

" + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

A friendly name or description for the metrics for a RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RateBasedRule.

" + }, + "MatchPredicates":{ + "shape":"Predicates", + "documentation":"

The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a RateBasedRule.

" + }, + "RateKey":{ + "shape":"RateKey", + "documentation":"

The field that AWS WAF uses to determine if requests are likely arriving from single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests arriving from the same IP address are subject to the RateLimit that is specified in the RateBasedRule.

" + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

" + } + }, + "documentation":"

A RateBasedRule is identical to a regular Rule, with one addition: a RateBasedRule counts the number of requests that arrive from a specified IP address every five minutes. For example, based on recent requests that you've seen from an attacker, you might create a RateBasedRule that includes the following conditions:

  • The requests come from 192.0.2.44.

  • They contain the value BadBot in the User-Agent header.

In the rule, you also define the rate limit as 15,000.

Requests that meet both of these conditions and exceed 15,000 requests every five minutes trigger the rule's action (block or count), which is defined in the web ACL.

" + }, + "RateKey":{ + "type":"string", + "enum":["IP"] + }, + "RateLimit":{ + "type":"long", + "min":2000 + }, "ResourceArn":{ "type":"string", "max":1224, @@ -2438,6 +2738,42 @@ } } }, + "UpdateRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken", + "Updates", + "RateLimit" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

The RuleId of the RateBasedRule that you want to update. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The value returned by the most recent call to GetChangeToken.

" + }, + "Updates":{ + "shape":"RuleUpdates", + "documentation":"

An array of RuleUpdate objects that you want to insert into or delete from a RateBasedRule.

" + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

" + } + } + }, + "UpdateRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The ChangeToken that you used to submit the UpdateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" + } + } + }, "UpdateRuleRequest":{ "type":"structure", "required":[ @@ -2550,7 +2886,7 @@ }, "Updates":{ "shape":"WebACLUpdates", - "documentation":"

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

" + "documentation":"

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

" }, "DefaultAction":{ "shape":"WafAction", @@ -2639,7 +2975,7 @@ "parameter":{"shape":"ParameterExceptionParameter"}, "reason":{"shape":"ParameterExceptionReason"} }, - "documentation":"

The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

  • You specified an invalid parameter name.

  • You specified an invalid value.

  • You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE.

  • You tried to create a WebACL with a DefaultAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, QUERY_STRING, or URI.

  • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.

", + "documentation":"

The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

  • You specified an invalid parameter name.

  • You specified an invalid value.

  • You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE.

  • You tried to create a WebACL with a DefaultAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to create a RateBasedRule with a RateKey value other than IP.

  • You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, QUERY_STRING, or URI.

  • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.

", "exception":true }, "WAFLimitsExceededException":{ @@ -2717,6 +3053,13 @@ "COUNT" ] }, + "WafRuleType":{ + "type":"string", + "enum":[ + "REGULAR", + "RATE_BASED" + ] + }, "WebACL":{ "type":"structure", "required":[ diff --git a/botocore/data/waf/2015-08-24/examples-1.json b/botocore/data/waf/2015-08-24/examples-1.json new file mode 100644 index 00000000..eee5b6f4 --- /dev/null +++ b/botocore/data/waf/2015-08-24/examples-1.json @@ -0,0 +1,1017 @@ +{ + "version": "1.0", + "examples": { + "CreateIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MyIPSetFriendlyName" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSet": { + "IPSetDescriptors": [ + { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + ], + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Name": "MyIPSetFriendlyName" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an IP match set named MyIPSetFriendlyName.", + "id": "createipset-1472501003122", + "title": "To create an IP set" + } + ], + "CreateRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Rule": { + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule", + "Predicates": [ + { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + ], + "RuleId": "WAFRule-1-Example" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a rule named WAFByteHeaderRule.", + "id": "createrule-1474072675555", + "title": "To create a rule" + } + ], + "CreateSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySampleSizeConstraintSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSet": { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SizeConstraints": [ + { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates size constraint set named MySampleSizeConstraintSet.", + "id": "createsizeconstraint-1474299140754", + "title": "To create a size constraint" + } + ], + "CreateSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySQLInjectionMatchSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSet": { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SqlInjectionMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a SQL injection match set named MySQLInjectionMatchSet.", + "id": "createsqlinjectionmatchset-1474492796105", + "title": "To create a SQL injection match set" + } + ], + "CreateWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "WebACL": { + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample", + "Rules": [ + { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + ], + "WebACLId": "example-46da-4444-5555-example" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a web ACL named CreateExample.", + "id": "createwebacl-1472061481310", + "title": "To create a web ACL" + } + ], + "CreateXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySampleXssMatchSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "XssMatchSet": { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "XssMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an XSS match set named MySampleXssMatchSet.", + "id": "createxssmatchset-1474560868500", + "title": "To create an XSS match set" + } + ], + "DeleteByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletebytematchset-1473367566229", + "title": "To delete a byte match set" + } + ], + "DeleteIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deleteipset-1472767434306", + "title": "To delete an IP set" + } + ], + "DeleteRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "RuleId": "WAFRule-1-Example" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a rule with the ID WAFRule-1-Example.", + "id": "deleterule-1474073108749", + "title": "To delete a rule" + } + ], + "DeleteSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a size constraint set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletesizeconstraintset-1474299857905", + "title": "To delete a size constraint set" + } + ], + "DeleteSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletesqlinjectionmatchset-1474493373197", + "title": "To delete a SQL injection match set" + } + ], + "DeleteWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "WebACLId": "example-46da-4444-5555-example" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a web ACL with the ID example-46da-4444-5555-example.", + "id": "deletewebacl-1472767755931", + "title": "To delete a web ACL" + } + ], + "DeleteXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an XSS match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletexssmatchset-1474561302618", + "title": "To delete an XSS match set" + } + ], + "GetByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ByteMatchSet": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ByteMatchTuples": [ + { + "FieldToMatch": { + "Data": "referer", + "Type": "HEADER" + }, + "PositionalConstraint": "CONTAINS", + "TargetString": "badrefer1", + "TextTransformation": "NONE" + } + ], + "Name": "ByteMatchNameExample" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getbytematchset-1473273311532", + "title": "To get a byte match set" + } + ], + "GetChangeToken": [ + { + "input": { + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a change token to use for a create, update or delete operation.", + "id": "get-change-token-example-1471635120794", + "title": "To get a change token" + } + ], + "GetChangeTokenStatus": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "output": { + "ChangeTokenStatus": "PENDING" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the status of a change token with the ID abcd12f2-46da-4fdb-b8d5-fbd4c466928f.", + "id": "getchangetokenstatus-1474658417107", + "title": "To get the change token status" + } + ], + "GetIPSet": [ + { + "input": { + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "IPSet": { + "IPSetDescriptors": [ + { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + ], + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Name": "MyIPSetFriendlyName" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getipset-1474658688675", + "title": "To get an IP set" + } + ], + "GetRule": [ + { + "input": { + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "Rule": { + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule", + "Predicates": [ + { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + ], + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getrule-1474659238790", + "title": "To get a rule" + } + ], + "GetSampledRequests": [ + { + "input": { + "MaxItems": 100, + "RuleId": "WAFRule-1-Example", + "TimeWindow": { + "EndTime": "2016-09-27T15:50Z", + "StartTime": "2016-09-27T15:50Z" + }, + "WebAclId": "createwebacl-1472061481310" + }, + "output": { + "PopulationSize": 50, + "SampledRequests": [ + { + "Action": "BLOCK", + "Request": { + "ClientIP": "192.0.2.44", + "Country": "US", + "HTTPVersion": "HTTP/1.1", + "Headers": [ + { + "Name": "User-Agent", + "Value": "BadBot " + } + ], + "Method": "HEAD" + }, + "Timestamp": "2016-09-27T14:55Z", + "Weight": 1 + } + ], + "TimeWindow": { + "EndTime": "2016-09-27T15:50Z", + "StartTime": "2016-09-27T14:50Z" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns detailed information about 100 requests --a sample-- that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received between the time period 2016-09-27T15:50Z to 2016-09-27T15:50Z.", + "id": "getsampledrequests-1474927997195", + "title": "To get a sampled requests" + } + ], + "GetSizeConstraintSet": [ + { + "input": { + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "SizeConstraintSet": { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SizeConstraints": [ + { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a size constraint match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getsizeconstraintset-1475005422493", + "title": "To get a size constraint set" + } + ], + "GetSqlInjectionMatchSet": [ + { + "input": { + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "SqlInjectionMatchSet": { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SqlInjectionMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getsqlinjectionmatchset-1475005940137", + "title": "To get a SQL injection match set" + } + ], + "GetWebACL": [ + { + "input": { + "WebACLId": "createwebacl-1472061481310" + }, + "output": { + "WebACL": { + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample", + "Rules": [ + { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + ], + "WebACLId": "createwebacl-1472061481310" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a web ACL with the ID createwebacl-1472061481310.", + "id": "getwebacl-1475006348525", + "title": "To get a web ACL" + } + ], + "GetXssMatchSet": [ + { + "input": { + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "XssMatchSet": { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "XssMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of an XSS match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getxssmatchset-1475187879017", + "title": "To get an XSS match set" + } + ], + "ListIPSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "IPSets": [ + { + "IPSetId": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MyIPSetFriendlyName" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 IP match sets.", + "id": "listipsets-1472235676229", + "title": "To list IP sets" + } + ], + "ListRules": [ + { + "input": { + "Limit": 100 + }, + "output": { + "Rules": [ + { + "Name": "WAFByteHeaderRule", + "RuleId": "WAFRule-1-Example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 rules.", + "id": "listrules-1475258406433", + "title": "To list rules" + } + ], + "ListSizeConstraintSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "SizeConstraintSets": [ + { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 size contraint match sets.", + "id": "listsizeconstraintsets-1474300067597", + "title": "To list a size constraint sets" + } + ], + "ListSqlInjectionMatchSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "SqlInjectionMatchSets": [ + { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 SQL injection match sets.", + "id": "listsqlinjectionmatchset-1474493560103", + "title": "To list SQL injection match sets" + } + ], + "ListWebACLs": [ + { + "input": { + "Limit": 100 + }, + "output": { + "WebACLs": [ + { + "Name": "WebACLexample", + "WebACLId": "webacl-1472061481310" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 web ACLs.", + "id": "listwebacls-1475258732691", + "title": "To list Web ACLs" + } + ], + "ListXssMatchSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "XssMatchSets": [ + { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 XSS match sets.", + "id": "listxssmatchsets-1474561481168", + "title": "To list XSS match sets" + } + ], + "UpdateByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Updates": [ + { + "Action": "DELETE", + "ByteMatchTuple": { + "FieldToMatch": { + "Data": "referer", + "Type": "HEADER" + }, + "PositionalConstraint": "CONTAINS", + "TargetString": "badrefer1", + "TextTransformation": "NONE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a ByteMatchTuple object (filters) in an byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatebytematchset-1475259074558", + "title": "To update a byte match set" + } + ], + "UpdateIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "IPSetDescriptor": { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an IPSetDescriptor object in an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updateipset-1475259733625", + "title": "To update an IP set" + } + ], + "UpdateRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "Predicate": { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a Predicate object in a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updaterule-1475260064720", + "title": "To update a rule" + } + ], + "UpdateSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "SizeConstraint": { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SizeConstraint object (filters) in a size constraint set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatesizeconstraintset-1475531697891", + "title": "To update a size constraint set" + } + ], + "UpdateSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "SqlInjectionMatchTuple": { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SqlInjectionMatchTuple object (filters) in a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatesqlinjectionmatchset-1475532094686", + "title": "To update a SQL injection match set" + } + ], + "UpdateWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "DefaultAction": { + "Type": "ALLOW" + }, + "Updates": [ + { + "Action": "DELETE", + "ActivatedRule": { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + } + ], + "WebACLId": "webacl-1472061481310" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an ActivatedRule object in a WebACL with the ID webacl-1472061481310.", + "id": "updatewebacl-1475533627385", + "title": "To update a Web ACL" + } + ], + "UpdateXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Updates": [ + { + "Action": "DELETE", + "XssMatchTuple": { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + } + ], + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an XssMatchTuple object (filters) in an XssMatchSet with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatexssmatchset-1475534098881", + "title": "To update an XSS match set" + } + ] + } +} diff --git a/botocore/data/waf/2015-08-24/service-2.json b/botocore/data/waf/2015-08-24/service-2.json index 98cf9c21..6d06e822 100644 --- a/botocore/data/waf/2015-08-24/service-2.json +++ b/botocore/data/waf/2015-08-24/service-2.json @@ -1,7 +1,6 @@ { "version":"2.0", "metadata":{ - "uid":"waf-2015-08-24", "apiVersion":"2015-08-24", "endpointPrefix":"waf", "jsonVersion":"1.1", @@ -49,6 +48,23 @@ ], "documentation":"

Creates an IPSet, which you use to specify which web requests you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.

  2. Submit a CreateIPSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, + "CreateRateBasedRule":{ + "name":"CreateRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRateBasedRuleRequest"}, + "output":{"shape":"CreateRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The RateBasedRule also contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to count or block if these requests exceed the RateLimit.

If you add more than one predicate to a RateBasedRule, a request not only must exceed the RateLimit, but it also must match all the specifications to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

Further, you specify a RateLimit of 15,000.

You then add the RateBasedRule to a WebACL and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions must be received at a rate of more than 15,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 15,000 for a five-minute period, AWS WAF no longer blocks the requests.

As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

  • A ByteMatchSet with FieldToMatch of URI

  • A PositionalConstraint of STARTS_WITH

  • A TargetString of login

Further, you specify a RateLimit of 15,000.

By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

To create and configure a RateBasedRule, perform the following steps:

  1. Create and update the predicates that you want to include in the rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRateBasedRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRateBasedRule request to specify the predicates that you want to include in the rule.

  6. Create and update a WebACL that contains the RateBasedRule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + }, "CreateRule":{ "name":"CreateRule", "http":{ @@ -174,6 +190,24 @@ ], "documentation":"

Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses.

If you just want to remove an IPSet from a Rule, use UpdateRule.

To permanently delete an IPSet from AWS WAF, perform the following steps:

  1. Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request.

  3. Submit a DeleteIPSet request.

" }, + "DeleteRateBasedRule":{ + "name":"DeleteRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRateBasedRuleRequest"}, + "output":{"shape":"DeleteRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

Permanently deletes a RateBasedRule. You can't delete a rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

If you just want to remove a rule from a WebACL, use UpdateWebACL.

To permanently delete a RateBasedRule from AWS WAF, perform the following steps:

  1. Update the RateBasedRule to remove predicates, if any. For more information, see UpdateRateBasedRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRateBasedRule request.

  3. Submit a DeleteRateBasedRule request.

" + }, "DeleteRule":{ "name":"DeleteRule", "http":{ @@ -321,6 +355,37 @@ ], "documentation":"

Returns the IPSet that is specified by IPSetId.

" }, + "GetRateBasedRule":{ + "name":"GetRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRateBasedRuleRequest"}, + "output":{"shape":"GetRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

Returns the RateBasedRule that is specified by the RuleId that you included in the GetRateBasedRule request.

" + }, + "GetRateBasedRuleManagedKeys":{ + "name":"GetRateBasedRuleManagedKeys", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRateBasedRuleManagedKeysRequest"}, + "output":{"shape":"GetRateBasedRuleManagedKeysResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

Returns an array of IP addresses currently being blocked by the RateBasedRule that is specified by the RuleId. The maximum number of managed keys that will be blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the 10,000 addresses with the highest rates will be blocked.

" + }, "GetRule":{ "name":"GetRule", "http":{ @@ -348,7 +413,7 @@ {"shape":"WAFNonexistentItemException"}, {"shape":"WAFInternalErrorException"} ], - "documentation":"

Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 100 requests, and you can specify any time range in the previous three hours.

GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

" + "documentation":"

Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.

GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

" }, "GetSizeConstraintSet":{ "name":"GetSizeConstraintSet", @@ -438,6 +503,20 @@ ], "documentation":"

Returns an array of IPSetSummary objects in the response.

" }, + "ListRateBasedRules":{ + "name":"ListRateBasedRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRateBasedRulesRequest"}, + "output":{"shape":"ListRateBasedRulesResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

Returns an array of RuleSummary objects.

" + }, "ListRules":{ "name":"ListRules", "http":{ @@ -549,6 +628,27 @@ ], "documentation":"

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

  • The IP address version, IPv4 or IPv6.

  • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and /128 for IPv6. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

  • 1111:0000:0000:0000:0000:0000:0000:0111/128

  • 1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • 1111::111/128

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, + "UpdateRateBasedRule":{ + "name":"UpdateRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRateBasedRuleRequest"}, + "output":{"shape":"UpdateRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

Inserts or deletes Predicate objects in a rule and updates the RateLimit in the rule.

Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to block or count. The RateLimit specifies the number of requests every five minutes that triggers the rule.

If you add more than one predicate to a RateBasedRule, a request must match all the predicates and exceed the RateLimit to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

Further, you specify a RateLimit of 15,000.

You then add the RateBasedRule to a WebACL and specify that you want to block requests that satisfy the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions much be received at a rate of more than 15,000 every five minutes. If the rate drops below this limit, AWS WAF no longer blocks the requests.

As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

  • A ByteMatchSet with FieldToMatch of URI

  • A PositionalConstraint of STARTS_WITH

  • A TargetString of login

Further, you specify a RateLimit of 15,000.

By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

" + }, "UpdateRule":{ "name":"UpdateRule", "http":{ @@ -630,7 +730,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

  • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

  • The Rules that you want to add and/or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

  • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

  • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all of the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

  • The CloudFront distribution that you want to associate with the WebACL.

To create and configure a WebACL, perform the following steps:

  1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Create a WebACL. See CreateWebACL.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "documentation":"

Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

  • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

  • The Rules that you want to add and/or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

  • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

  • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all of the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

To create and configure a WebACL, perform the following steps:

  1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Create a WebACL. See CreateWebACL.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "UpdateXssMatchSet":{ "name":"UpdateXssMatchSet", @@ -674,6 +774,10 @@ "Action":{ "shape":"WafAction", "documentation":"

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

  • ALLOW: CloudFront responds with the requested object.

  • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

  • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

" + }, + "Type":{ + "shape":"WafRuleType", + "documentation":"

The rule type, either REGULAR, as defined by Rule, or RATE_BASED, as defined by RateBasedRule. The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the UpdateWebACL request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist.

" } }, "documentation":"

The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

To specify whether to insert or delete a Rule, use the Action parameter in the WebACLUpdate data type.

" @@ -872,6 +976,51 @@ } } }, + "CreateRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "Name", + "MetricName", + "RateKey", + "RateLimit", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

A friendly name or description of the RateBasedRule. You can't change the name of a RateBasedRule after you create it.

" + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RateBasedRule.

" + }, + "RateKey":{ + "shape":"RateKey", + "documentation":"

The field that AWS WAF uses to determine if requests are likely arriving from a single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests that arrive from the same IP address are subject to the RateLimit that is specified in the RateBasedRule.

" + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

The maximum number of requests, which have an identical value in the field that is specified by RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

" + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" + } + } + }, + "CreateRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "Rule":{ + "shape":"RateBasedRule", + "documentation":"

The RateBasedRule that is returned in the CreateRateBasedRule response.

" + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" + } + } + }, "CreateRuleRequest":{ "type":"structure", "required":[ @@ -1093,6 +1242,32 @@ } } }, + "DeleteRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

The RuleId of the RateBasedRule that you want to delete. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The value returned by the most recent call to GetChangeToken.

" + } + } + }, + "DeleteRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The ChangeToken that you used to submit the DeleteRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" + } + } + }, "DeleteRuleRequest":{ "type":"structure", "required":[ @@ -1313,6 +1488,52 @@ } } }, + "GetRateBasedRuleManagedKeysRequest":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

The RuleId of the RateBasedRule for which you want to get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

A null value and not currently used. Do not include this in your request.

" + } + } + }, + "GetRateBasedRuleManagedKeysResponse":{ + "type":"structure", + "members":{ + "ManagedKeys":{ + "shape":"ManagedKeys", + "documentation":"

An array of IP addresses that currently are blocked by the specified RateBasedRule.

" + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

A null value and not currently used.

" + } + } + }, + "GetRateBasedRuleRequest":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

The RuleId of the RateBasedRule that you want to get. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" + } + } + }, + "GetRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "Rule":{ + "shape":"RateBasedRule", + "documentation":"

Information about the RateBasedRule that you specified in the GetRateBasedRule request.

" + } + } + }, "GetRuleRequest":{ "type":"structure", "required":["RuleId"], @@ -1332,6 +1553,11 @@ } } }, + "GetSampledRequestsMaxItems":{ + "type":"long", + "max":500, + "min":1 + }, "GetSampledRequestsRequest":{ "type":"structure", "required":[ @@ -1354,7 +1580,7 @@ "documentation":"

The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

" }, "MaxItems":{ - "shape":"ListMaxItems", + "shape":"GetSampledRequestsMaxItems", "documentation":"

The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them.

" } } @@ -1525,7 +1751,7 @@ }, "IPSetDescriptors":{ "shape":"IPSetDescriptors", - "documentation":"

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

  • c-ip, if the viewer did not use an HTTP proxy or a load balancer to send the request

  • x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer to send the request

" + "documentation":"

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this is the value of the c-ip field in the CloudFront access logs.

" } }, "documentation":"

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and /128 for IPv6.

To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify a /128, /64, /56, /48, /32, /24, /16, or /8 CIDR. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

" @@ -1657,10 +1883,31 @@ } } }, - "ListMaxItems":{ - "type":"long", - "max":100, - "min":1 + "ListRateBasedRulesRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRateBasedRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

" + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

" + } + } + }, + "ListRateBasedRulesResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRateBasedRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" + }, + "Rules":{ + "shape":"RuleSummaries", + "documentation":"

An array of RuleSummary objects.

" + } + } }, "ListRulesRequest":{ "type":"structure", @@ -1796,6 +2043,11 @@ }, "documentation":"

The response to a ListXssMatchSets request.

" }, + "ManagedKey":{"type":"string"}, + "ManagedKeys":{ + "type":"list", + "member":{"shape":"ManagedKey"} + }, "MatchFieldData":{"type":"string"}, "MatchFieldType":{ "type":"string", @@ -1829,7 +2081,10 @@ "SQL_INJECTION_MATCH_FIELD_TYPE", "BYTE_MATCH_TEXT_TRANSFORMATION", "BYTE_MATCH_POSITIONAL_CONSTRAINT", - "SIZE_CONSTRAINT_COMPARISON_OPERATOR" + "SIZE_CONSTRAINT_COMPARISON_OPERATOR", + "RATE_KEY", + "RULE_TYPE", + "NEXT_MARKER" ] }, "ParameterExceptionParameter":{ @@ -1891,6 +2146,50 @@ "type":"list", "member":{"shape":"Predicate"} }, + "RateBasedRule":{ + "type":"structure", + "required":[ + "RuleId", + "MatchPredicates", + "RateKey", + "RateLimit" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

A unique identifier for a RateBasedRule. You use RuleId to get more information about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see UpdateRateBasedRule), insert a RateBasedRule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF (see DeleteRateBasedRule).

" + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

A friendly name or description for a RateBasedRule. You can't change the name of a RateBasedRule after you create it.

" + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

A friendly name or description for the metrics for a RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RateBasedRule.

" + }, + "MatchPredicates":{ + "shape":"Predicates", + "documentation":"

The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a RateBasedRule.

" + }, + "RateKey":{ + "shape":"RateKey", + "documentation":"

The field that AWS WAF uses to determine if requests are likely arriving from single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests arriving from the same IP address are subject to the RateLimit that is specified in the RateBasedRule.

" + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

" + } + }, + "documentation":"

A RateBasedRule is identical to a regular Rule, with one addition: a RateBasedRule counts the number of requests that arrive from a specified IP address every five minutes. For example, based on recent requests that you've seen from an attacker, you might create a RateBasedRule that includes the following conditions:

  • The requests come from 192.0.2.44.

  • They contain the value BadBot in the User-Agent header.

In the rule, you also define the rate limit as 15,000.

Requests that meet both of these conditions and exceed 15,000 requests every five minutes trigger the rule's action (block or count), which is defined in the web ACL.

" + }, + "RateKey":{ + "type":"string", + "enum":["IP"] + }, + "RateLimit":{ + "type":"long", + "min":2000 + }, "ResourceId":{ "type":"string", "max":128, @@ -2290,6 +2589,42 @@ } } }, + "UpdateRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken", + "Updates", + "RateLimit" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

The RuleId of the RateBasedRule that you want to update. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The value returned by the most recent call to GetChangeToken.

" + }, + "Updates":{ + "shape":"RuleUpdates", + "documentation":"

An array of RuleUpdate objects that you want to insert into or delete from a RateBasedRule.

" + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

" + } + } + }, + "UpdateRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

The ChangeToken that you used to submit the UpdateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" + } + } + }, "UpdateRuleRequest":{ "type":"structure", "required":[ @@ -2402,7 +2737,7 @@ }, "Updates":{ "shape":"WebACLUpdates", - "documentation":"

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

" + "documentation":"

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

" }, "DefaultAction":{ "shape":"WafAction", @@ -2491,7 +2826,7 @@ "parameter":{"shape":"ParameterExceptionParameter"}, "reason":{"shape":"ParameterExceptionReason"} }, - "documentation":"

The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

  • You specified an invalid parameter name.

  • You specified an invalid value.

  • You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE.

  • You tried to create a WebACL with a DefaultAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, QUERY_STRING, or URI.

  • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.

", + "documentation":"

The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

  • You specified an invalid parameter name.

  • You specified an invalid value.

  • You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE.

  • You tried to create a WebACL with a DefaultAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to create a RateBasedRule with a RateKey value other than IP.

  • You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, QUERY_STRING, or URI.

  • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.

", "exception":true }, "WAFLimitsExceededException":{ @@ -2561,6 +2896,13 @@ "COUNT" ] }, + "WafRuleType":{ + "type":"string", + "enum":[ + "REGULAR", + "RATE_BASED" + ] + }, "WebACL":{ "type":"structure", "required":[ diff --git a/botocore/data/workdocs/2016-05-01/paginators-1.json b/botocore/data/workdocs/2016-05-01/paginators-1.json new file mode 100644 index 00000000..3dc6d7e8 --- /dev/null +++ b/botocore/data/workdocs/2016-05-01/paginators-1.json @@ -0,0 +1,25 @@ +{ + "pagination": { + "DescribeDocumentVersions": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "DocumentVersions" + }, + "DescribeFolderContents": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": [ + "Folders", + "Documents" + ] + }, + "DescribeUsers": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Users" + } + } +} diff --git a/botocore/data/workdocs/2016-05-01/service-2.json b/botocore/data/workdocs/2016-05-01/service-2.json new file mode 100644 index 00000000..7ae84dbc --- /dev/null +++ b/botocore/data/workdocs/2016-05-01/service-2.json @@ -0,0 +1,3448 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-05-01", + "endpointPrefix":"workdocs", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon WorkDocs", + "signatureVersion":"v4", + "uid":"workdocs-2016-05-01" + }, + "operations":{ + "AbortDocumentVersionUpload":{ + "name":"AbortDocumentVersionUpload", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}", + "responseCode":204 + }, + "input":{"shape":"AbortDocumentVersionUploadRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Aborts the upload of the specified document version that was previously initiated by InitiateDocumentVersionUpload. The client should make this call only when it no longer intends to upload the document version, or fails to do so.

" + }, + "ActivateUser":{ + "name":"ActivateUser", + "http":{ + "method":"POST", + "requestUri":"/api/v1/users/{UserId}/activation", + "responseCode":200 + }, + "input":{"shape":"ActivateUserRequest"}, + "output":{"shape":"ActivateUserResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Activates the specified user. Only active users can access Amazon WorkDocs.

" + }, + "AddResourcePermissions":{ + "name":"AddResourcePermissions", + "http":{ + "method":"POST", + "requestUri":"/api/v1/resources/{ResourceId}/permissions", + "responseCode":201 + }, + "input":{"shape":"AddResourcePermissionsRequest"}, + "output":{"shape":"AddResourcePermissionsResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Creates a set of permissions for the specified folder or document. The resource permissions are overwritten if the principals already have different permissions.

" + }, + "CreateComment":{ + "name":"CreateComment", + "http":{ + "method":"POST", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}/comment", + "responseCode":201 + }, + "input":{"shape":"CreateCommentRequest"}, + "output":{"shape":"CreateCommentResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DocumentLockedForCommentsException"} + ], + "documentation":"

Adds a new comment to the specified document version.

" + }, + "CreateCustomMetadata":{ + "name":"CreateCustomMetadata", + "http":{ + "method":"PUT", + "requestUri":"/api/v1/resources/{ResourceId}/customMetadata", + "responseCode":200 + }, + "input":{"shape":"CreateCustomMetadataRequest"}, + "output":{"shape":"CreateCustomMetadataResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"CustomMetadataLimitExceededException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Adds one or more custom properties to the specified resource (a folder, document, or version).

" + }, + "CreateFolder":{ + "name":"CreateFolder", + "http":{ + "method":"POST", + "requestUri":"/api/v1/folders", + "responseCode":201 + }, + "input":{"shape":"CreateFolderRequest"}, + "output":{"shape":"CreateFolderResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"EntityAlreadyExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Creates a folder with the specified name and parent folder.

" + }, + "CreateLabels":{ + "name":"CreateLabels", + "http":{ + "method":"PUT", + "requestUri":"/api/v1/resources/{ResourceId}/labels", + "responseCode":200 + }, + "input":{"shape":"CreateLabelsRequest"}, + "output":{"shape":"CreateLabelsResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"TooManyLabelsException"} + ], + "documentation":"

Adds the specified list of labels to the given resource (a document or folder)

" + }, + "CreateNotificationSubscription":{ + "name":"CreateNotificationSubscription", + "http":{ + "method":"POST", + "requestUri":"/api/v1/organizations/{OrganizationId}/subscriptions", + "responseCode":200 + }, + "input":{"shape":"CreateNotificationSubscriptionRequest"}, + "output":{"shape":"CreateNotificationSubscriptionResponse"}, + "errors":[ + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"TooManySubscriptionsException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Configure WorkDocs to use Amazon SNS notifications.

The endpoint receives a confirmation message, and must confirm the subscription. For more information, see Confirm the Subscription in the Amazon Simple Notification Service Developer Guide.

" + }, + "CreateUser":{ + "name":"CreateUser", + "http":{ + "method":"POST", + "requestUri":"/api/v1/users", + "responseCode":201 + }, + "input":{"shape":"CreateUserRequest"}, + "output":{"shape":"CreateUserResponse"}, + "errors":[ + {"shape":"EntityAlreadyExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Creates a user in a Simple AD or Microsoft AD directory. The status of a newly created user is \"ACTIVE\". New users can access Amazon WorkDocs.

" + }, + "DeactivateUser":{ + "name":"DeactivateUser", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/users/{UserId}/activation", + "responseCode":204 + }, + "input":{"shape":"DeactivateUserRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deactivates the specified user, which revokes the user's access to Amazon WorkDocs.

" + }, + "DeleteComment":{ + "name":"DeleteComment", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}/comment/{CommentId}", + "responseCode":204 + }, + "input":{"shape":"DeleteCommentRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DocumentLockedForCommentsException"} + ], + "documentation":"

Deletes the specified comment from the document version.

" + }, + "DeleteCustomMetadata":{ + "name":"DeleteCustomMetadata", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/resources/{ResourceId}/customMetadata", + "responseCode":200 + }, + "input":{"shape":"DeleteCustomMetadataRequest"}, + "output":{"shape":"DeleteCustomMetadataResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes custom metadata from the specified resource.

" + }, + "DeleteDocument":{ + "name":"DeleteDocument", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/documents/{DocumentId}", + "responseCode":204 + }, + "input":{"shape":"DeleteDocumentRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Permanently deletes the specified document and its associated metadata.

" + }, + "DeleteFolder":{ + "name":"DeleteFolder", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/folders/{FolderId}", + "responseCode":204 + }, + "input":{"shape":"DeleteFolderRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Permanently deletes the specified folder and its contents.

" + }, + "DeleteFolderContents":{ + "name":"DeleteFolderContents", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/folders/{FolderId}/contents", + "responseCode":204 + }, + "input":{"shape":"DeleteFolderContentsRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes the contents of the specified folder.

" + }, + "DeleteLabels":{ + "name":"DeleteLabels", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/resources/{ResourceId}/labels", + "responseCode":200 + }, + "input":{"shape":"DeleteLabelsRequest"}, + "output":{"shape":"DeleteLabelsResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes the specified list of labels from a resource.

" + }, + "DeleteNotificationSubscription":{ + "name":"DeleteNotificationSubscription", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/organizations/{OrganizationId}/subscriptions/{SubscriptionId}", + "responseCode":200 + }, + "input":{"shape":"DeleteNotificationSubscriptionRequest"}, + "errors":[ + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"EntityNotExistsException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ProhibitedStateException"} + ], + "documentation":"

Deletes the specified subscription from the specified organization.

" + }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/users/{UserId}", + "responseCode":204 + }, + "input":{"shape":"DeleteUserRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes the specified user from a Simple AD or Microsoft AD directory.

" + }, + "DescribeActivities":{ + "name":"DescribeActivities", + "http":{ + "method":"GET", + "requestUri":"/api/v1/activities", + "responseCode":200 + }, + "input":{"shape":"DescribeActivitiesRequest"}, + "output":{"shape":"DescribeActivitiesResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Describes the user activities in a specified time period.

" + }, + "DescribeComments":{ + "name":"DescribeComments", + "http":{ + "method":"GET", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}/comments", + "responseCode":200 + }, + "input":{"shape":"DescribeCommentsRequest"}, + "output":{"shape":"DescribeCommentsResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

List all the comments for the specified document version.

" + }, + "DescribeDocumentVersions":{ + "name":"DescribeDocumentVersions", + "http":{ + "method":"GET", + "requestUri":"/api/v1/documents/{DocumentId}/versions", + "responseCode":200 + }, + "input":{"shape":"DescribeDocumentVersionsRequest"}, + "output":{"shape":"DescribeDocumentVersionsResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ProhibitedStateException"} + ], + "documentation":"

Retrieves the document versions for the specified document.

By default, only active versions are returned.

" + }, + "DescribeFolderContents":{ + "name":"DescribeFolderContents", + "http":{ + "method":"GET", + "requestUri":"/api/v1/folders/{FolderId}/contents", + "responseCode":200 + }, + "input":{"shape":"DescribeFolderContentsRequest"}, + "output":{"shape":"DescribeFolderContentsResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ProhibitedStateException"} + ], + "documentation":"

Describes the contents of the specified folder, including its documents and subfolders.

By default, Amazon WorkDocs returns the first 100 active document and folder metadata items. If there are more results, the response includes a marker that you can use to request the next set of results. You can also request initialized documents.

" + }, + "DescribeNotificationSubscriptions":{ + "name":"DescribeNotificationSubscriptions", + "http":{ + "method":"GET", + "requestUri":"/api/v1/organizations/{OrganizationId}/subscriptions", + "responseCode":200 + }, + "input":{"shape":"DescribeNotificationSubscriptionsRequest"}, + "output":{"shape":"DescribeNotificationSubscriptionsResponse"}, + "errors":[ + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"EntityNotExistsException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the specified notification subscriptions.

" + }, + "DescribeResourcePermissions":{ + "name":"DescribeResourcePermissions", + "http":{ + "method":"GET", + "requestUri":"/api/v1/resources/{ResourceId}/permissions", + "responseCode":200 + }, + "input":{"shape":"DescribeResourcePermissionsRequest"}, + "output":{"shape":"DescribeResourcePermissionsResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Describes the permissions of a specified resource.

" + }, + "DescribeRootFolders":{ + "name":"DescribeRootFolders", + "http":{ + "method":"GET", + "requestUri":"/api/v1/me/root", + "responseCode":200 + }, + "input":{"shape":"DescribeRootFoldersRequest"}, + "output":{"shape":"DescribeRootFoldersResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Describes the current user's special folders; the RootFolder and the RecyleBin. RootFolder is the root of user's files and folders and RecyleBin is the root of recycled items. This is not a valid action for SigV4 (administrative API) clients.

" + }, + "DescribeUsers":{ + "name":"DescribeUsers", + "http":{ + "method":"GET", + "requestUri":"/api/v1/users", + "responseCode":200 + }, + "input":{"shape":"DescribeUsersRequest"}, + "output":{"shape":"DescribeUsersResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

Describes the specified users. You can describe all users or filter the results (for example, by status or organization).

By default, Amazon WorkDocs returns the first 24 active or pending users. If there are more results, the response includes a marker that you can use to request the next set of results.

" + }, + "GetCurrentUser":{ + "name":"GetCurrentUser", + "http":{ + "method":"GET", + "requestUri":"/api/v1/me", + "responseCode":200 + }, + "input":{"shape":"GetCurrentUserRequest"}, + "output":{"shape":"GetCurrentUserResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Retrieves details of the current user for whom the authentication token was generated. This is not a valid action for SigV4 (administrative API) clients.

" + }, + "GetDocument":{ + "name":"GetDocument", + "http":{ + "method":"GET", + "requestUri":"/api/v1/documents/{DocumentId}", + "responseCode":200 + }, + "input":{"shape":"GetDocumentRequest"}, + "output":{"shape":"GetDocumentResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Retrieves details of a document.

" + }, + "GetDocumentPath":{ + "name":"GetDocumentPath", + "http":{ + "method":"GET", + "requestUri":"/api/v1/documents/{DocumentId}/path", + "responseCode":200 + }, + "input":{"shape":"GetDocumentPathRequest"}, + "output":{"shape":"GetDocumentPathResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Retrieves the path information (the hierarchy from the root folder) for the requested document.

By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested document and only includes the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the names of the parent folders.

" + }, + "GetDocumentVersion":{ + "name":"GetDocumentVersion", + "http":{ + "method":"GET", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}", + "responseCode":200 + }, + "input":{"shape":"GetDocumentVersionRequest"}, + "output":{"shape":"GetDocumentVersionResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ProhibitedStateException"} + ], + "documentation":"

Retrieves version metadata for the specified document.

" + }, + "GetFolder":{ + "name":"GetFolder", + "http":{ + "method":"GET", + "requestUri":"/api/v1/folders/{FolderId}", + "responseCode":200 + }, + "input":{"shape":"GetFolderRequest"}, + "output":{"shape":"GetFolderResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ProhibitedStateException"} + ], + "documentation":"

Retrieves the metadata of the specified folder.

" + }, + "GetFolderPath":{ + "name":"GetFolderPath", + "http":{ + "method":"GET", + "requestUri":"/api/v1/folders/{FolderId}/path", + "responseCode":200 + }, + "input":{"shape":"GetFolderPathRequest"}, + "output":{"shape":"GetFolderPathResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Retrieves the path information (the hierarchy from the root folder) for the specified folder.

By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested folder and only includes the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the parent folder names.

" + }, + "InitiateDocumentVersionUpload":{ + "name":"InitiateDocumentVersionUpload", + "http":{ + "method":"POST", + "requestUri":"/api/v1/documents", + "responseCode":201 + }, + "input":{"shape":"InitiateDocumentVersionUploadRequest"}, + "output":{"shape":"InitiateDocumentVersionUploadResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"EntityAlreadyExistsException"}, + {"shape":"StorageLimitExceededException"}, + {"shape":"StorageLimitWillExceedException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DraftUploadOutOfSyncException"}, + {"shape":"ResourceAlreadyCheckedOutException"} + ], + "documentation":"

Creates a new document object and version object.

The client specifies the parent folder ID and name of the document to upload. The ID is optionally specified when creating a new version of an existing document. This is the first step to upload a document. Next, upload the document to the URL returned from the call, and then call UpdateDocumentVersion.

To cancel the document upload, call AbortDocumentVersionUpload.

" + }, + "RemoveAllResourcePermissions":{ + "name":"RemoveAllResourcePermissions", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/resources/{ResourceId}/permissions", + "responseCode":204 + }, + "input":{"shape":"RemoveAllResourcePermissionsRequest"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Removes all the permissions from the specified resource.

" + }, + "RemoveResourcePermission":{ + "name":"RemoveResourcePermission", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/resources/{ResourceId}/permissions/{PrincipalId}", + "responseCode":204 + }, + "input":{"shape":"RemoveResourcePermissionRequest"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Removes the permission for the specified principal from the specified resource.

" + }, + "UpdateDocument":{ + "name":"UpdateDocument", + "http":{ + "method":"PATCH", + "requestUri":"/api/v1/documents/{DocumentId}", + "responseCode":200 + }, + "input":{"shape":"UpdateDocumentRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"EntityAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Updates the specified attributes of a document. The user must have access to both the document and its parent folder, if applicable.

" + }, + "UpdateDocumentVersion":{ + "name":"UpdateDocumentVersion", + "http":{ + "method":"PATCH", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}", + "responseCode":200 + }, + "input":{"shape":"UpdateDocumentVersionRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidOperationException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Changes the status of the document version to ACTIVE.

Amazon WorkDocs also sets its document container to ACTIVE. This is the last step in a document upload, after the client uploads the document to an S3-presigned URL returned by InitiateDocumentVersionUpload.

" + }, + "UpdateFolder":{ + "name":"UpdateFolder", + "http":{ + "method":"PATCH", + "requestUri":"/api/v1/folders/{FolderId}", + "responseCode":200 + }, + "input":{"shape":"UpdateFolderRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"EntityAlreadyExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Updates the specified attributes of the specified folder. The user must have access to both the folder and its parent folder, if applicable.

" + }, + "UpdateUser":{ + "name":"UpdateUser", + "http":{ + "method":"PATCH", + "requestUri":"/api/v1/users/{UserId}", + "responseCode":200 + }, + "input":{"shape":"UpdateUserRequest"}, + "output":{"shape":"UpdateUserResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"IllegalUserStateException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DeactivatingLastSystemUserException"} + ], + "documentation":"

Updates the specified attributes of the specified user, and grants or revokes administrative privileges to the Amazon WorkDocs site.

" + } + }, + "shapes":{ + "AbortDocumentVersionUploadRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

The ID of the version.

", + "location":"uri", + "locationName":"VersionId" + } + } + }, + "ActivateUserRequest":{ + "type":"structure", + "required":["UserId"], + "members":{ + "UserId":{ + "shape":"IdType", + "documentation":"

The ID of the user.

", + "location":"uri", + "locationName":"UserId" + }, + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + } + } + }, + "ActivateUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

The user information.

" + } + } + }, + "Activity":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ActivityType", + "documentation":"

The activity type.

" + }, + "TimeStamp":{ + "shape":"TimestampType", + "documentation":"

The timestamp when the action was performed.

" + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

The ID of the organization.

" + }, + "Initiator":{ + "shape":"UserMetadata", + "documentation":"

The user who performed the action.

" + }, + "Participants":{ + "shape":"Participants", + "documentation":"

The list of users or groups impacted by this action. This is an optional field and is filled for the following sharing activities: DOCUMENT_SHARED, DOCUMENT_SHARED, DOCUMENT_UNSHARED, FOLDER_SHARED, FOLDER_UNSHARED.

" + }, + "ResourceMetadata":{ + "shape":"ResourceMetadata", + "documentation":"

The metadata of the resource involved in the user action.

" + }, + "OriginalParent":{ + "shape":"ResourceMetadata", + "documentation":"

The original parent of the resource. This is an optional field and is filled for move activities.

" + }, + "CommentMetadata":{ + "shape":"CommentMetadata", + "documentation":"

Metadata of the commenting activity. This is an optional field and is filled for commenting activities.

" + } + }, + "documentation":"

Describes the activity information.

" + }, + "ActivityType":{ + "type":"string", + "enum":[ + "DOCUMENT_CHECKED_IN", + "DOCUMENT_CHECKED_OUT", + "DOCUMENT_RENAMED", + "DOCUMENT_VERSION_UPLOADED", + "DOCUMENT_VERSION_DELETED", + "DOCUMENT_RECYCLED", + "DOCUMENT_RESTORED", + "DOCUMENT_REVERTED", + "DOCUMENT_SHARED", + "DOCUMENT_UNSHARED", + "DOCUMENT_SHARE_PERMISSION_CHANGED", + "DOCUMENT_SHAREABLE_LINK_CREATED", + "DOCUMENT_SHAREABLE_LINK_REMOVED", + "DOCUMENT_SHAREABLE_LINK_PERMISSION_CHANGED", + "DOCUMENT_MOVED", + "DOCUMENT_COMMENT_ADDED", + "DOCUMENT_COMMENT_DELETED", + "DOCUMENT_ANNOTATION_ADDED", + "DOCUMENT_ANNOTATION_DELETED", + "FOLDER_CREATED", + "FOLDER_DELETED", + "FOLDER_RENAMED", + "FOLDER_RECYCLED", + "FOLDER_RESTORED", + "FOLDER_SHARED", + "FOLDER_UNSHARED", + "FOLDER_SHARE_PERMISSION_CHANGED", + "FOLDER_SHAREABLE_LINK_CREATED", + "FOLDER_SHAREABLE_LINK_REMOVED", + "FOLDER_SHAREABLE_LINK_PERMISSION_CHANGED", + "FOLDER_MOVED" + ] + }, + "AddResourcePermissionsRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "Principals" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the resource.

", + "location":"uri", + "locationName":"ResourceId" + }, + "Principals":{ + "shape":"SharePrincipalList", + "documentation":"

The users, groups, or organization being granted permission.

" + } + } + }, + "AddResourcePermissionsResponse":{ + "type":"structure", + "members":{ + "ShareResults":{ + "shape":"ShareResultsList", + "documentation":"

The share results.

" + } + } + }, + "AuthenticationHeaderType":{ + "type":"string", + "max":8199, + "min":1, + "sensitive":true + }, + "BooleanType":{"type":"boolean"}, + "Comment":{ + "type":"structure", + "required":["CommentId"], + "members":{ + "CommentId":{ + "shape":"CommentIdType", + "documentation":"

The ID of the comment.

" + }, + "ParentId":{ + "shape":"CommentIdType", + "documentation":"

The ID of the parent comment.

" + }, + "ThreadId":{ + "shape":"CommentIdType", + "documentation":"

The ID of the root comment in the thread.

" + }, + "Text":{ + "shape":"CommentTextType", + "documentation":"

The text of the comment.

" + }, + "Contributor":{ + "shape":"User", + "documentation":"

The details of the user who made the comment.

" + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time that the comment was created.

" + }, + "Status":{ + "shape":"CommentStatusType", + "documentation":"

The status of the comment.

" + }, + "Visibility":{ + "shape":"CommentVisibilityType", + "documentation":"

The visibility of the comment. Options are either PRIVATE, where the comment is visible only to the comment author and document owner and co-owners, or PUBLIC, where the comment is visible to document owners, co-owners, and contributors.

" + }, + "RecipientId":{ + "shape":"IdType", + "documentation":"

If the comment is a reply to another user's comment, this field contains the user ID of the user being replied to.

" + } + }, + "documentation":"

Describes a comment.

" + }, + "CommentIdType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+-.@]+" + }, + "CommentList":{ + "type":"list", + "member":{"shape":"Comment"} + }, + "CommentMetadata":{ + "type":"structure", + "members":{ + "CommentId":{ + "shape":"CommentIdType", + "documentation":"

The ID of the comment.

" + }, + "Contributor":{ + "shape":"User", + "documentation":"

The user who made the comment.

" + }, + "CreatedTimestamp":{"shape":"TimestampType"}, + "CommentStatus":{"shape":"CommentStatusType"}, + "RecipientId":{ + "shape":"IdType", + "documentation":"

The ID of the user being replied to.

" + } + }, + "documentation":"

Describes the metadata of a comment.

" + }, + "CommentStatusType":{ + "type":"string", + "enum":[ + "DRAFT", + "PUBLISHED", + "DELETED" + ] + }, + "CommentTextType":{ + "type":"string", + "max":2048, + "min":1, + "sensitive":true + }, + "CommentVisibilityType":{ + "type":"string", + "enum":[ + "PUBLIC", + "PRIVATE" + ] + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The resource hierarchy is changing.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateCommentRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId", + "Text" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

The ID of the document version.

", + "location":"uri", + "locationName":"VersionId" + }, + "ParentId":{ + "shape":"CommentIdType", + "documentation":"

The ID of the parent comment.

" + }, + "ThreadId":{ + "shape":"CommentIdType", + "documentation":"

The ID of the root comment in the thread.

" + }, + "Text":{ + "shape":"CommentTextType", + "documentation":"

The text of the comment.

" + }, + "Visibility":{ + "shape":"CommentVisibilityType", + "documentation":"

The visibility of the comment. Options are either PRIVATE, where the comment is visible only to the comment author and document owner and co-owners, or PUBLIC, where the comment is visible to document owners, co-owners, and contributors.

" + }, + "NotifyCollaborators":{ + "shape":"BooleanType", + "documentation":"

Set this parameter to TRUE to send an email out to the document collaborators after the comment is created.

" + } + } + }, + "CreateCommentResponse":{ + "type":"structure", + "members":{ + "Comment":{ + "shape":"Comment", + "documentation":"

The comment that has been created.

" + } + } + }, + "CreateCustomMetadataRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "CustomMetadata" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the resource.

", + "location":"uri", + "locationName":"ResourceId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

The ID of the version, if the custom metadata is being added to a document version.

", + "location":"querystring", + "locationName":"versionid" + }, + "CustomMetadata":{ + "shape":"CustomMetadataMap", + "documentation":"

Custom metadata in the form of name-value pairs.

" + } + } + }, + "CreateCustomMetadataResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateFolderRequest":{ + "type":"structure", + "required":["ParentFolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

The name of the new folder.

" + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the parent folder.

" + } + } + }, + "CreateFolderResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"FolderMetadata", + "documentation":"

The metadata of the folder.

" + } + } + }, + "CreateLabelsRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "Labels" + ], + "members":{ + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the resource.

", + "location":"uri", + "locationName":"ResourceId" + }, + "Labels":{ + "shape":"Labels", + "documentation":"

List of labels to add to the resource.

" + }, + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + } + } + }, + "CreateLabelsResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateNotificationSubscriptionRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Endpoint", + "Protocol", + "SubscriptionType" + ], + "members":{ + "OrganizationId":{ + "shape":"IdType", + "documentation":"

The ID of the organization.

", + "location":"uri", + "locationName":"OrganizationId" + }, + "Endpoint":{ + "shape":"SubscriptionEndPointType", + "documentation":"

The endpoint to receive the notifications. If the protocol is HTTPS, the endpoint is a URL that begins with \"https://\".

" + }, + "Protocol":{ + "shape":"SubscriptionProtocolType", + "documentation":"

The protocol to use. The supported value is https, which delivers JSON-encoded messasges using HTTPS POST.

" + }, + "SubscriptionType":{ + "shape":"SubscriptionType", + "documentation":"

The notification type.

" + } + } + }, + "CreateNotificationSubscriptionResponse":{ + "type":"structure", + "members":{ + "Subscription":{ + "shape":"Subscription", + "documentation":"

The subscription.

" + } + } + }, + "CreateUserRequest":{ + "type":"structure", + "required":[ + "Username", + "GivenName", + "Surname", + "Password" + ], + "members":{ + "OrganizationId":{ + "shape":"IdType", + "documentation":"

The ID of the organization.

" + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

The login name of the user.

" + }, + "EmailAddress":{ + "shape":"EmailAddressType", + "documentation":"

The email address of the user.

" + }, + "GivenName":{ + "shape":"UserAttributeValueType", + "documentation":"

The given name of the user.

" + }, + "Surname":{ + "shape":"UserAttributeValueType", + "documentation":"

The surname of the user.

" + }, + "Password":{ + "shape":"PasswordType", + "documentation":"

The password of the user.

" + }, + "TimeZoneId":{ + "shape":"TimeZoneIdType", + "documentation":"

The time zone ID of the user.

" + }, + "StorageRule":{ + "shape":"StorageRuleType", + "documentation":"

The amount of storage for the user.

" + }, + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + } + } + }, + "CreateUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

The user information.

" + } + } + }, + "CustomMetadataKeyList":{ + "type":"list", + "member":{"shape":"CustomMetadataKeyType"}, + "max":8 + }, + "CustomMetadataKeyType":{ + "type":"string", + "max":56, + "min":1, + "pattern":"[a-zA-Z0-9._+-/=][a-zA-Z0-9 ._+-/=]*" + }, + "CustomMetadataLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The limit has been reached on the number of custom properties for the specified resource.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "CustomMetadataMap":{ + "type":"map", + "key":{"shape":"CustomMetadataKeyType"}, + "value":{"shape":"CustomMetadataValueType"}, + "max":8, + "min":1 + }, + "CustomMetadataValueType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9._+-/=][a-zA-Z0-9 ._+-/=]*" + }, + "DeactivateUserRequest":{ + "type":"structure", + "required":["UserId"], + "members":{ + "UserId":{ + "shape":"IdType", + "documentation":"

The ID of the user.

", + "location":"uri", + "locationName":"UserId" + }, + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + } + } + }, + "DeactivatingLastSystemUserException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The last user in the organization is being deactivated.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "DeleteCommentRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId", + "CommentId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

The ID of the document version.

", + "location":"uri", + "locationName":"VersionId" + }, + "CommentId":{ + "shape":"CommentIdType", + "documentation":"

The ID of the comment.

", + "location":"uri", + "locationName":"CommentId" + } + } + }, + "DeleteCustomMetadataRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the resource, either a document or folder.

", + "location":"uri", + "locationName":"ResourceId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

The ID of the version, if the custom metadata is being deleted from a document version.

", + "location":"querystring", + "locationName":"versionId" + }, + "Keys":{ + "shape":"CustomMetadataKeyList", + "documentation":"

List of properties to remove.

", + "location":"querystring", + "locationName":"keys" + }, + "DeleteAll":{ + "shape":"BooleanType", + "documentation":"

Flag to indicate removal of all custom metadata properties from the specified resource.

", + "location":"querystring", + "locationName":"deleteAll" + } + } + }, + "DeleteCustomMetadataResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDocumentRequest":{ + "type":"structure", + "required":["DocumentId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + } + } + }, + "DeleteFolderContentsRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the folder.

", + "location":"uri", + "locationName":"FolderId" + } + } + }, + "DeleteFolderRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the folder.

", + "location":"uri", + "locationName":"FolderId" + } + } + }, + "DeleteLabelsRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the resource.

", + "location":"uri", + "locationName":"ResourceId" + }, + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "Labels":{ + "shape":"Labels", + "documentation":"

List of labels to delete from the resource.

", + "location":"querystring", + "locationName":"labels" + }, + "DeleteAll":{ + "shape":"BooleanType", + "documentation":"

Flag to request removal of all labels from the specified resource.

", + "location":"querystring", + "locationName":"deleteAll" + } + } + }, + "DeleteLabelsResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteNotificationSubscriptionRequest":{ + "type":"structure", + "required":[ + "SubscriptionId", + "OrganizationId" + ], + "members":{ + "SubscriptionId":{ + "shape":"IdType", + "documentation":"

The ID of the subscription.

", + "location":"uri", + "locationName":"SubscriptionId" + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

The ID of the organization.

", + "location":"uri", + "locationName":"OrganizationId" + } + } + }, + "DeleteUserRequest":{ + "type":"structure", + "required":["UserId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "UserId":{ + "shape":"IdType", + "documentation":"

The ID of the user.

", + "location":"uri", + "locationName":"UserId" + } + } + }, + "DescribeActivitiesRequest":{ + "type":"structure", + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "StartTime":{ + "shape":"TimestampType", + "documentation":"

The timestamp that determines the starting time of the activities; the response includes the activities performed after the specified timestamp.

", + "location":"querystring", + "locationName":"startTime" + }, + "EndTime":{ + "shape":"TimestampType", + "documentation":"

The timestamp that determines the end time of the activities; the response includes the activities performed before the specified timestamp.

", + "location":"querystring", + "locationName":"endTime" + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

The ID of the organization. This is a mandatory parameter when using administrative API (SigV4) requests.

", + "location":"querystring", + "locationName":"organizationId" + }, + "UserId":{ + "shape":"IdType", + "documentation":"

The ID of the user who performed the action. The response includes activities pertaining to this user. This is an optional parameter and is only applicable for administrative API (SigV4) requests.

", + "location":"querystring", + "locationName":"userId" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

The maximum number of items to return.

", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

", + "location":"querystring", + "locationName":"marker" + } + } + }, + "DescribeActivitiesResponse":{ + "type":"structure", + "members":{ + "UserActivities":{ + "shape":"UserActivities", + "documentation":"

The list of activities for the specified user and time period.

" + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

The marker for the next set of results.

" + } + } + }, + "DescribeCommentsRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

The ID of the document version.

", + "location":"uri", + "locationName":"VersionId" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

The maximum number of items to return.

", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

The marker for the next set of results. This marker was received from a previous call.

", + "location":"querystring", + "locationName":"marker" + } + } + }, + "DescribeCommentsResponse":{ + "type":"structure", + "members":{ + "Comments":{ + "shape":"CommentList", + "documentation":"

The list of comments for the specified document version.

" + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

The marker for the next set of results. This marker was received from a previous call.

" + } + } + }, + "DescribeDocumentVersionsRequest":{ + "type":"structure", + "required":["DocumentId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

", + "location":"querystring", + "locationName":"marker" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

The maximum number of versions to return with this call.

", + "location":"querystring", + "locationName":"limit" + }, + "Include":{ + "shape":"FieldNamesType", + "documentation":"

A comma-separated list of values. Specify \"INITIALIZED\" to include incomplete versions.

", + "location":"querystring", + "locationName":"include" + }, + "Fields":{ + "shape":"FieldNamesType", + "documentation":"

Specify \"SOURCE\" to include initialized versions and a URL for the source document.

", + "location":"querystring", + "locationName":"fields" + } + } + }, + "DescribeDocumentVersionsResponse":{ + "type":"structure", + "members":{ + "DocumentVersions":{ + "shape":"DocumentVersionMetadataList", + "documentation":"

The document versions.

" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + } + } + }, + "DescribeFolderContentsRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the folder.

", + "location":"uri", + "locationName":"FolderId" + }, + "Sort":{ + "shape":"ResourceSortType", + "documentation":"

The sorting criteria.

", + "location":"querystring", + "locationName":"sort" + }, + "Order":{ + "shape":"OrderType", + "documentation":"

The order for the contents of the folder.

", + "location":"querystring", + "locationName":"order" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

The maximum number of items to return with this call.

", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker for the next set of results. This marker was received from a previous call.

", + "location":"querystring", + "locationName":"marker" + }, + "Type":{ + "shape":"FolderContentType", + "documentation":"

The type of items.

", + "location":"querystring", + "locationName":"type" + }, + "Include":{ + "shape":"FieldNamesType", + "documentation":"

The contents to include. Specify \"INITIALIZED\" to include initialized documents.

", + "location":"querystring", + "locationName":"include" + } + } + }, + "DescribeFolderContentsResponse":{ + "type":"structure", + "members":{ + "Folders":{ + "shape":"FolderMetadataList", + "documentation":"

The subfolders in the specified folder.

" + }, + "Documents":{ + "shape":"DocumentMetadataList", + "documentation":"

The documents in the specified folder.

" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + } + } + }, + "DescribeNotificationSubscriptionsRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"IdType", + "documentation":"

The ID of the organization.

", + "location":"uri", + "locationName":"OrganizationId" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

", + "location":"querystring", + "locationName":"marker" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

The maximum number of items to return with this call.

", + "location":"querystring", + "locationName":"limit" + } + } + }, + "DescribeNotificationSubscriptionsResponse":{ + "type":"structure", + "members":{ + "Subscriptions":{ + "shape":"SubscriptionList", + "documentation":"

The subscriptions.

" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + } + } + }, + "DescribeResourcePermissionsRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the resource.

", + "location":"uri", + "locationName":"ResourceId" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

The maximum number of items to return with this call.

", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call)

", + "location":"querystring", + "locationName":"marker" + } + } + }, + "DescribeResourcePermissionsResponse":{ + "type":"structure", + "members":{ + "Principals":{ + "shape":"PrincipalList", + "documentation":"

The principals.

" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + } + } + }, + "DescribeRootFoldersRequest":{ + "type":"structure", + "required":["AuthenticationToken"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

The maximum number of items to return.

", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

", + "location":"querystring", + "locationName":"marker" + } + } + }, + "DescribeRootFoldersResponse":{ + "type":"structure", + "members":{ + "Folders":{ + "shape":"FolderMetadataList", + "documentation":"

The user's special folders.

" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker for the next set of results.

" + } + } + }, + "DescribeUsersRequest":{ + "type":"structure", + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

The ID of the organization.

", + "location":"querystring", + "locationName":"organizationId" + }, + "UserIds":{ + "shape":"UserIdsType", + "documentation":"

The IDs of the users.

", + "location":"querystring", + "locationName":"userIds" + }, + "Query":{ + "shape":"SearchQueryType", + "documentation":"

A query to filter users by user name.

", + "location":"querystring", + "locationName":"query" + }, + "Include":{ + "shape":"UserFilterType", + "documentation":"

The state of the users. Specify \"ALL\" to include inactive users.

", + "location":"querystring", + "locationName":"include" + }, + "Order":{ + "shape":"OrderType", + "documentation":"

The order for the results.

", + "location":"querystring", + "locationName":"order" + }, + "Sort":{ + "shape":"UserSortType", + "documentation":"

The sorting criteria.

", + "location":"querystring", + "locationName":"sort" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

", + "location":"querystring", + "locationName":"marker" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

The maximum number of items to return.

", + "location":"querystring", + "locationName":"limit" + }, + "Fields":{ + "shape":"FieldNamesType", + "documentation":"

A comma-separated list of values. Specify \"STORAGE_METADATA\" to include the user storage quota and utilization information.

", + "location":"querystring", + "locationName":"fields" + } + } + }, + "DescribeUsersResponse":{ + "type":"structure", + "members":{ + "Users":{ + "shape":"OrganizationUserList", + "documentation":"

The users.

" + }, + "TotalNumberOfUsers":{ + "shape":"SizeType", + "documentation":"

The total number of users included in the results.

" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + } + } + }, + "DocumentContentType":{ + "type":"string", + "max":128, + "min":1 + }, + "DocumentLockedForCommentsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

This exception is thrown when the document is locked for comments and user tries to create or delete a comment on that document.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "DocumentMetadata":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

" + }, + "CreatorId":{ + "shape":"IdType", + "documentation":"

The ID of the creator.

" + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the parent folder.

" + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time when the document was created.

" + }, + "ModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time when the document was updated.

" + }, + "LatestVersionMetadata":{ + "shape":"DocumentVersionMetadata", + "documentation":"

The latest version of the document.

" + }, + "ResourceState":{ + "shape":"ResourceStateType", + "documentation":"

The resource state.

" + }, + "Labels":{ + "shape":"Labels", + "documentation":"

List of labels on the document.

" + } + }, + "documentation":"

Describes the document.

" + }, + "DocumentMetadataList":{ + "type":"list", + "member":{"shape":"DocumentMetadata"} + }, + "DocumentSourceType":{ + "type":"string", + "enum":[ + "ORIGINAL", + "WITH_COMMENTS" + ] + }, + "DocumentSourceUrlMap":{ + "type":"map", + "key":{"shape":"DocumentSourceType"}, + "value":{"shape":"UrlType"} + }, + "DocumentStatusType":{ + "type":"string", + "enum":[ + "INITIALIZED", + "ACTIVE" + ] + }, + "DocumentThumbnailType":{ + "type":"string", + "enum":[ + "SMALL", + "SMALL_HQ", + "LARGE" + ] + }, + "DocumentThumbnailUrlMap":{ + "type":"map", + "key":{"shape":"DocumentThumbnailType"}, + "value":{"shape":"UrlType"} + }, + "DocumentVersionIdType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+-.@]+" + }, + "DocumentVersionMetadata":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"DocumentVersionIdType", + "documentation":"

The ID of the version.

" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

The name of the version.

" + }, + "ContentType":{ + "shape":"DocumentContentType", + "documentation":"

The content type of the document.

" + }, + "Size":{ + "shape":"SizeType", + "documentation":"

The size of the document, in bytes.

" + }, + "Signature":{ + "shape":"HashType", + "documentation":"

The signature of the document.

" + }, + "Status":{ + "shape":"DocumentStatusType", + "documentation":"

The status of the document.

" + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time stamp when the document was first uploaded.

" + }, + "ModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time stamp when the document was last uploaded.

" + }, + "ContentCreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time stamp when the content of the document was originally created.

" + }, + "ContentModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time stamp when the content of the document was modified.

" + }, + "CreatorId":{ + "shape":"IdType", + "documentation":"

The ID of the creator.

" + }, + "Thumbnail":{ + "shape":"DocumentThumbnailUrlMap", + "documentation":"

The thumbnail of the document.

" + }, + "Source":{ + "shape":"DocumentSourceUrlMap", + "documentation":"

The source of the document.

" + } + }, + "documentation":"

Describes a version of a document.

" + }, + "DocumentVersionMetadataList":{ + "type":"list", + "member":{"shape":"DocumentVersionMetadata"} + }, + "DocumentVersionStatus":{ + "type":"string", + "enum":["ACTIVE"] + }, + "DraftUploadOutOfSyncException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

This exception is thrown when a valid checkout ID is not presented on document version upload calls for a document that has been checked out from Web client.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "EmailAddressType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}" + }, + "EntityAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The resource already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "EntityIdList":{ + "type":"list", + "member":{"shape":"IdType"} + }, + "EntityNotExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"}, + "EntityIds":{"shape":"EntityIdList"} + }, + "documentation":"

The resource does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ErrorMessageType":{"type":"string"}, + "FailedDependencyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the organization is failing, such as a connected active directory.

", + "error":{"httpStatusCode":424}, + "exception":true + }, + "FieldNamesType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w,]+" + }, + "FolderContentType":{ + "type":"string", + "enum":[ + "ALL", + "DOCUMENT", + "FOLDER" + ] + }, + "FolderMetadata":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the folder.

" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

The name of the folder.

" + }, + "CreatorId":{ + "shape":"IdType", + "documentation":"

The ID of the creator.

" + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the parent folder.

" + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time when the folder was created.

" + }, + "ModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time when the folder was updated.

" + }, + "ResourceState":{ + "shape":"ResourceStateType", + "documentation":"

The resource state of the folder.

" + }, + "Signature":{ + "shape":"HashType", + "documentation":"

The unique identifier created from the subfolders and documents of the folder.

" + }, + "Labels":{ + "shape":"Labels", + "documentation":"

List of labels on the folder.

" + }, + "Size":{ + "shape":"SizeType", + "documentation":"

The size of the folder metadata.

" + }, + "LatestVersionSize":{ + "shape":"SizeType", + "documentation":"

The size of the latest version of the folder metadata.

" + } + }, + "documentation":"

Describes a folder.

" + }, + "FolderMetadataList":{ + "type":"list", + "member":{"shape":"FolderMetadata"} + }, + "GetCurrentUserRequest":{ + "type":"structure", + "required":["AuthenticationToken"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token.

", + "location":"header", + "locationName":"Authentication" + } + } + }, + "GetCurrentUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

Metadata of the user.

" + } + } + }, + "GetDocumentPathRequest":{ + "type":"structure", + "required":["DocumentId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"IdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

The maximum number of levels in the hierarchy to return.

", + "location":"querystring", + "locationName":"limit" + }, + "Fields":{ + "shape":"FieldNamesType", + "documentation":"

A comma-separated list of values. Specify NAME to include the names of the parent folders.

", + "location":"querystring", + "locationName":"fields" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

This value is not supported.

", + "location":"querystring", + "locationName":"marker" + } + } + }, + "GetDocumentPathResponse":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"ResourcePath", + "documentation":"

The path information.

" + } + } + }, + "GetDocumentRequest":{ + "type":"structure", + "required":["DocumentId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + }, + "IncludeCustomMetadata":{ + "shape":"BooleanType", + "documentation":"

Set this to TRUE to include custom metadata in the response.

", + "location":"querystring", + "locationName":"includeCustomMetadata" + } + } + }, + "GetDocumentResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"DocumentMetadata", + "documentation":"

The metadata details of the document.

" + }, + "CustomMetadata":{ + "shape":"CustomMetadataMap", + "documentation":"

The custom metadata on the document.

" + } + } + }, + "GetDocumentVersionRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

The version ID of the document.

", + "location":"uri", + "locationName":"VersionId" + }, + "Fields":{ + "shape":"FieldNamesType", + "documentation":"

A comma-separated list of values. Specify \"SOURCE\" to include a URL for the source document.

", + "location":"querystring", + "locationName":"fields" + }, + "IncludeCustomMetadata":{ + "shape":"BooleanType", + "documentation":"

Set this to TRUE to include custom metadata in the response.

", + "location":"querystring", + "locationName":"includeCustomMetadata" + } + } + }, + "GetDocumentVersionResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"DocumentVersionMetadata", + "documentation":"

The version metadata.

" + }, + "CustomMetadata":{ + "shape":"CustomMetadataMap", + "documentation":"

The custom metadata on the document version.

" + } + } + }, + "GetFolderPathRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"IdType", + "documentation":"

The ID of the folder.

", + "location":"uri", + "locationName":"FolderId" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

The maximum number of levels in the hierarchy to return.

", + "location":"querystring", + "locationName":"limit" + }, + "Fields":{ + "shape":"FieldNamesType", + "documentation":"

A comma-separated list of values. Specify \"NAME\" to include the names of the parent folders.

", + "location":"querystring", + "locationName":"fields" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

This value is not supported.

", + "location":"querystring", + "locationName":"marker" + } + } + }, + "GetFolderPathResponse":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"ResourcePath", + "documentation":"

The path information.

" + } + } + }, + "GetFolderRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the folder.

", + "location":"uri", + "locationName":"FolderId" + }, + "IncludeCustomMetadata":{ + "shape":"BooleanType", + "documentation":"

Set to TRUE to include custom metadata in the response.

", + "location":"querystring", + "locationName":"includeCustomMetadata" + } + } + }, + "GetFolderResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"FolderMetadata", + "documentation":"

The metadata of the folder.

" + }, + "CustomMetadata":{ + "shape":"CustomMetadataMap", + "documentation":"

The custom metadata on the folder.

" + } + } + }, + "GroupMetadata":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

The ID of the user group.

" + }, + "Name":{ + "shape":"GroupNameType", + "documentation":"

The name of the group.

" + } + }, + "documentation":"

Describes the metadata of a user group.

" + }, + "GroupMetadataList":{ + "type":"list", + "member":{"shape":"GroupMetadata"} + }, + "GroupNameType":{"type":"string"}, + "HashType":{ + "type":"string", + "max":128, + "min":0, + "pattern":"[&\\w+-.@]+" + }, + "HeaderNameType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w-]+" + }, + "HeaderValueType":{ + "type":"string", + "max":1024, + "min":1 + }, + "IdType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[&\\w+-.@]+" + }, + "IllegalUserStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The user is undergoing transfer of ownership.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "InitiateDocumentVersionUploadRequest":{ + "type":"structure", + "required":["ParentFolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "Id":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

The name of the document.

" + }, + "ContentCreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time stamp when the content of the document was originally created.

" + }, + "ContentModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time stamp when the content of the document was modified.

" + }, + "ContentType":{ + "shape":"DocumentContentType", + "documentation":"

The content type of the document.

" + }, + "DocumentSizeInBytes":{ + "shape":"SizeType", + "documentation":"

The size of the document, in bytes.

" + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the parent folder.

" + } + } + }, + "InitiateDocumentVersionUploadResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"DocumentMetadata", + "documentation":"

The document metadata.

" + }, + "UploadMetadata":{ + "shape":"UploadMetadata", + "documentation":"

The upload metadata.

" + } + } + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The pagination marker and/or limit fields are not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The operation is invalid.

", + "error":{"httpStatusCode":405}, + "exception":true + }, + "Label":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[a-zA-Z0-9._+-/=][a-zA-Z0-9 ._+-/=]*" + }, + "Labels":{ + "type":"list", + "member":{"shape":"Label"}, + "max":20 + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The maximum of 100,000 folders under the parent folder has been exceeded.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "LimitType":{ + "type":"integer", + "max":999, + "min":1 + }, + "LocaleType":{ + "type":"string", + "enum":[ + "en", + "fr", + "ko", + "de", + "es", + "ja", + "ru", + "zh_CN", + "zh_TW", + "pt_BR", + "default" + ] + }, + "MarkerType":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\u0000-\\u00FF]+" + }, + "MessageType":{ + "type":"string", + "max":2048, + "min":0, + "sensitive":true + }, + "OrderType":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "OrganizationUserList":{ + "type":"list", + "member":{"shape":"User"} + }, + "PageMarkerType":{ + "type":"string", + "max":2048, + "min":1 + }, + "Participants":{ + "type":"structure", + "members":{ + "Users":{ + "shape":"UserMetadataList", + "documentation":"

The list of users.

" + }, + "Groups":{ + "shape":"GroupMetadataList", + "documentation":"

The list of user groups.

" + } + }, + "documentation":"

Describes the users and/or user groups.

" + }, + "PasswordType":{ + "type":"string", + "max":32, + "min":4, + "pattern":"[\\u0020-\\u00FF]+", + "sensitive":true + }, + "PermissionInfo":{ + "type":"structure", + "members":{ + "Role":{ + "shape":"RoleType", + "documentation":"

The role of the user.

" + }, + "Type":{ + "shape":"RolePermissionType", + "documentation":"

The type of permissions.

" + } + }, + "documentation":"

Describes the permissions.

" + }, + "PermissionInfoList":{ + "type":"list", + "member":{"shape":"PermissionInfo"} + }, + "PositiveSizeType":{ + "type":"long", + "min":0 + }, + "Principal":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

The ID of the resource.

" + }, + "Type":{ + "shape":"PrincipalType", + "documentation":"

The type of resource.

" + }, + "Roles":{ + "shape":"PermissionInfoList", + "documentation":"

The permission information for the resource.

" + } + }, + "documentation":"

Describes a resource.

" + }, + "PrincipalList":{ + "type":"list", + "member":{"shape":"Principal"} + }, + "PrincipalType":{ + "type":"string", + "enum":[ + "USER", + "GROUP", + "INVITE", + "ANONYMOUS", + "ORGANIZATION" + ] + }, + "ProhibitedStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The specified document version is not in the INITIALIZED state.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "RemoveAllResourcePermissionsRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the resource.

", + "location":"uri", + "locationName":"ResourceId" + } + } + }, + "RemoveResourcePermissionRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "PrincipalId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the resource.

", + "location":"uri", + "locationName":"ResourceId" + }, + "PrincipalId":{ + "shape":"IdType", + "documentation":"

The principal ID of the resource.

", + "location":"uri", + "locationName":"PrincipalId" + }, + "PrincipalType":{ + "shape":"PrincipalType", + "documentation":"

The principal type of the resource.

", + "location":"querystring", + "locationName":"type" + } + } + }, + "ResourceAlreadyCheckedOutException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The resource is already checked out.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceIdType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+-.@]+" + }, + "ResourceMetadata":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ResourceType", + "documentation":"

The type of resource.

" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

The name of the resource.

" + }, + "OriginalName":{ + "shape":"ResourceNameType", + "documentation":"

The original name of the resource prior to a rename operation.

" + }, + "Id":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the resource.

" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

The version ID of the resource. This is an optional field and is filled for action on document version.

" + }, + "Owner":{ + "shape":"UserMetadata", + "documentation":"

The owner of the resource.

" + }, + "ParentId":{ + "shape":"ResourceIdType", + "documentation":"

The parent ID of the resource before a rename operation.

" + } + }, + "documentation":"

Describes the metadata of a resource.

" + }, + "ResourceNameType":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\u202D\\u202F-\\uFFFF]+" + }, + "ResourcePath":{ + "type":"structure", + "members":{ + "Components":{ + "shape":"ResourcePathComponentList", + "documentation":"

The components of the resource path.

" + } + }, + "documentation":"

Describes the path information of a resource.

" + }, + "ResourcePathComponent":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

The ID of the resource path.

" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

The name of the resource path.

" + } + }, + "documentation":"

Describes the resource path.

" + }, + "ResourcePathComponentList":{ + "type":"list", + "member":{"shape":"ResourcePathComponent"} + }, + "ResourceSortType":{ + "type":"string", + "enum":[ + "DATE", + "NAME" + ] + }, + "ResourceStateType":{ + "type":"string", + "enum":[ + "ACTIVE", + "RESTORING", + "RECYCLING", + "RECYCLED" + ] + }, + "ResourceType":{ + "type":"string", + "enum":[ + "FOLDER", + "DOCUMENT" + ] + }, + "RolePermissionType":{ + "type":"string", + "enum":[ + "DIRECT", + "INHERITED" + ] + }, + "RoleType":{ + "type":"string", + "enum":[ + "VIEWER", + "CONTRIBUTOR", + "OWNER", + "COOWNER" + ] + }, + "SearchQueryType":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\u0020-\\uFFFF]+", + "sensitive":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

One or more of the dependencies is unavailable.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "SharePrincipal":{ + "type":"structure", + "required":[ + "Id", + "Type", + "Role" + ], + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

The ID of the recipient.

" + }, + "Type":{ + "shape":"PrincipalType", + "documentation":"

The type of the recipient.

" + }, + "Role":{ + "shape":"RoleType", + "documentation":"

The role of the recipient.

" + } + }, + "documentation":"

Describes the recipient type and ID, if available.

" + }, + "SharePrincipalList":{ + "type":"list", + "member":{"shape":"SharePrincipal"} + }, + "ShareResult":{ + "type":"structure", + "members":{ + "PrincipalId":{ + "shape":"IdType", + "documentation":"

The ID of the principal.

" + }, + "Role":{ + "shape":"RoleType", + "documentation":"

The role.

" + }, + "Status":{ + "shape":"ShareStatusType", + "documentation":"

The status.

" + }, + "ShareId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the resource that was shared.

" + }, + "StatusMessage":{ + "shape":"MessageType", + "documentation":"

The status message.

" + } + }, + "documentation":"

Describes the share results of a resource.

" + }, + "ShareResultsList":{ + "type":"list", + "member":{"shape":"ShareResult"} + }, + "ShareStatusType":{ + "type":"string", + "enum":[ + "SUCCESS", + "FAILURE" + ] + }, + "SignedHeaderMap":{ + "type":"map", + "key":{"shape":"HeaderNameType"}, + "value":{"shape":"HeaderValueType"} + }, + "SizeType":{"type":"long"}, + "StorageLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The storage limit has been exceeded.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "StorageLimitWillExceedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The storage limit will be exceeded.

", + "error":{"httpStatusCode":413}, + "exception":true + }, + "StorageRuleType":{ + "type":"structure", + "members":{ + "StorageAllocatedInBytes":{ + "shape":"PositiveSizeType", + "documentation":"

The amount of storage allocated, in bytes.

" + }, + "StorageType":{ + "shape":"StorageType", + "documentation":"

The type of storage.

" + } + }, + "documentation":"

Describes the storage for a user.

" + }, + "StorageType":{ + "type":"string", + "enum":[ + "UNLIMITED", + "QUOTA" + ] + }, + "Subscription":{ + "type":"structure", + "members":{ + "SubscriptionId":{ + "shape":"IdType", + "documentation":"

The ID of the subscription.

" + }, + "EndPoint":{ + "shape":"SubscriptionEndPointType", + "documentation":"

The endpoint of the subscription.

" + }, + "Protocol":{ + "shape":"SubscriptionProtocolType", + "documentation":"

The protocol of the subscription.

" + } + }, + "documentation":"

Describes a subscription.

" + }, + "SubscriptionEndPointType":{ + "type":"string", + "max":256, + "min":1 + }, + "SubscriptionList":{ + "type":"list", + "member":{"shape":"Subscription"}, + "max":256 + }, + "SubscriptionProtocolType":{ + "type":"string", + "enum":["HTTPS"] + }, + "SubscriptionType":{ + "type":"string", + "enum":["ALL"] + }, + "TimeZoneIdType":{ + "type":"string", + "max":256, + "min":1 + }, + "TimestampType":{"type":"timestamp"}, + "TooManyLabelsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The limit has been reached on the number of labels for the specified resource.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TooManySubscriptionsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

You've reached the limit on the number of subscriptions for the WorkDocs instance.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "UnauthorizedOperationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The operation is not permitted.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "UnauthorizedResourceAccessException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The caller does not have access to perform the action on the resource.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "UpdateDocumentRequest":{ + "type":"structure", + "required":["DocumentId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

The name of the document.

" + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the parent folder.

" + }, + "ResourceState":{ + "shape":"ResourceStateType", + "documentation":"

The resource state of the document. Note that only ACTIVE and RECYCLED are supported.

" + } + } + }, + "UpdateDocumentVersionRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the document.

", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

The version ID of the document.

", + "location":"uri", + "locationName":"VersionId" + }, + "VersionStatus":{ + "shape":"DocumentVersionStatus", + "documentation":"

The status of the version.

" + } + } + }, + "UpdateFolderRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the folder.

", + "location":"uri", + "locationName":"FolderId" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

The name of the folder.

" + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the parent folder.

" + }, + "ResourceState":{ + "shape":"ResourceStateType", + "documentation":"

The resource state of the folder. Note that only ACTIVE and RECYCLED are accepted values from the API.

" + } + } + }, + "UpdateUserRequest":{ + "type":"structure", + "required":["UserId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

Amazon WorkDocs authentication token. This field should not be set when using administrative API actions, as in accessing the API using AWS credentials.

", + "location":"header", + "locationName":"Authentication" + }, + "UserId":{ + "shape":"IdType", + "documentation":"

The ID of the user.

", + "location":"uri", + "locationName":"UserId" + }, + "GivenName":{ + "shape":"UserAttributeValueType", + "documentation":"

The given name of the user.

" + }, + "Surname":{ + "shape":"UserAttributeValueType", + "documentation":"

The surname of the user.

" + }, + "Type":{ + "shape":"UserType", + "documentation":"

The type of the user.

" + }, + "StorageRule":{ + "shape":"StorageRuleType", + "documentation":"

The amount of storage for the user.

" + }, + "TimeZoneId":{ + "shape":"TimeZoneIdType", + "documentation":"

The time zone ID of the user.

" + }, + "Locale":{ + "shape":"LocaleType", + "documentation":"

The locale of the user.

" + } + } + }, + "UpdateUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

The user information.

" + } + } + }, + "UploadMetadata":{ + "type":"structure", + "members":{ + "UploadUrl":{ + "shape":"UrlType", + "documentation":"

The URL of the upload.

" + }, + "SignedHeaders":{ + "shape":"SignedHeaderMap", + "documentation":"

The signed headers.

" + } + }, + "documentation":"

Describes the upload.

" + }, + "UrlType":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, + "User":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

The ID of the user.

" + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

The login name of the user.

" + }, + "EmailAddress":{ + "shape":"EmailAddressType", + "documentation":"

The email address of the user.

" + }, + "GivenName":{ + "shape":"UserAttributeValueType", + "documentation":"

The given name of the user.

" + }, + "Surname":{ + "shape":"UserAttributeValueType", + "documentation":"

The surname of the user.

" + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

The ID of the organization.

" + }, + "RootFolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the root folder.

" + }, + "RecycleBinFolderId":{ + "shape":"ResourceIdType", + "documentation":"

The ID of the recycle bin folder.

" + }, + "Status":{ + "shape":"UserStatusType", + "documentation":"

The status of the user.

" + }, + "Type":{ + "shape":"UserType", + "documentation":"

The type of user.

" + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time when the user was created.

" + }, + "ModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

The time when the user was modified.

" + }, + "TimeZoneId":{ + "shape":"TimeZoneIdType", + "documentation":"

The time zone ID of the user.

" + }, + "Locale":{ + "shape":"LocaleType", + "documentation":"

The locale of the user.

" + }, + "Storage":{ + "shape":"UserStorageMetadata", + "documentation":"

The storage for the user.

" + } + }, + "documentation":"

Describes a user.

" + }, + "UserActivities":{ + "type":"list", + "member":{"shape":"Activity"} + }, + "UserAttributeValueType":{ + "type":"string", + "max":64, + "min":1 + }, + "UserFilterType":{ + "type":"string", + "enum":[ + "ALL", + "ACTIVE_PENDING" + ] + }, + "UserIdsType":{ + "type":"string", + "max":2000, + "min":1, + "pattern":"[&\\w+-.@, ]+" + }, + "UserMetadata":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

The ID of the user.

" + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

The username of the user.

" + }, + "GivenName":{ + "shape":"UserAttributeValueType", + "documentation":"

The given name of the user before a rename operation.

" + }, + "Surname":{ + "shape":"UserAttributeValueType", + "documentation":"

The surname of the user.

" + }, + "EmailAddress":{ + "shape":"EmailAddressType", + "documentation":"

The email address of the user.

" + } + }, + "documentation":"

Describes the metadata of the user.

" + }, + "UserMetadataList":{ + "type":"list", + "member":{"shape":"UserMetadata"} + }, + "UserSortType":{ + "type":"string", + "enum":[ + "USER_NAME", + "FULL_NAME", + "STORAGE_LIMIT", + "USER_STATUS", + "STORAGE_USED" + ] + }, + "UserStatusType":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE", + "PENDING" + ] + }, + "UserStorageMetadata":{ + "type":"structure", + "members":{ + "StorageUtilizedInBytes":{ + "shape":"SizeType", + "documentation":"

The amount of storage utilized, in bytes.

" + }, + "StorageRule":{ + "shape":"StorageRuleType", + "documentation":"

The storage for a user.

" + } + }, + "documentation":"

Describes the storage for a user.

" + }, + "UserType":{ + "type":"string", + "enum":[ + "USER", + "ADMIN" + ] + }, + "UsernameType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w\\-+.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z]+)?" + } + }, + "documentation":"

The WorkDocs API is designed for the following use cases:

  • File Migration: File migration applications are supported for users who want to migrate their files from an on-premise or off-premise file system or service. Users can insert files into a user directory structure, as well as allow for basic metadata changes, such as modifications to the permissions of files.

  • Security: Support security applications are supported for users who have additional security needs, such as anti-virus or data loss prevention. The APIs, in conjunction with Amazon CloudTrail, allow these applications to detect when changes occur in Amazon WorkDocs, so the application can take the necessary actions and replace the target file. The application can also choose to email the user if the target file violates the policy.

  • eDiscovery/Analytics: General administrative applications are supported, such as eDiscovery and analytics. These applications can choose to mimic and/or record the actions in an Amazon WorkDocs site, in conjunction with Amazon CloudTrails, to replicate data for eDiscovery, backup, or analytical applications.

All Amazon WorkDocs APIs are Amazon authenticated, certificate-signed APIs. They not only require the use of the AWS SDK, but also allow for the exclusive use of IAM users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the Amazon WorkDocs site, the IAM user gains full administrative visibility into the entire Amazon WorkDocs site (or as set in the IAM policy). This includes, but is not limited to, the ability to modify file permissions and upload any file to any user. This allows developers to perform the three use cases above, as well as give users the ability to grant access on a selective basis using the IAM model.

" +} diff --git a/botocore/data/workspaces/2015-04-08/examples-1.json b/botocore/data/workspaces/2015-04-08/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/workspaces/2015-04-08/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/workspaces/2015-04-08/paginators-1.json b/botocore/data/workspaces/2015-04-08/paginators-1.json new file mode 100644 index 00000000..efa8cbad --- /dev/null +++ b/botocore/data/workspaces/2015-04-08/paginators-1.json @@ -0,0 +1,20 @@ +{ + "pagination": { + "DescribeWorkspaceBundles": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Bundles" + }, + "DescribeWorkspaceDirectories": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Directories" + }, + "DescribeWorkspaces": { + "limit_key": "Limit", + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Workspaces" + } + } +} diff --git a/botocore/data/workspaces/2015-04-08/service-2.json b/botocore/data/workspaces/2015-04-08/service-2.json index c37fee08..b9ed59cd 100644 --- a/botocore/data/workspaces/2015-04-08/service-2.json +++ b/botocore/data/workspaces/2015-04-08/service-2.json @@ -1,14 +1,14 @@ { "version":"2.0", "metadata":{ - "uid":"workspaces-2015-04-08", "apiVersion":"2015-04-08", "endpointPrefix":"workspaces", "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon WorkSpaces", "signatureVersion":"v4", - "targetPrefix":"WorkspacesService" + "targetPrefix":"WorkspacesService", + "uid":"workspaces-2015-04-08" }, "operations":{ "CreateTags":{ @@ -137,7 +137,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

Modifies the WorkSpace properties, including the RunningMode and AutoStop time.

" + "documentation":"

Modifies the WorkSpace properties, including the running mode and AutoStop time.

" }, "RebootWorkspaces":{ "name":"RebootWorkspaces", @@ -167,7 +167,7 @@ }, "input":{"shape":"StartWorkspacesRequest"}, "output":{"shape":"StartWorkspacesResult"}, - "documentation":"

Starts the specified WorkSpaces. The API only works with WorkSpaces that have RunningMode configured as AutoStop and the State set to “STOPPED.”

" + "documentation":"

Starts the specified WorkSpaces. The WorkSpaces must have a running mode of AutoStop and a state of STOPPED.

" }, "StopWorkspaces":{ "name":"StopWorkspaces", @@ -177,7 +177,7 @@ }, "input":{"shape":"StopWorkspacesRequest"}, "output":{"shape":"StopWorkspacesResult"}, - "documentation":"

Stops the specified WorkSpaces. The API only works with WorkSpaces that have RunningMode configured as AutoStop and the State set to AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

" + "documentation":"

Stops the specified WorkSpaces. The WorkSpaces must have a running mode of AutoStop and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

" }, "TerminateWorkspaces":{ "name":"TerminateWorkspaces", @@ -200,6 +200,7 @@ "members":{ "message":{"shape":"ExceptionMessage"} }, + "documentation":"

The user is not authorized to access a resource.

", "exception":true }, "Alias":{"type":"string"}, @@ -595,7 +596,7 @@ "members":{ "message":{"shape":"ExceptionMessage"} }, - "documentation":"

The specified WorkSpace has an invalid state for this operation.

", + "documentation":"

The state of the WorkSpace is not valid for this operation.

", "exception":true }, "IpAddress":{"type":"string"}, @@ -931,7 +932,7 @@ "members":{ "message":{"shape":"ExceptionMessage"} }, - "documentation":"

The WorkSpace does not have the supported configuration for this operation. For more information, see the Amazon WorkSpaces Administration Guide.

", + "documentation":"

The configuration of this WorkSpace is not supported for this operation. For more information, see the Amazon WorkSpaces Administration Guide.

", "exception":true }, "UserName":{ diff --git a/botocore/data/xray/2016-04-12/examples-1.json b/botocore/data/xray/2016-04-12/examples-1.json new file mode 100644 index 00000000..0ea7e3b0 --- /dev/null +++ b/botocore/data/xray/2016-04-12/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/botocore/data/xray/2016-04-12/paginators-1.json b/botocore/data/xray/2016-04-12/paginators-1.json new file mode 100644 index 00000000..ea142457 --- /dev/null +++ b/botocore/data/xray/2016-04-12/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/xray/2016-04-12/service-2.json b/botocore/data/xray/2016-04-12/service-2.json index a0228eaf..3f093b09 100644 --- a/botocore/data/xray/2016-04-12/service-2.json +++ b/botocore/data/xray/2016-04-12/service-2.json @@ -63,7 +63,7 @@ {"shape":"InvalidRequestException"}, {"shape":"ThrottledException"} ], - "documentation":"

Retrieves IDs and metadata for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces.

" + "documentation":"

Retrieves IDs and metadata for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces.

A filter expression can target traced requests that hit specific service nodes or edges, have errors, or come from a known user. For example, the following filter expression targets traces that pass through api.example.com:

service(\"api.example.com\")

This filter expression finds traces that have an annotation named account with the value 12345:

annotation.account = \"12345\"

For a full list of indexed fields and keywords that you can use in filter expressions, see Using Filter Expressions in the AWS X-Ray Developer Guide.

" }, "PutTelemetryRecords":{ "name":"PutTelemetryRecords", @@ -91,7 +91,7 @@ {"shape":"InvalidRequestException"}, {"shape":"ThrottledException"} ], - "documentation":"

Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a completed segment, an in-progress segment, or an array of subsegments.

" + "documentation":"

Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a completed segment, an in-progress segment, or an array of subsegments.

Segments must include the following fields. For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide.

Required Segment Document Fields

  • name - The name of the service that handled the request.

  • id - A 64-bit identifier for the segment, unique among segments in the same trace, in 16 hexadecimal digits.

  • trace_id - A unique identifier that connects all segments and subsegments originating from a single client request.

  • start_time - Time the segment or subsegment was created, in floating point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 or 1.480615200010E9.

  • end_time - Time the segment or subsegment was closed. For example, 1480615200.090 or 1.480615200090E9. Specify either an end_time or in_progress.

  • in_progress - Set to true instead of specifying an end_time to record that a segment has been started, but is not complete. Send an in progress segment when your application receives a request that will take a long time to serve, to trace the fact that the request was received. When the response is sent, send the complete segment to overwrite the in-progress segment.

A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes:

Trace ID Format

  • The version number, i.e. 1.

  • The time of the original request, in Unix epoch time, in 8 hexadecimal digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 seconds, or 58406520 in hexadecimal.

  • A 96-bit identifier for the trace, globally unique, in 24 hexadecimal digits.

" } }, "shapes":{ @@ -150,30 +150,30 @@ "members":{ "TimeoutCount":{ "shape":"NullableInteger", - "documentation":"

" + "documentation":"

" }, "ConnectionRefusedCount":{ "shape":"NullableInteger", - "documentation":"

" + "documentation":"

" }, "HTTPCode4XXCount":{ "shape":"NullableInteger", - "documentation":"

" + "documentation":"

" }, "HTTPCode5XXCount":{ "shape":"NullableInteger", - "documentation":"

" + "documentation":"

" }, "UnknownHostCount":{ "shape":"NullableInteger", - "documentation":"

" + "documentation":"

" }, "OtherCount":{ "shape":"NullableInteger", - "documentation":"

" + "documentation":"

" } }, - "documentation":"

" + "documentation":"

" }, "BatchGetTracesRequest":{ "type":"structure", @@ -228,7 +228,7 @@ }, "ResponseTimeHistogram":{ "shape":"Histogram", - "documentation":"

Histogram describing the prominence of response times on the edge.

" + "documentation":"

A histogram that maps the spread of client response times on an edge.

" }, "Aliases":{ "shape":"AliasList", @@ -485,19 +485,19 @@ "members":{ "TelemetryRecords":{ "shape":"TelemetryRecordList", - "documentation":"

" + "documentation":"

" }, "EC2InstanceId":{ "shape":"String", - "documentation":"

" + "documentation":"

" }, "Hostname":{ "shape":"String", - "documentation":"

" + "documentation":"

" }, "ResourceARN":{ "shape":"String", - "documentation":"

" + "documentation":"

" } } }, @@ -512,7 +512,7 @@ "members":{ "TraceSegmentDocuments":{ "shape":"TraceSegmentDocumentList", - "documentation":"

A JSON document defining one or more segments or subsegments. Segments must include the following fields.

Required Segment Document Fields

  • name - The name of the service that handled the request.

  • id - A 64-bit identifier for the segment, unique among segments in the same trace, in 16 hexadecimal digits.

  • trace_id - A unique identifier that connects all segments and subsegments originating from a single client request.

  • start_time - Time the segment or subsegment was created, in floating point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 or 1.480615200010E9.

  • end_time - Time the segment or subsegment was closed. For example, 1480615200.090 or 1.480615200090E9. Specify either an end_time or in_progress.

  • in_progress - Set to true instead of specifying an end_time to record that a segment has been started, but is not complete. Send an in progress segment when your application receives a request that will take a long time to serve, to trace the fact that the request was received. When the response is sent, send the complete segment to overwrite the in-progress segment.

A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes:

Trace ID Format

  • The version number, i.e. 1.

  • The time of the original request, in Unix epoch time, in 8 hexadecimal digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 seconds, or 58406520 in hexadecimal.

  • A 96-bit identifier for the trace, globally unique, in 24 hexadecimal digits.

" + "documentation":"

A string containing a JSON document defining one or more segments or subsegments.

" } } }, @@ -534,10 +534,10 @@ }, "Document":{ "shape":"SegmentDocument", - "documentation":"

The segment document.

" + "documentation":"

The segment document

" } }, - "documentation":"

Information about a segment

" + "documentation":"

A segment from a trace that has been ingested by the X-Ray service. The segment can be compiled from documents uploaded with PutTraceSegments, or an inferred segment for a downstream service, generated from a subsegment sent by the service that called it.

" }, "SegmentDocument":{ "type":"string", @@ -601,7 +601,11 @@ }, "DurationHistogram":{ "shape":"Histogram", - "documentation":"

Histogram mapping the spread of trace durations

" + "documentation":"

A histogram that maps the spread of service durations.

" + }, + "ResponseTimeHistogram":{ + "shape":"Histogram", + "documentation":"

A histogram that maps the spread of service response times.

" } }, "documentation":"

Information about an application that processed requests, users that made requests, or downstream services, resources and applications that an application used.

" @@ -611,22 +615,22 @@ "members":{ "Name":{ "shape":"String", - "documentation":"

" + "documentation":"

" }, "Names":{ "shape":"ServiceNames", - "documentation":"

" + "documentation":"

" }, "AccountId":{ "shape":"String", - "documentation":"

" + "documentation":"

" }, "Type":{ "shape":"String", - "documentation":"

" + "documentation":"

" } }, - "documentation":"

" + "documentation":"

" }, "ServiceIds":{ "type":"list", @@ -672,30 +676,30 @@ "members":{ "Timestamp":{ "shape":"Timestamp", - "documentation":"

" + "documentation":"

" }, "SegmentsReceivedCount":{ "shape":"NullableInteger", - "documentation":"

" + "documentation":"

" }, "SegmentsSentCount":{ "shape":"NullableInteger", - "documentation":"

" + "documentation":"

" }, "SegmentsSpilloverCount":{ "shape":"NullableInteger", - "documentation":"

" + "documentation":"

" }, "SegmentsRejectedCount":{ "shape":"NullableInteger", - "documentation":"

" + "documentation":"

" }, "BackendConnectionErrors":{ "shape":"BackendConnectionErrors", - "documentation":"

" + "documentation":"

" } }, - "documentation":"

" + "documentation":"

" }, "TelemetryRecordList":{ "type":"list", diff --git a/botocore/docs/client.py b/botocore/docs/client.py index bbb06d7a..f69bf1f4 100644 --- a/botocore/docs/client.py +++ b/botocore/docs/client.py @@ -56,8 +56,10 @@ class ClientDocumenter(object): section.style.new_line() section.write('These are the available methods:') section.style.new_line() + class_name = self._client.__class__.__name__ for method_name in sorted(client_methods): - section.style.li(':py:meth:`%s`' % (method_name)) + section.style.li(':py:meth:`~%s.Client.%s`' % ( + class_name, method_name)) def _add_class_signature(self, section): section.style.start_sphinx_py_class( diff --git a/botocore/docs/shape.py b/botocore/docs/shape.py index 5d6bc867..b32ab368 100644 --- a/botocore/docs/shape.py +++ b/botocore/docs/shape.py @@ -16,6 +16,9 @@ # ``traverse_and_document_shape`` method called directly. It should be # inherited from a Documenter class with the appropriate methods # and attributes. +from botocore.utils import is_json_value_header + + class ShapeDocumenter(object): EVENT_NAME = '' @@ -85,6 +88,7 @@ class ShapeDocumenter(object): def _get_special_py_default(self, shape): special_defaults = { + 'jsonvalue_header': '{...}|[...]|123|123.4|\'string\'|True|None', 'streaming_input_shape': 'b\'bytes\'|file', 'streaming_output_shape': 'StreamingBody()' } @@ -92,12 +96,15 @@ class ShapeDocumenter(object): def _get_special_py_type_name(self, shape): special_type_names = { + 'jsonvalue_header': 'JSON serializable', 'streaming_input_shape': 'bytes or seekable file-like object', 'streaming_output_shape': ':class:`.StreamingBody`' } return self._get_value_for_special_type(shape, special_type_names) def _get_value_for_special_type(self, shape, special_type_map): + if is_json_value_header(shape): + return special_type_map['jsonvalue_header'] for special_type, marked_shape in self._context[ 'special_shape_types'].items(): if special_type in special_type_map: diff --git a/botocore/docs/sharedexample.py b/botocore/docs/sharedexample.py index 5759a030..117028d9 100644 --- a/botocore/docs/sharedexample.py +++ b/botocore/docs/sharedexample.py @@ -13,7 +13,7 @@ import re import numbers from botocore.utils import parse_timestamp -from datetime import datetime +from botocore.compat import six class SharedExampleDocumenter(object): @@ -165,7 +165,7 @@ 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("'%s'," % str(value)) + section.write(u"'%s'," % six.text_type(value)) def _document_number(self, section, value, path): section.write("%s," % str(value)) diff --git a/botocore/handlers.py b/botocore/handlers.py index edd240b5..e914543e 100644 --- a/botocore/handlers.py +++ b/botocore/handlers.py @@ -31,6 +31,7 @@ from botocore.docs.utils import HideParamFromOperations from botocore.docs.utils import AppendParamDocumentation from botocore.signers import add_generate_presigned_url from botocore.signers import add_generate_presigned_post +from botocore.signers import add_generate_db_auth_token from botocore.exceptions import ParamValidationError from botocore.exceptions import AliasConflictParameterError from botocore.exceptions import UnsupportedTLSVersionWarning @@ -97,6 +98,39 @@ def _looks_like_special_case_error(http_response): return False +def set_operation_specific_signer(context, signing_name, **kwargs): + """ Choose the operation-specific signer. + + Individual operations may have a different auth type than the service as a + whole. This will most often manifest as operations that should not be + authenticated at all, but can include other auth modes such as sigv4 + without body signing. + """ + auth_type = context.get('auth_type') + + # Auth type will be None if the operation doesn't have a configured auth + # type. + if not auth_type: + return + + # Auth type will be the string value 'none' if the operation should not + # be signed at all. + if auth_type == 'none': + return botocore.UNSIGNED + + if auth_type.startswith('v4'): + signature_version = 'v4' + if signing_name == 's3': + signature_version = 's3v4' + + # If the operation needs an unsigned body, we set additional context + # allowing the signer to be aware of this. + if auth_type == 'v4-unsigned-body': + context['payload_signing_enabled'] = False + + return signature_version + + def decode_console_output(parsed, **kwargs): if 'Output' in parsed: try: @@ -606,7 +640,7 @@ def document_glacier_tree_hash_checksum(): previous uploaded parts, using the algorithm described in `Glacier documentation `_. - But if you prefer, you can also use botocore.util.calculate_tree_hash() + But if you prefer, you can also use botocore.utils.calculate_tree_hash() to compute it from raw file by:: checksum = calculate_tree_hash(open('your_file.txt', 'rb')) @@ -781,17 +815,32 @@ class ParameterAlias(object): section.write(updated_content) +class ClientMethodAlias(object): + def __init__(self, actual_name): + """ Aliases a non-extant method to an existing method. + + :param actual_name: The name of the method that actually exists on + the client. + """ + self._actual = actual_name + + def __call__(self, client, **kwargs): + return getattr(client, self._actual) + # This is a list of (event_name, handler). # When a Session is created, everything in this list will be # automatically registered with that Session. BUILTIN_HANDLERS = [ + ('getattr.mturk.list_hi_ts_for_qualification_type', + ClientMethodAlias('list_hits_for_qualification_type')), ('before-parameter-build.s3.UploadPart', convert_body_to_file_like_object, REGISTER_LAST), ('before-parameter-build.s3.PutObject', convert_body_to_file_like_object, REGISTER_LAST), ('creating-client-class', add_generate_presigned_url), ('creating-client-class.s3', add_generate_presigned_post), + ('creating-client-class.rds', add_generate_db_auth_token), ('creating-client-class.iot-data', check_openssl_supports_tls_version_1_2), ('after-call.iam', json_decode_policies), @@ -839,6 +888,10 @@ BUILTIN_HANDLERS = [ ('before-call.glacier.UploadArchive', add_glacier_checksums), ('before-call.glacier.UploadMultipartPart', add_glacier_checksums), ('before-call.ec2.CopySnapshot', inject_presigned_url_ec2), + ('before-call.rds.CopyDBClusterSnapshot', + inject_presigned_url_rds), + ('before-call.rds.CreateDBCluster', + inject_presigned_url_rds), ('before-call.rds.CopyDBSnapshot', inject_presigned_url_rds), ('before-call.rds.CreateDBInstanceReadReplica', @@ -856,22 +909,7 @@ BUILTIN_HANDLERS = [ disable_signing), ('choose-signer.sts.AssumeRoleWithSAML', disable_signing), ('choose-signer.sts.AssumeRoleWithWebIdentity', disable_signing), - ('choose-signer.cognito-idp.ConfirmSignUp', disable_signing), - ('choose-signer.cognito-idp.VerifyUserAttribute', disable_signing), - ('choose-signer.cognito-idp.ForgotPassword', disable_signing), - ('choose-signer.cognito-idp.SignUp', disable_signing), - ('choose-signer.cognito-idp.UpdateUserAttributes', disable_signing), - ('choose-signer.cognito-idp.ConfirmForgotPassword', disable_signing), - ('choose-signer.cognito-idp.ResendConfirmationCode', disable_signing), - ('choose-signer.cognito-idp.GetUserAttributeVerificationCode', - disable_signing), - ('choose-signer.cognito-idp.GetUser', disable_signing), - ('choose-signer.cognito-idp.ChangePassword', disable_signing), - ('choose-signer.cognito-idp.GetOpenIdConfiguration', disable_signing), - ('choose-signer.cognito-idp.DeleteUser', disable_signing), - ('choose-signer.cognito-idp.SetUserSettings', disable_signing), - ('choose-signer.cognito-idp.GetJWKS', disable_signing), - ('choose-signer.cognito-idp.DeleteUserAttributes', disable_signing), + ('choose-signer', set_operation_specific_signer), ('before-parameter-build.s3.HeadObject', sse_md5), ('before-parameter-build.s3.GetObject', sse_md5), ('before-parameter-build.s3.PutObject', sse_md5), @@ -911,6 +949,17 @@ BUILTIN_HANDLERS = [ document_base64_encoding('UserData')), ('docs.*.autoscaling.CreateLaunchConfiguration.complete-section', document_base64_encoding('UserData')), + + # RDS PresignedUrl documentation customizations + ('docs.*.rds.CopyDBClusterSnapshot.complete-section', + AutoPopulatedParam('PreSignedUrl').document_auto_populated_param), + ('docs.*.rds.CreateDBCluster.complete-section', + AutoPopulatedParam('PreSignedUrl').document_auto_populated_param), + ('docs.*.rds.CopyDBSnapshot.complete-section', + AutoPopulatedParam('PreSignedUrl').document_auto_populated_param), + ('docs.*.rds.CreateDBInstanceReadReplica.complete-section', + AutoPopulatedParam('PreSignedUrl').document_auto_populated_param), + # EC2 CopySnapshot documentation customizations ('docs.*.ec2.CopySnapshot.complete-section', AutoPopulatedParam('PresignedUrl').document_auto_populated_param), diff --git a/botocore/model.py b/botocore/model.py index ff78b541..f9ecce66 100644 --- a/botocore/model.py +++ b/botocore/model.py @@ -48,7 +48,8 @@ class Shape(object): # the attributes that should be moved. SERIALIZED_ATTRS = ['locationName', 'queryName', 'flattened', 'location', 'payload', 'streaming', 'timestampFormat', - 'xmlNamespace', 'resultWrapper', 'xmlAttribute'] + 'xmlNamespace', 'resultWrapper', 'xmlAttribute', + 'jsonvalue'] METADATA_ATTRS = ['required', 'min', 'max', 'sensitive', 'enum', 'idempotencyToken', 'error', 'exception'] MAP_TYPE = OrderedDict @@ -103,6 +104,7 @@ class Shape(object): * xmlNamespace * resultWrapper * xmlAttribute + * jsonvalue :rtype: dict :return: Serialization information about the shape. @@ -423,6 +425,10 @@ class OperationModel(object): if 'idempotencyToken' in shape.metadata and shape.metadata['idempotencyToken']] + @CachedProperty + def auth_type(self): + return self._operation_model.get('authtype') + @CachedProperty def error_shapes(self): shapes = self._operation_model.get("errors", []) diff --git a/botocore/paginate.py b/botocore/paginate.py index e817dd4e..29c544b5 100644 --- a/botocore/paginate.py +++ b/botocore/paginate.py @@ -13,7 +13,7 @@ from itertools import tee -from six import string_types +from botocore.compat import six import jmespath import json @@ -27,6 +27,152 @@ from botocore.utils import set_value_from_jmespath, merge_dicts log = logging.getLogger(__name__) +class TokenEncoder(object): + """Encodes dictionaries into opaque strings. + + This for the most part json dumps + base64 encoding, but also supports + having bytes in the dictionary in addition to the types that json can + handle by default. + + This is intended for use in encoding pagination tokens, which in some + cases can be complex structures and / or contain bytes. + """ + + def encode(self, token): + """Encodes a dictionary to an opaque string. + + :type token: dict + :param token: A dictionary containing pagination information, + particularly the service pagination token(s) but also other boto + metadata. + + :rtype: str + :returns: An opaque string + """ + try: + # Try just using json dumps first to avoid having to traverse + # and encode the dict. In 99.9999% of cases this will work. + json_string = json.dumps(token) + except (TypeError, UnicodeDecodeError): + # If normal dumping failed, go through and base64 encode all bytes. + encoded_token, encoded_keys = self._encode(token, []) + + # Save the list of all the encoded key paths. We can safely + # assume that no service will ever use this key. + encoded_token['boto_encoded_keys'] = encoded_keys + + # Now that the bytes are all encoded, dump the json. + json_string = json.dumps(encoded_token) + + # base64 encode the json string to produce an opaque token string. + return base64.b64encode(json_string.encode('utf-8')).decode('utf-8') + + def _encode(self, data, path): + """Encode bytes in given data, keeping track of the path traversed.""" + if isinstance(data, dict): + return self._encode_dict(data, path) + elif isinstance(data, list): + return self._encode_list(data, path) + elif isinstance(data, six.binary_type): + return self._encode_bytes(data, path) + else: + return data, [] + + def _encode_list(self, data, path): + """Encode any bytes in a list, noting the index of what is encoded.""" + new_data = [] + encoded = [] + for i, value in enumerate(data): + new_path = path + [i] + new_value, new_encoded = self._encode(value, new_path) + new_data.append(new_value) + encoded.extend(new_encoded) + return new_data, encoded + + def _encode_dict(self, data, path): + """Encode any bytes in a dict, noting the index of what is encoded.""" + new_data = {} + encoded = [] + for key, value in data.items(): + new_path = path + [key] + new_value, new_encoded = self._encode(value, new_path) + new_data[key] = new_value + encoded.extend(new_encoded) + return new_data, encoded + + def _encode_bytes(self, data, path): + """Base64 encode a byte string.""" + return base64.b64encode(data).decode('utf-8'), [path] + + +class TokenDecoder(object): + """Decodes token strings back into dictionaries. + + This performs the inverse operation to the TokenEncoder, accepting + opaque strings and decoding them into a useable form. + """ + + def decode(self, token): + """Decodes an opaque string to a dictionary. + + :type token: str + :param token: A token string given by the botocore pagination + interface. + + :rtype: dict + :returns: A dictionary containing pagination information, + particularly the service pagination token(s) but also other boto + metadata. + """ + json_string = base64.b64decode(token.encode('utf-8')).decode('utf-8') + decoded_token = json.loads(json_string) + + # Remove the encoding metadata as it is read since it will no longer + # be needed. + encoded_keys = decoded_token.pop('boto_encoded_keys', None) + if encoded_keys is None: + return decoded_token + else: + return self._decode(decoded_token, encoded_keys) + + def _decode(self, token, encoded_keys): + """Find each encoded value and decode it.""" + for key in encoded_keys: + encoded = self._path_get(token, key) + decoded = base64.b64decode(encoded.encode('utf-8')) + self._path_set(token, key, decoded) + return token + + def _path_get(self, data, path): + """Return the nested data at the given path. + + For instance: + data = {'foo': ['bar', 'baz']} + path = ['foo', 0] + ==> 'bar' + """ + # jmespath isn't used here because it would be difficult to actually + # create the jmespath query when taking all of the unknowns of key + # structure into account. Gross though this is, it is simple and not + # very error prone. + d = data + for step in path: + d = d[step] + return d + + def _path_set(self, data, path, value): + """Set the value of a key in the given data. + + Example: + data = {'foo': ['bar', 'baz']} + path = ['foo', 1] + value = 'bin' + ==> data = {'foo': ['bar', 'bin']} + """ + container = self._path_get(data, path[:-1]) + container[path[-1]] = value + + class PaginatorModel(object): def __init__(self, paginator_config): self._paginator_config = paginator_config['pagination'] @@ -57,6 +203,8 @@ class PageIterator(object): self._resume_token = None self._non_aggregate_key_exprs = non_aggregate_keys self._non_aggregate_part = {} + self._token_encoder = TokenEncoder() + self._token_decoder = TokenDecoder() @property def result_keys(self): @@ -79,8 +227,7 @@ class PageIterator(object): dict_keys = sorted(value.keys()) if token_keys == dict_keys: - self._resume_token = base64.b64encode( - json.dumps(value).encode('utf-8')).decode('utf-8') + self._resume_token = self._token_encoder.encode(value) else: raise ValueError("Bad starting token: %s" % value) @@ -211,7 +358,7 @@ class PageIterator(object): # and only return the truncated amount. starting_truncation = self._parse_starting_token()[1] all_data = primary_result_key.search(parsed) - if isinstance(all_data, (list, string_types)): + if isinstance(all_data, (list, six.string_types)): data = all_data[starting_truncation:] else: data = None @@ -229,7 +376,7 @@ class PageIterator(object): sample = token.search(parsed) if isinstance(sample, list): empty_value = [] - elif isinstance(sample, string_types): + elif isinstance(sample, six.string_types): empty_value = '' elif isinstance(sample, (int, float)): empty_value = 0 @@ -321,7 +468,7 @@ class PageIterator(object): # Now both result_value and existing_value contain something if isinstance(result_value, list): existing_value.extend(result_value) - elif isinstance(result_value, (int, float, string_types)): + elif isinstance(result_value, (int, float, six.string_types)): # Modify the existing result with the sum or concatenation set_value_from_jmespath( complete_result, result_expression.expression, @@ -338,8 +485,7 @@ class PageIterator(object): # The starting token is a dict passed as a base64 encoded string. next_token = self._starting_token try: - next_token = json.loads( - base64.b64decode(next_token).decode('utf-8')) + next_token = self._token_decoder.decode(next_token) index = 0 if 'boto_truncate_amount' in next_token: index = next_token.get('boto_truncate_amount') diff --git a/botocore/parsers.py b/botocore/parsers.py index 4ab4e723..0b2f4825 100644 --- a/botocore/parsers.py +++ b/botocore/parsers.py @@ -98,7 +98,8 @@ import logging from botocore.compat import six, XMLParseError -from botocore.utils import parse_timestamp, merge_dicts +from botocore.utils import parse_timestamp, merge_dicts, \ + is_json_value_header LOG = logging.getLogger(__name__) @@ -687,6 +688,13 @@ class BaseRestParser(ResponseParser): # of parsing. raise NotImplementedError("_initial_body_parse") + def _handle_string(self, shape, value): + parsed = value + if is_json_value_header(shape): + decoded = base64.b64decode(value).decode(self.DEFAULT_ENCODING) + parsed = json.loads(decoded) + return parsed + class RestJSONParser(BaseRestParser, BaseJSONParser): @@ -782,6 +790,11 @@ class RestXMLParser(BaseRestParser, BaseXMLResponseParser): merge_dicts(default, parsed) return default + @_text_content + def _handle_string(self, shape, text): + text = super(RestXMLParser, self)._handle_string(shape, text) + return text + PROTOCOL_PARSERS = { 'ec2': EC2QueryParser, diff --git a/botocore/serialize.py b/botocore/serialize.py index c543aeb8..11d37940 100644 --- a/botocore/serialize.py +++ b/botocore/serialize.py @@ -47,6 +47,7 @@ from botocore.compat import six from botocore.compat import json, formatdate from botocore.utils import parse_to_aware_datetime from botocore.utils import percent_encode +from botocore.utils import is_json_value_header from botocore import validate @@ -515,6 +516,10 @@ class BaseRestSerializer(Serializer): datetime_obj = parse_to_aware_datetime(value) timestamp = calendar.timegm(datetime_obj.utctimetuple()) return self._timestamp_rfc822(timestamp) + elif is_json_value_header(shape): + # Serialize with no spaces after separators to save space in + # the header. + return self._get_base64(json.dumps(value, separators=(',', ':'))) else: return value diff --git a/botocore/signers.py b/botocore/signers.py index 8e7bce92..ddd0aba4 100644 --- a/botocore/signers.py +++ b/botocore/signers.py @@ -90,7 +90,7 @@ class RequestSigner(object): return self.sign(operation_name, request) def sign(self, operation_name, request, region_name=None, - signing_type='standard', expires_in=None): + signing_type='standard', expires_in=None, signing_name=None): """Sign a request before it goes out over the wire. :type operation_name: string @@ -113,22 +113,29 @@ class RequestSigner(object): :type expires_in: int :param expires_in: The number of seconds the presigned url is valid for. This parameter is only valid for signing type 'presign-url'. + + :type signing_name: str + :param signing_name: The name to use for the service when signing. """ if region_name is None: region_name = self._region_name - signature_version = self._choose_signer(operation_name, signing_type) + if signing_name is None: + signing_name = self._signing_name + + signature_version = self._choose_signer( + operation_name, signing_type, request.context) # Allow mutating request before signing self._event_emitter.emit( 'before-sign.{0}.{1}'.format(self._service_name, operation_name), - request=request, signing_name=self._signing_name, + request=request, signing_name=signing_name, region_name=self._region_name, signature_version=signature_version, request_signer=self) if signature_version != botocore.UNSIGNED: kwargs = { - 'signing_name': self._signing_name, + 'signing_name': signing_name, 'region_name': region_name, 'signature_version': signature_version } @@ -146,7 +153,7 @@ class RequestSigner(object): auth.add_auth(request) - def _choose_signer(self, operation_name, signing_type): + def _choose_signer(self, operation_name, signing_type, context): """ Allow setting the signature version via the choose-signer event. A value of `botocore.UNSIGNED` means no signing will be performed. @@ -170,7 +177,7 @@ class RequestSigner(object): handler, response = self._event_emitter.emit_until_response( 'choose-signer.{0}.{1}'.format(self._service_name, operation_name), signing_name=self._signing_name, region_name=self._region_name, - signature_version=signature_version) + signature_version=signature_version, context=context) if response is not None: signature_version = response @@ -229,7 +236,8 @@ class RequestSigner(object): get_auth = get_auth_instance def generate_presigned_url(self, request_dict, operation_name, - expires_in=3600, region_name=None): + expires_in=3600, region_name=None, + signing_name=None): """Generates a presigned url :type request_dict: dict @@ -246,11 +254,14 @@ class RequestSigner(object): :type region_name: string :param region_name: The region name to sign the presigned url. + :type signing_name: str + :param signing_name: The name to use for the service when signing. + :returns: The presigned url """ request = create_request_object(request_dict) self.sign(operation_name, request, region_name, - 'presign-url', expires_in) + 'presign-url', expires_in, signing_name) request.prepare() return request.url @@ -382,6 +393,61 @@ class CloudFrontSigner(object): data).replace(b'+', b'-').replace(b'=', b'_').replace(b'/', b'~') +def add_generate_db_auth_token(class_attributes, **kwargs): + class_attributes['generate_db_auth_token'] = generate_db_auth_token + + +def generate_db_auth_token(self, DBHostname, Port, DBUsername, Region=None): + """Generates an auth token used to connect to a db with IAM credentials. + + :type DBHostname: str + :param DBHostname: The hostname of the database to connect to. + + :type Port: int + :param Port: The port number the database is listening on. + + :type DBUsername: str + :param DBUsername: The username to log in as. + + :type Region: str + :param Region: The region the database is in. If None, the client + region will be used. + + :return: A presigned url which can be used as an auth token. + """ + region = Region + if region is None: + region = self.meta.region_name + + params = { + 'Action': 'connect', + 'DBUser': DBUsername, + } + + request_dict = { + 'url_path': '/', + 'query_string': '', + 'headers': {}, + 'body': params, + 'method': 'GET' + } + + # RDS requires that the scheme not be set when sent over. This can cause + # issues when signing because the Python url parsing libraries follow + # RFC 1808 closely, which states that a netloc must be introduced by `//`. + # Otherwise the url is presumed to be relative, and thus the whole + # netloc would be treated as a path component. To work around this we + # introduce https here and remove it once we're done processing it. + scheme = 'https://' + endpoint_url = '%s%s:%s' % (scheme, DBHostname, Port) + prepare_request_dict(request_dict, endpoint_url) + presigned_url = self._request_signer.generate_presigned_url( + operation_name='connect', request_dict=request_dict, + region_name=region, expires_in=900, signing_name='rds-db' + ) + return presigned_url[len(scheme):] + + class S3PostPresigner(object): def __init__(self, request_signer): self._request_signer = request_signer diff --git a/botocore/utils.py b/botocore/utils.py index 26e6a877..ab2a86fa 100644 --- a/botocore/utils.py +++ b/botocore/utils.py @@ -19,7 +19,6 @@ import binascii import functools import weakref -from six import string_types, text_type import dateutil.parser from dateutil.tz import tzlocal, tzutc @@ -29,7 +28,7 @@ from botocore.exceptions import InvalidDNSNameError, ClientError from botocore.exceptions import MetadataRetrievalError from botocore.compat import json, quote, zip_longest, urlsplit, urlunsplit from botocore.vendored import requests -from botocore.compat import OrderedDict +from botocore.compat import OrderedDict, six logger = logging.getLogger(__name__) @@ -54,6 +53,21 @@ class _RetriesExceededError(Exception): pass +def is_json_value_header(shape): + """Determines if the provided shape is the special header type jsonvalue. + + :type shape: botocore.shape + :param shape: Shape to be inspected for the jsonvalue trait. + + :return: True if this type is a jsonvalue, False otherwise + :rtype: Bool + """ + return (hasattr(shape, 'serialization') and + shape.serialization.get('jsonvalue', False) and + shape.serialization.get('location') == 'header' and + shape.type_name == 'string') + + def get_service_module_name(service_model): """Returns the module name for a service @@ -304,10 +318,18 @@ def percent_encode(input_str, safe=SAFE_CHARS): producing a percent encoded string, this function deals only with taking a string (not a dict/sequence) and percent encoding it. + If given the binary type, will simply URL encode it. If given the + text type, will produce the binary type by UTF-8 encoding the + text. If given something else, will convert it to the the text type + first. """ - if not isinstance(input_str, string_types): - input_str = text_type(input_str) - return quote(text_type(input_str).encode('utf-8'), safe=safe) + # If its not a binary or text string, make it a text string. + if not isinstance(input_str, (six.binary_type, six.text_type)): + input_str = six.text_type(input_str) + # If it's not bytes, make it bytes by UTF-8 encoding it. + if not isinstance(input_str, six.binary_type): + input_str = input_str.encode('utf-8') + return quote(input_str, safe=safe) def parse_timestamp(value): @@ -979,6 +1001,7 @@ class ContainerMetadataFetcher(object): RETRY_ATTEMPTS = 3 SLEEP_TIME = 1 IP_ADDRESS = '169.254.170.2' + _ALLOWED_HOSTS = [IP_ADDRESS, 'localhost', '127.0.0.1'] def __init__(self, session=None, sleep=time.sleep): if session is None: @@ -986,6 +1009,33 @@ class ContainerMetadataFetcher(object): self._session = session self._sleep = sleep + def retrieve_full_uri(self, full_url, headers=None): + """Retrieve JSON metadata from container metadata. + + :type full_url: str + :param full_url: The full URL of the metadata service. + This should include the scheme as well, e.g + "http://localhost:123/foo" + + """ + self._validate_allowed_url(full_url) + return self._retrieve_credentials(full_url, headers) + + def _validate_allowed_url(self, full_url): + parsed = botocore.compat.urlparse(full_url) + is_whitelisted_host = self._check_if_whitelisted_host( + parsed.hostname) + if not is_whitelisted_host: + raise ValueError( + "Unsupported host '%s'. Can only " + "retrieve metadata from these hosts: %s" % + (parsed.hostname, ', '.join(self._ALLOWED_HOSTS))) + + def _check_if_whitelisted_host(self, host): + if host in self._ALLOWED_HOSTS: + return True + return False + def retrieve_uri(self, relative_uri): """Retrieve JSON metadata from ECS metadata. @@ -995,15 +1045,20 @@ class ContainerMetadataFetcher(object): :return: The parsed JSON response. """ - full_url = self._full_url(relative_uri) + full_url = self.full_url(relative_uri) + return self._retrieve_credentials(full_url) + + def _retrieve_credentials(self, full_url, extra_headers=None): headers = {'Accept': 'application/json'} + if extra_headers is not None: + headers.update(extra_headers) attempts = 0 while True: try: return self._get_response(full_url, headers, self.TIMEOUT_SECONDS) except MetadataRetrievalError as e: logger.debug("Received error when attempting to retrieve " - "ECS metadata: %s", e, exc_info=True) + "container metadata: %s", e, exc_info=True) self._sleep(self.SLEEP_TIME) attempts += 1 if attempts >= self.RETRY_ATTEMPTS: @@ -1028,5 +1083,5 @@ class ContainerMetadataFetcher(object): "ECS metadata: %s" % e) raise MetadataRetrievalError(error_msg=error_msg) - def _full_url(self, relative_uri): + def full_url(self, relative_uri): return 'http://%s%s' % (self.IP_ADDRESS, relative_uri) diff --git a/botocore/validate.py b/botocore/validate.py index a58ba08c..c52881fa 100644 --- a/botocore/validate.py +++ b/botocore/validate.py @@ -15,9 +15,11 @@ Validation Errors from botocore.compat import six import decimal +import json from datetime import datetime from botocore.utils import parse_to_aware_datetime +from botocore.utils import is_json_value_header from botocore.exceptions import ParamValidationError @@ -120,6 +122,9 @@ class ValidationErrors(object): return ('Invalid length for parameter %s, value: %s, valid range: ' '%s-%s' % (name, additional['param'], min_allowed, max_allowed)) + elif error_type == 'unable to encode to json': + return 'Invalid parameter %s must be json serializable: %s' \ + % (name, additional['type_error']) def _get_name(self, name): if not name: @@ -154,9 +159,25 @@ class ParamValidator(object): self._validate(params, shape, errors, name='') return errors + def _check_special_validation_cases(self, shape): + if is_json_value_header(shape): + return self._validate_jsonvalue_string + def _validate(self, params, shape, errors, name): - getattr(self, '_validate_%s' % shape.type_name)( - params, shape, errors, name) + special_validator = self._check_special_validation_cases(shape) + if special_validator: + special_validator(params, shape, errors, name) + else: + getattr(self, '_validate_%s' % shape.type_name)( + params, shape, errors, name) + + def _validate_jsonvalue_string(self, params, shape, errors, name): + # Check to see if a value marked as a jsonvalue can be dumped to + # a json string. + try: + json.dumps(params) + except (ValueError, TypeError) as e: + errors.report(name, 'unable to encode to json', type_error=e) @type_check(valid_types=(dict,)) def _validate_structure(self, params, shape, errors, name): diff --git a/docs/source/conf.py b/docs/source/conf.py index f3be7723..f714220c 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -52,9 +52,9 @@ copyright = u'2013, Mitch Garnaat' # built documents. # # The short X.Y version. -version = '1.5' +version = '1.5.' # The full version, including alpha/beta/rc tags. -release = '1.5.7' +release = '1.5.75' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/setup.cfg b/setup.cfg index 44d7f96f..4cf46e64 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,4 +1,4 @@ -[wheel] +[bdist_wheel] universal = 1 [metadata] diff --git a/tests/acceptance/features/steps/base.py b/tests/acceptance/features/steps/base.py index 057eafca..918d1fa7 100644 --- a/tests/acceptance/features/steps/base.py +++ b/tests/acceptance/features/steps/base.py @@ -3,10 +3,8 @@ import json from botocore import xform_name from botocore.exceptions import ClientError -import jmespath from behave import when, then from nose.tools import assert_equal -from nose.tools import assert_is_instance def _params_from_table(table): diff --git a/tests/functional/docs/test_lex.py b/tests/functional/docs/test_lex.py new file mode 100644 index 00000000..efbc6c15 --- /dev/null +++ b/tests/functional/docs/test_lex.py @@ -0,0 +1,30 @@ +# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from tests.functional.docs import BaseDocsFunctionalTest + + +class TestLexDocs(BaseDocsFunctionalTest): + TYPE_STRING = '{...}|[...]|123|123.4|\'string\'|True|None' + + def test_jsonheader_docs(self): + docs = self.get_docstring_for_method('lex-runtime', 'post_content') + self.assert_contains_lines_in_order([ + '**Request Syntax**', + 'sessionAttributes=%s,' % self.TYPE_STRING, + ':type sessionAttributes: JSON serializable', + '**Response Syntax**', + '\'slots\': %s,' % self.TYPE_STRING, + '\'sessionAttributes\': %s' % self.TYPE_STRING, + '**slots** (JSON serializable)', + '**sessionAttributes** (JSON serializable)' + ], docs) diff --git a/tests/functional/docs/test_shared_example_config.py b/tests/functional/docs/test_shared_example_config.py new file mode 100644 index 00000000..fdd21cba --- /dev/null +++ b/tests/functional/docs/test_shared_example_config.py @@ -0,0 +1,131 @@ +# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import botocore.session +from botocore.model import OperationNotFoundError +from botocore.utils import parse_timestamp + + +def test_lint_shared_example_configs(): + session = botocore.session.Session() + loader = session.get_component('data_loader') + services = loader.list_available_services('examples-1') + for service in services: + service_model = session.get_service_model(service) + example_config = loader.load_service_model( + service, 'examples-1', service_model.api_version + ) + examples = example_config.get("examples", {}) + for operation, operation_examples in examples.items(): + for example in operation_examples: + yield _lint_single_example, operation, example, service_model + + +def _lint_single_example(operation_name, example_config, service_model): + # The operation should actually exist + assert_operation_exists(service_model, operation_name) + operation_model = service_model.operation_model(operation_name) + assert_valid_values(service_model.service_name, operation_model, + example_config) + + +def assert_valid_values(service_name, operation_model, example_config): + example_input = example_config.get('input') + input_shape = operation_model.input_shape + example_id = example_config['id'] + + if input_shape is None and example_input: + raise AssertionError( + "Input found in example for %s from %s with id %s, but no input " + "shape is defined." % ( + operation_model.name, service_name, example_id + )) + + example_output = example_config.get('output') + output_shape = operation_model.output_shape + + if output_shape is None and example_output: + raise AssertionError( + "Output found in example for %s from %s with id %s, but no output " + "shape is defined." % ( + operation_model.name, service_name, example_id + )) + + try: + if example_input is not None and input_shape is not None: + _assert_valid_values( + input_shape, example_input, [input_shape.name]) + + if example_output is not None and output_shape is not None: + _assert_valid_values( + output_shape, example_output, [output_shape.name]) + except AssertionError as e: + raise AssertionError( + "Invalid value in example for %s from %s with id %s: %s" % ( + operation_model.name, service_name, example_id, e + )) + + +def _assert_valid_values(shape, example_value, path): + if shape.type_name == 'timestamp': + _assert_valid_timestamp(example_value, path) + elif shape.type_name == 'structure': + _assert_valid_structure_values(shape, example_value, path) + elif shape.type_name == 'list': + _assert_valid_list_values(shape, example_value, path) + elif shape.type_name == 'map': + _assert_valid_map_values(shape, example_value, path) + + +def _assert_valid_structure_values(shape, example_dict, path): + invalid_members = [k for k in example_dict.keys() + if k not in shape.members] + if invalid_members: + dotted_path = '.'.join(path) + raise AssertionError( + "Invalid members found for %s: %s" % (dotted_path, invalid_members) + ) + + for member_name, example_value in example_dict.items(): + member = shape.members[member_name] + _assert_valid_values(member, example_value, path + [member_name]) + + +def _assert_valid_list_values(shape, example_values, path): + member = shape.member + for i, value in enumerate(example_values): + name = "%s[%s]" % (path[-1], i) + _assert_valid_values(member, value, path[:-1] + [name]) + + +def _assert_valid_map_values(shape, example_value, path): + for key, value in example_value.items(): + name = '%s["%s"]' % (path[-1], key) + _assert_valid_values(shape.value, value, path[:-1] + [name]) + + +def _assert_valid_timestamp(timestamp, path): + try: + parse_timestamp(timestamp).timetuple() + except Exception as e: + dotted_path = '.'.join(path) + raise AssertionError('Failed to parse timestamp %s for %s: %s' % ( + timestamp, dotted_path, e)) + + +def assert_operation_exists(service_model, operation_name): + try: + service_model.operation_model(operation_name) + except OperationNotFoundError: + raise AssertionError( + "Examples found in %s for operation %s that does not exist." % ( + service_model.service_name, operation_name)) diff --git a/tests/functional/test_cloudformation.py b/tests/functional/test_cloudformation.py index 579547c0..eab0ac0d 100644 --- a/tests/functional/test_cloudformation.py +++ b/tests/functional/test_cloudformation.py @@ -11,7 +11,6 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. from tests.functional.docs import BaseDocsFunctionalTest -from botocore.docs.service import ServiceDocumenter class TestCloudFormationDocs(BaseDocsFunctionalTest): diff --git a/tests/functional/test_cognito_idp.py b/tests/functional/test_cognito_idp.py new file mode 100644 index 00000000..164db992 --- /dev/null +++ b/tests/functional/test_cognito_idp.py @@ -0,0 +1,120 @@ +# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import mock + +from nose.tools import assert_false + +from tests import create_session + + +def test_unsigned_operations(): + operation_params = { + 'change_password': { + 'PreviousPassword': 'myoldbadpassword', + 'ProposedPassword': 'mynewgoodpassword', + 'AccessToken': 'foobar' + }, + 'confirm_forgot_password': { + 'ClientId': 'foo', + 'Username': 'myusername', + 'ConfirmationCode': 'thisismeforreal', + 'Password': 'whydowesendpasswordsviaemail' + }, + 'confirm_sign_up': { + 'ClientId': 'foo', + 'Username': 'myusername', + 'ConfirmationCode': 'ireallydowanttosignup' + }, + 'delete_user': { + 'AccessToken': 'foobar' + }, + 'delete_user_attributes': { + 'UserAttributeNames': ['myattribute'], + 'AccessToken': 'foobar' + }, + 'forgot_password': { + 'ClientId': 'foo', + 'Username': 'myusername' + }, + 'get_user': { + 'AccessToken': 'foobar' + }, + 'get_user_attribute_verification_code': { + 'AttributeName': 'myattribute', + 'AccessToken': 'foobar' + }, + 'resend_confirmation_code': { + 'ClientId': 'foo', + 'Username': 'myusername' + }, + 'set_user_settings': { + 'AccessToken': 'randomtoken', + 'MFAOptions': [{ + 'DeliveryMedium': 'SMS', + 'AttributeName': 'someattributename' + }] + }, + 'sign_up': { + 'ClientId': 'foo', + 'Username': 'bar', + 'Password': 'mysupersecurepassword', + }, + 'update_user_attributes': { + 'UserAttributes': [{ + 'Name': 'someattributename', + 'Value': 'newvalue' + }], + 'AccessToken': 'foobar' + }, + 'verify_user_attribute': { + 'AttributeName': 'someattributename', + 'Code': 'someverificationcode', + 'AccessToken': 'foobar' + }, + } + + environ = { + 'AWS_ACCESS_KEY_ID': 'access_key', + 'AWS_SECRET_ACCESS_KEY': 'secret_key', + 'AWS_CONFIG_FILE': 'no-exist-foo', + } + + with mock.patch('os.environ', environ): + session = create_session() + session.config_filename = 'no-exist-foo' + client = session.create_client('cognito-idp', 'us-west-2') + + for operation, params in operation_params.items(): + test_case = UnsignedOperationTestCase(client, operation, params) + yield test_case.run + + +class UnsignedOperationTestCase(object): + def __init__(self, client, operation_name, parameters): + self._client = client + self._operation_name = operation_name + self._parameters = parameters + + def run(self): + operation = getattr(self._client, self._operation_name) + + with mock.patch('botocore.endpoint.Session.send') as _send: + _send.return_value = mock.Mock( + status_code=200, headers={}, content=b'{}') + operation(**self._parameters) + request = _send.call_args[0][0] + + assert_false( + 'authorization' in request.headers, + 'authorization header found in unsigned operation' + ) diff --git a/tests/functional/test_credentials.py b/tests/functional/test_credentials.py index 58e7f6b5..5093346e 100644 --- a/tests/functional/test_credentials.py +++ b/tests/functional/test_credentials.py @@ -10,17 +10,11 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -from tests import unittest, mock, IntegerRefresher -import datetime +from tests import unittest, IntegerRefresher import threading import math import time -from dateutil.tz import tzlocal - -from botocore import credentials -from botocore import utils - class TestCredentialRefreshRaces(unittest.TestCase): def assert_consistent_credentials_seen(self, creds, func): diff --git a/tests/functional/test_ec2.py b/tests/functional/test_ec2.py index dbdb82f9..a923c0de 100644 --- a/tests/functional/test_ec2.py +++ b/tests/functional/test_ec2.py @@ -11,8 +11,7 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. from tests import unittest -from tests.functional.docs import BaseDocsFunctionalTest -from botocore.stub import Stubber, StubAssertionError, ANY +from botocore.stub import Stubber, ANY import botocore.session diff --git a/tests/functional/test_endpoints.py b/tests/functional/test_endpoints.py index 13876bf1..9708812c 100644 --- a/tests/functional/test_endpoints.py +++ b/tests/functional/test_endpoints.py @@ -10,6 +10,8 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +import os +import json from nose.tools import assert_equal from botocore.session import get_session @@ -28,9 +30,40 @@ SERVICE_RENAMES = { 'meteringmarketplace': 'metering.marketplace', 'opsworkscm': 'opsworks-cm', 'ses': 'email', - 'stepfunctions': 'states' + 'stepfunctions': 'states', + 'lex-runtime': 'runtime.lex', + 'mturk': 'mturk-requester', + 'resourcegroupstaggingapi': 'tagging', + 'lex-models': 'models.lex', + 'marketplace-entitlement': 'entitlement.marketplace', } +BLACKLIST = [ + 'mobileanalytics', +] + + +def test_endpoint_matches_service(): + backwards_renames = dict((v, k) for k, v in SERVICE_RENAMES.items()) + session = get_session() + loader = session.get_component('data_loader') + expected_services = set(loader.list_available_services('service-2')) + + pdir = os.path.dirname + endpoints_path = os.path.join(pdir(pdir(pdir(__file__))), + 'botocore', 'data', 'endpoints.json') + with open(endpoints_path, 'r') as f: + data = json.loads(f.read()) + for partition in data['partitions']: + for service in partition['services'].keys(): + service = backwards_renames.get(service, service) + if service not in BLACKLIST: + yield _assert_endpoint_is_service, service, expected_services + + +def _assert_endpoint_is_service(service, expected_services): + assert service in expected_services + def test_service_name_matches_endpoint_prefix(): # Generates tests for each service to verify that the endpoint prefix @@ -56,5 +89,6 @@ def _assert_service_name_matches_endpoint_prefix(loader, service_name): expected_endpoint_prefix = SERVICE_RENAMES.get(service_name, service_name) assert_equal( endpoint_prefix, expected_endpoint_prefix, - "Service name `%s` does not match endpoint prefix `%s`." % ( - service_name, expected_endpoint_prefix)) + "Service name `%s` does not match expected endpoint " + "prefix `%s`, actual: `%s`" % ( + service_name, expected_endpoint_prefix, endpoint_prefix)) diff --git a/tests/functional/test_iot_data.py b/tests/functional/test_iot_data.py index c2b49ef2..b3fe3853 100644 --- a/tests/functional/test_iot_data.py +++ b/tests/functional/test_iot_data.py @@ -11,7 +11,6 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. import sys -import warnings from tests import unittest, mock, BaseSessionTest from botocore.exceptions import UnsupportedTLSVersionWarning diff --git a/tests/functional/test_lex.py b/tests/functional/test_lex.py new file mode 100644 index 00000000..03936854 --- /dev/null +++ b/tests/functional/test_lex.py @@ -0,0 +1,60 @@ +# Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import mock +from datetime import datetime + +from tests import BaseSessionTest + + +class TestLex(BaseSessionTest): + def setUp(self): + super(TestLex, self).setUp() + self.region = 'us-west-2' + self.client = self.session.create_client('lex-runtime', self.region) + + def test_unsigned_payload(self): + params = { + 'botName': 'foo', + 'botAlias': 'bar', + 'userId': 'baz', + 'contentType': 'application/octet-stream', + 'inputStream': b'' + } + + timestamp = datetime(2017, 3, 22, 0, 0) + + with mock.patch('botocore.auth.datetime') as _datetime: + _datetime.datetime.utcnow.return_value = timestamp + with mock.patch('botocore.endpoint.Session.send') as _send: + _send.return_value = mock.Mock( + status_code=200, headers={}, content=b'{}') + self.client.post_content(**params) + request = _send.call_args[0][0] + + # The payload gets added to the string to sign, and then part of the + # signature. The signature will be part of the authorization header. + # Since we don't have direct access to the payload signature, + # we compare the authorization instead. + authorization = request.headers.get('authorization') + + expected_authorization = ( + b'AWS4-HMAC-SHA256 ' + b'Credential=access_key/20170322/us-west-2/lex/aws4_request, ' + b'SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date,' + b' Signature=' + b'7f93fde5c36163dce6ee116fcfebab13474ab903782fea04c00bb1dedc3fc4cc' + ) + self.assertEqual(authorization, expected_authorization) + + content_header = request.headers.get('x-amz-content-sha256') + self.assertEqual(content_header, b'UNSIGNED-PAYLOAD') diff --git a/tests/functional/test_mturk.py b/tests/functional/test_mturk.py new file mode 100644 index 00000000..7f81a87e --- /dev/null +++ b/tests/functional/test_mturk.py @@ -0,0 +1,38 @@ +# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from botocore.stub import Stubber +from tests import BaseSessionTest + + +class TestMturk(BaseSessionTest): + def setUp(self): + super(TestMturk, self).setUp() + self.region = 'us-west-2' + self.client = self.session.create_client( + 'mturk', self.region) + self.stubber = Stubber(self.client) + self.stubber.activate() + + def tearDown(self): + self.stubber.deactivate() + + def test_list_hits_aliased(self): + self.stubber.add_response('list_hits_for_qualification_type', {}) + self.stubber.add_response('list_hits_for_qualification_type', {}) + + params = {'QualificationTypeId': 'foo'} + + self.client.list_hi_ts_for_qualification_type(**params) + self.client.list_hits_for_qualification_type(**params) + + self.stubber.assert_no_pending_responses() diff --git a/tests/functional/test_paginate.py b/tests/functional/test_paginate.py index 13bae9ee..8cbc9943 100644 --- a/tests/functional/test_paginate.py +++ b/tests/functional/test_paginate.py @@ -10,8 +10,12 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +from nose.tools import assert_equal + from tests import unittest from botocore.stub import Stubber, StubAssertionError +from botocore.paginate import TokenDecoder, TokenEncoder +from botocore.compat import six import botocore.session @@ -58,3 +62,23 @@ class TestRDSPagination(unittest.TestCase): except StubAssertionError as e: self.fail(str(e)) + +def test_token_encoding(): + cases = [ + {'foo': 'bar'}, + {'foo': b'bar'}, + {'foo': {'bar': b'baz'}}, + {'foo': ['bar', b'baz']}, + {'foo': b'\xff'}, + {'foo': {'bar': b'baz', 'bin': [b'bam']}}, + ] + + for token_dict in cases: + yield assert_token_encodes_and_decodes, token_dict + + +def assert_token_encodes_and_decodes(token_dict): + encoded = TokenEncoder().encode(token_dict) + assert isinstance(encoded, six.string_types) + decoded = TokenDecoder().decode(encoded) + assert_equal(decoded, token_dict) diff --git a/tests/functional/test_rds.py b/tests/functional/test_rds.py index 5f188a19..08087bde 100644 --- a/tests/functional/test_rds.py +++ b/tests/functional/test_rds.py @@ -15,6 +15,8 @@ from contextlib import contextmanager import botocore.session from tests import BaseSessionTest +from botocore.stub import Stubber +from tests import unittest class TestRDSPresignUrlInjection(BaseSessionTest): @@ -67,3 +69,25 @@ class TestRDSPresignUrlInjection(BaseSessionTest): self.client.create_db_instance_read_replica(**params) sent_request = send.call_args[0][0] self.assert_presigned_url_injected_in_request(sent_request.body) + + +class TestRDS(unittest.TestCase): + def setUp(self): + self.session = botocore.session.get_session() + self.client = self.session.create_client('rds', 'us-west-2') + self.stubber = Stubber(self.client) + self.stubber.activate() + + def test_generate_db_auth_token(self): + hostname = 'host.us-east-1.rds.amazonaws.com' + port = 3306 + username = 'mySQLUser' + auth_token = self.client.generate_db_auth_token( + DBHostname=hostname, Port=port, DBUsername=username) + + endpoint_url = 'host.us-east-1.rds.amazonaws.com:3306' + self.assertIn(endpoint_url, auth_token) + self.assertIn('Action=connect', auth_token) + + # Asserts that there is no scheme in the url + self.assertTrue(auth_token.startswith(hostname)) diff --git a/tests/functional/test_regions.py b/tests/functional/test_regions.py index 963d4e9c..1239b79f 100644 --- a/tests/functional/test_regions.py +++ b/tests/functional/test_regions.py @@ -10,12 +10,11 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -from tests import unittest, create_session +from tests import create_session import mock from nose.tools import assert_equals, assert_raises -from botocore import regions from botocore.client import ClientEndpointBridge from botocore.exceptions import NoRegionError diff --git a/tests/functional/test_s3.py b/tests/functional/test_s3.py index 03afc58b..f0c4268a 100644 --- a/tests/functional/test_s3.py +++ b/tests/functional/test_s3.py @@ -317,23 +317,77 @@ class TestGeneratePresigned(BaseS3OperationTest): } self.assertEqual(parts, expected) + def test_default_presign_uses_sigv2(self): + url = self.client.generate_presigned_url(ClientMethod='list_buckets') + self.assertNotIn('Algorithm=AWS4-HMAC-SHA256', url) + + def test_sigv4_presign(self): + config = Config(signature_version='s3v4') + client = self.session.create_client('s3', self.region, config=config) + url = client.generate_presigned_url(ClientMethod='list_buckets') + self.assertIn('Algorithm=AWS4-HMAC-SHA256', url) + + def test_sigv2_presign(self): + config = Config(signature_version='s3') + client = self.session.create_client('s3', self.region, config=config) + url = client.generate_presigned_url(ClientMethod='list_buckets') + self.assertNotIn('Algorithm=AWS4-HMAC-SHA256', url) + + def test_uses_sigv4_for_unknown_region(self): + client = self.session.create_client('s3', 'us-west-88') + url = client.generate_presigned_url(ClientMethod='list_buckets') + self.assertIn('Algorithm=AWS4-HMAC-SHA256', url) + + def test_default_presign_sigv4_in_sigv4_only_region(self): + client = self.session.create_client('s3', 'us-east-2') + url = client.generate_presigned_url(ClientMethod='list_buckets') + self.assertIn('Algorithm=AWS4-HMAC-SHA256', url) + + def test_presign_unsigned(self): + config = Config(signature_version=botocore.UNSIGNED) + client = self.session.create_client('s3', 'us-east-2', config=config) + url = client.generate_presigned_url(ClientMethod='list_buckets') + self.assertEqual( + 'https://s3.us-east-2.amazonaws.com/', url) + def test_correct_url_used_for_s3(): # Test that given various sets of config options and bucket names, # we construct the expect endpoint url. t = S3AddressingCases(_verify_expected_endpoint_url) - # The default behavior. DNS compatible buckets + # The default behavior for sigv2. DNS compatible buckets yield t.case(region='us-west-2', bucket='bucket', key='key', + signature_version='s3', expected_url='https://bucket.s3.amazonaws.com/key') yield t.case(region='us-east-1', bucket='bucket', key='key', + signature_version='s3', expected_url='https://bucket.s3.amazonaws.com/key') yield t.case(region='us-west-1', bucket='bucket', key='key', + signature_version='s3', expected_url='https://bucket.s3.amazonaws.com/key') yield t.case(region='us-west-1', bucket='bucket', key='key', - is_secure=False, + signature_version='s3', is_secure=False, expected_url='http://bucket.s3.amazonaws.com/key') + # The default behavior for sigv4. DNS compatible buckets still get path + # style addresses. + yield t.case(region='us-west-2', bucket='bucket', key='key', + signature_version='s3v4', + expected_url=( + 'https://s3-us-west-2.amazonaws.com/bucket/key')) + yield t.case(region='us-east-1', bucket='bucket', key='key', + signature_version='s3v4', + expected_url='https://s3.amazonaws.com/bucket/key') + yield t.case(region='us-west-1', bucket='bucket', key='key', + signature_version='s3v4', + expected_url=( + 'https://s3-us-west-1.amazonaws.com/bucket/key')) + yield t.case(region='us-west-1', bucket='bucket', key='key', + signature_version='s3v4', is_secure=False, + expected_url=( + 'http://s3-us-west-1.amazonaws.com/bucket/key')) + # If you don't have a DNS compatible bucket, we use path style. yield t.case( region='us-west-2', bucket='bucket.dot', key='key', @@ -384,6 +438,17 @@ def test_correct_url_used_for_s3(): s3_config=virtual_hosting, expected_url='https://bucket.s3-us-gov-west-1.amazonaws.com/key') + # Test restricted regions not do virtual host by default + yield t.case( + region='us-gov-west-1', bucket='bucket', key='key', + signature_version='s3', + expected_url='https://s3-us-gov-west-1.amazonaws.com/bucket/key') + yield t.case( + region='fips-us-gov-west-1', bucket='bucket', key='key', + signature_version='s3', + expected_url='https://s3-fips-us-gov-west-1.amazonaws.com/bucket/key') + + # Test path style addressing. path_style = {'addressing_style': 'path'} yield t.case( @@ -448,15 +513,22 @@ def test_correct_url_used_for_s3(): use_dualstack = {'use_dualstack_endpoint': True} yield t.case( region='us-east-1', bucket='bucket', key='key', - s3_config=use_dualstack, - # Still default to virtual hosted when possible. + s3_config=use_dualstack, signature_version='s3', + # Still default to virtual hosted when possible on sigv2. expected_url='https://bucket.s3.dualstack.us-east-1.amazonaws.com/key') yield t.case( region='us-west-2', bucket='bucket', key='key', - s3_config=use_dualstack, - # Still default to virtual hosted when possible. - expected_url=( - 'https://bucket.s3.dualstack.us-west-2.amazonaws.com/key')) + s3_config=use_dualstack, signature_version='s3', + # Still default to virtual hosted when possible on sigv2. + expected_url='https://bucket.s3.dualstack.us-west-2.amazonaws.com/key') + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config=use_dualstack, signature_version='s3v4', + expected_url='https://s3.dualstack.us-east-1.amazonaws.com/bucket/key') + yield t.case( + region='us-west-2', bucket='bucket', key='key', + s3_config=use_dualstack, signature_version='s3v4', + expected_url='https://s3.dualstack.us-west-2.amazonaws.com/bucket/key') # Non DNS compatible buckets use path style for dual stack. yield t.case( region='us-west-2', bucket='bucket.dot', key='key', @@ -558,17 +630,17 @@ class S3AddressingCases(object): def case(self, region=None, bucket='bucket', key='key', s3_config=None, is_secure=True, customer_provided_endpoint=None, - expected_url=None): + expected_url=None, signature_version=None): return ( self._verify, region, bucket, key, s3_config, is_secure, - customer_provided_endpoint, expected_url + customer_provided_endpoint, expected_url, signature_version ) def _verify_expected_endpoint_url(region, bucket, key, s3_config, is_secure=True, customer_provided_endpoint=None, - expected_url=None): + expected_url=None, signature_version=None): http_response = mock.Mock() http_response.status_code = 200 http_response.headers = {} @@ -580,9 +652,10 @@ def _verify_expected_endpoint_url(region, bucket, key, s3_config, environ['AWS_CONFIG_FILE'] = 'no-exist-foo' session = create_session() session.config_filename = 'no-exist-foo' - config = None - if s3_config is not None: - config = Config(s3=s3_config) + config = Config( + signature_version=signature_version, + s3=s3_config + ) s3 = session.create_client('s3', region_name=region, use_ssl=is_secure, config=config, endpoint_url=customer_provided_endpoint) diff --git a/tests/functional/test_six_imports.py b/tests/functional/test_six_imports.py new file mode 100644 index 00000000..d3243a12 --- /dev/null +++ b/tests/functional/test_six_imports.py @@ -0,0 +1,54 @@ +import os +import botocore +import ast + + +ROOTDIR = os.path.dirname(botocore.__file__) + + +def test_no_bare_six_imports(): + for rootdir, dirnames, filenames in os.walk(ROOTDIR): + if 'vendored' in dirnames: + # We don't need to lint our vendored packages. + dirnames.remove('vendored') + for filename in filenames: + if not filename.endswith('.py'): + continue + fullname = os.path.join(rootdir, filename) + yield _assert_no_bare_six_imports, fullname + + +def _assert_no_bare_six_imports(filename): + with open(filename) as f: + contents = f.read() + parsed = ast.parse(contents, filename) + checker = SixImportChecker(filename).visit(parsed) + + +class SixImportChecker(ast.NodeVisitor): + def __init__(self, filename): + self.filename = filename + + def visit_Import(self, node): + for alias in node.names: + if getattr(alias, 'name', '') == 'six': + line = self._get_line_content(self.filename, node.lineno) + raise AssertionError( + "A bare 'import six' was found in %s:\n" + "\n%s: %s\n" + "Please use 'from botocore.compat import six' instead" % + (self.filename, node.lineno, line)) + + def visit_ImportFrom(self, node): + if node.module == 'six': + line = self._get_line_content(self.filename, node.lineno) + raise AssertionError( + "A bare 'from six import ...' was found in %s:\n" + "\n%s:%s\n" + "Please use 'from botocore.compat import six' instead" % + (self.filename, node.lineno, line)) + + def _get_line_content(self, filename, lineno): + with open(filename) as f: + contents = f.readlines() + return contents[lineno - 1] diff --git a/tests/integration/test_client.py b/tests/integration/test_client.py index 73f5775f..8fb34860 100644 --- a/tests/integration/test_client.py +++ b/tests/integration/test_client.py @@ -10,7 +10,6 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import time import logging import datetime from tests import unittest, random_chars @@ -19,7 +18,6 @@ import botocore.session from botocore.client import ClientError from botocore.compat import six from botocore.exceptions import EndpointConnectionError -from six import StringIO class TestBucketWithVersions(unittest.TestCase): @@ -93,7 +91,7 @@ class TestResponseLog(unittest.TestCase): # lose this feature. session = botocore.session.get_session() client = session.create_client('s3', region_name='us-west-2') - debug_log = StringIO() + debug_log = six.StringIO() session.set_stream_logger('', logging.DEBUG, debug_log) client.list_buckets() debug_log_contents = debug_log.getvalue() diff --git a/tests/integration/test_credentials.py b/tests/integration/test_credentials.py index 78c64814..5198c92b 100644 --- a/tests/integration/test_credentials.py +++ b/tests/integration/test_credentials.py @@ -14,7 +14,6 @@ import os import mock -import botocore.exceptions from botocore.session import Session from tests import BaseEnvVar, temporary_file diff --git a/tests/integration/test_elastictranscoder.py b/tests/integration/test_elastictranscoder.py index 5d0c3de4..62d3a468 100644 --- a/tests/integration/test_elastictranscoder.py +++ b/tests/integration/test_elastictranscoder.py @@ -12,7 +12,6 @@ # language governing permissions and limitations under the License. from tests import unittest, random_chars -import functools import botocore.session diff --git a/tests/integration/test_s3.py b/tests/integration/test_s3.py index ffec779f..796bbe1f 100644 --- a/tests/integration/test_s3.py +++ b/tests/integration/test_s3.py @@ -544,11 +544,11 @@ class TestS3PresignUsStandard(BaseS3PresignTest): def setUp(self): super(TestS3PresignUsStandard, self).setUp() self.region = 'us-east-1' - self.bucket_name = self.create_bucket(self.region) self.client_config = Config( region_name=self.region, signature_version='s3') self.client = self.session.create_client( 's3', config=self.client_config) + self.bucket_name = self.create_bucket(self.region) self.setup_bucket() def test_presign_sigv2(self): @@ -889,6 +889,14 @@ class TestS3SigV4Client(BaseS3ClientTest): # Make sure the upload id is as expected. self.assertEqual(response['Uploads'][0]['UploadId'], upload_id) + def test_can_add_double_space_metadata(self): + # Ensure we get no sigv4 errors when we send + # metadata with consecutive spaces. + response = self.client.put_object( + Bucket=self.bucket_name, Key='foo.txt', + Body=b'foobar', Metadata={'foo': ' multi spaces '}) + self.assert_status_code(response, 200) + class TestSSEKeyParamValidation(BaseS3ClientTest): def test_make_request_with_sse(self): diff --git a/tests/integration/test_utils.py b/tests/integration/test_utils.py index 2e25ac58..c0f47ffd 100644 --- a/tests/integration/test_utils.py +++ b/tests/integration/test_utils.py @@ -10,9 +10,6 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import time -from tests import unittest - import botocore.session from botocore.utils import ArgumentGenerator diff --git a/tests/unit/auth/test_signers.py b/tests/unit/auth/test_signers.py index b420a53c..1829dcf1 100644 --- a/tests/unit/auth/test_signers.py +++ b/tests/unit/auth/test_signers.py @@ -17,7 +17,6 @@ import datetime import time import base64 import json -import tempfile import mock @@ -391,7 +390,7 @@ class TestS3SigV4Auth(BaseTestWithFixedDate): def test_uses_sha256_if_not_streaming_upload(self): self.request.context['has_streaming_input'] = False self.request.headers.add_header('Content-MD5', 'foo') - self.request.url = 'http://s3.amazonaws.com/bucket' + self.request.url = 'https://s3.amazonaws.com/bucket' self.auth.add_auth(self.request) sha_header = self.request.headers['X-Amz-Content-SHA256'] self.assertNotEqual(sha_header, 'UNSIGNED-PAYLOAD') @@ -403,6 +402,28 @@ class TestS3SigV4Auth(BaseTestWithFixedDate): sha_header = self.request.headers['X-Amz-Content-SHA256'] self.assertEqual(sha_header, 'UNSIGNED-PAYLOAD') + def test_does_not_use_sha256_if_context_config_set(self): + self.request.context['payload_signing_enabled'] = False + self.request.headers.add_header('Content-MD5', 'foo') + self.auth.add_auth(self.request) + sha_header = self.request.headers['X-Amz-Content-SHA256'] + self.assertEqual(sha_header, 'UNSIGNED-PAYLOAD') + + def test_sha256_if_context_set_on_http(self): + self.request.context['payload_signing_enabled'] = False + self.request.headers.add_header('Content-MD5', 'foo') + self.request.url = 'http://s3.amazonaws.com/bucket' + self.auth.add_auth(self.request) + sha_header = self.request.headers['X-Amz-Content-SHA256'] + self.assertNotEqual(sha_header, 'UNSIGNED-PAYLOAD') + + def test_sha256_if_context_set_without_md5(self): + self.request.context['payload_signing_enabled'] = False + self.request.url = 'https://s3.amazonaws.com/bucket' + self.auth.add_auth(self.request) + sha_header = self.request.headers['X-Amz-Content-SHA256'] + self.assertNotEqual(sha_header, 'UNSIGNED-PAYLOAD') + class TestSigV4(unittest.TestCase): def setUp(self): @@ -473,6 +494,7 @@ class TestSigV4(unittest.TestCase): def test_payload_is_binary_file(self): request = AWSRequest() request.data = six.BytesIO(u'\u2713'.encode('utf-8')) + request.url = 'https://amazonaws.com' auth = self.create_signer() payload = auth.payload(request) self.assertEqual( @@ -482,12 +504,47 @@ class TestSigV4(unittest.TestCase): def test_payload_is_bytes_type(self): request = AWSRequest() request.data = u'\u2713'.encode('utf-8') + request.url = 'https://amazonaws.com' auth = self.create_signer() payload = auth.payload(request) self.assertEqual( payload, '1dabba21cdad44541f6b15796f8d22978fc7ea10c46aeceeeeb66c23b3ac7604') + def test_payload_not_signed_if_disabled_in_context(self): + request = AWSRequest() + request.data = u'\u2713'.encode('utf-8') + request.url = 'https://amazonaws.com' + request.context['payload_signing_enabled'] = False + auth = self.create_signer() + payload = auth.payload(request) + self.assertEqual(payload, 'UNSIGNED-PAYLOAD') + + def test_content_sha256_set_if_payload_signing_disabled(self): + request = AWSRequest() + request.data = six.BytesIO(u'\u2713'.encode('utf-8')) + request.url = 'https://amazonaws.com' + request.context['payload_signing_enabled'] = False + request.method = 'PUT' + auth = self.create_signer() + auth.add_auth(request) + sha_header = request.headers['X-Amz-Content-SHA256'] + self.assertEqual(sha_header, 'UNSIGNED-PAYLOAD') + + def test_collapse_multiple_spaces(self): + auth = self.create_signer() + original = HTTPHeaders() + original['foo'] = 'double space' + headers = auth.canonical_headers(original) + self.assertEqual(headers, 'foo:double space') + + def test_trims_leading_trailing_spaces(self): + auth = self.create_signer() + original = HTTPHeaders() + original['foo'] = ' leading and trailing ' + headers = auth.canonical_headers(original) + self.assertEqual(headers, 'foo:leading and trailing') + class TestSigV4Resign(BaseTestWithFixedDate): diff --git a/tests/unit/auth/test_sigv4.py b/tests/unit/auth/test_sigv4.py index 154deb26..2d28a000 100644 --- a/tests/unit/auth/test_sigv4.py +++ b/tests/unit/auth/test_sigv4.py @@ -27,11 +27,7 @@ import logging import io import datetime from botocore.compat import six -from six import BytesIO -from six.moves import BaseHTTPServer -import nose.tools as t -from nose import with_setup import mock import botocore.auth @@ -78,11 +74,11 @@ if not six.PY3: log = logging.getLogger(__name__) -class RawHTTPRequest(BaseHTTPServer.BaseHTTPRequestHandler): +class RawHTTPRequest(six.moves.BaseHTTPServer.BaseHTTPRequestHandler): def __init__(self, raw_request): if isinstance(raw_request, six.text_type): raw_request = raw_request.encode('utf-8') - self.rfile = BytesIO(raw_request) + self.rfile = six.BytesIO(raw_request) self.raw_requestline = self.rfile.readline() self.error_code = None self.error_message = None diff --git a/tests/unit/docs/test_client.py b/tests/unit/docs/test_client.py index f041a3cf..d50b7568 100644 --- a/tests/unit/docs/test_client.py +++ b/tests/unit/docs/test_client.py @@ -31,10 +31,10 @@ class TestClientDocumenter(BaseDocsTest): ' A low-level client representing AWS MyService::', ' client = session.create_client(\'myservice\')', ' These are the available methods:', - ' * :py:meth:`can_paginate`', - ' * :py:meth:`get_paginator`', - ' * :py:meth:`get_waiter`', - ' * :py:meth:`sample_operation`', + ' * :py:meth:`~MyService.Client.can_paginate`', + ' * :py:meth:`~MyService.Client.get_paginator`', + ' * :py:meth:`~MyService.Client.get_waiter`', + ' * :py:meth:`~MyService.Client.sample_operation`', ' .. py:method:: can_paginate(operation_name)', ' .. py:method:: get_paginator(operation_name)', ' .. py:method:: get_waiter(waiter_name)', diff --git a/tests/unit/docs/test_service.py b/tests/unit/docs/test_service.py index f43f5a62..8eb896c6 100644 --- a/tests/unit/docs/test_service.py +++ b/tests/unit/docs/test_service.py @@ -47,7 +47,7 @@ class TestServiceDocumenter(BaseDocsTest): ' A low-level client representing AWS MyService::', ' client = session.create_client(\'myservice\')', ' These are the available methods:', - ' * :py:meth:`sample_operation`', + ' * :py:meth:`~MyService.Client.sample_operation`', ' .. py:method:: sample_operation(**kwargs)', ' **Examples** ', ' Sample Description.', diff --git a/tests/unit/docs/test_sharedexample.py b/tests/unit/docs/test_sharedexample.py index ccd29b98..26931ad9 100644 --- a/tests/unit/docs/test_sharedexample.py +++ b/tests/unit/docs/test_sharedexample.py @@ -281,3 +281,21 @@ class TestSharedExampleDocumenter(BaseDocsTest): " foo='bar',", ")" ]) + + def test_unicode_exammple(self): + self.add_shape_to_params('foo', 'String') + self.documenter.document_shared_example( + example={ + 'input': { + 'foo': u'\u2713' + } + }, + prefix='foo.bar', + section=self.doc_structure, + operation_model=self.operation_model + ) + self.assert_contains_lines_in_order([ + u"foo.bar(", + u" foo='\u2713'", + u")" + ]) diff --git a/tests/unit/docs/test_utils.py b/tests/unit/docs/test_utils.py index ff273a00..7611a7e4 100644 --- a/tests/unit/docs/test_utils.py +++ b/tests/unit/docs/test_utils.py @@ -10,8 +10,6 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import mock - from tests import unittest from tests.unit.docs import BaseDocsTest from botocore.docs.utils import py_type_name diff --git a/tests/unit/protocols/input/ec2.json b/tests/unit/protocols/input/ec2.json index 84655834..eebce2f3 100644 --- a/tests/unit/protocols/input/ec2.json +++ b/tests/unit/protocols/input/ec2.json @@ -356,5 +356,59 @@ } } ] + }, + { + "description": "Idempotency token auto fill", + "metadata": { + "protocol": "ec2", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Token": { + "shape": "StringType", + "idempotencyToken": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "Token": "abc123" + }, + "serialized": { + "uri": "/", + "headers": {}, + "body": "Action=OperationName&Version=2014-01-01&Token=abc123" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/", + "headers": {}, + "body": "Action=OperationName&Version=2014-01-01&Token=00000000-0000-4000-8000-000000000000" + } + } + ] } ] diff --git a/tests/unit/protocols/input/json.json b/tests/unit/protocols/input/json.json index e3ab7980..197ab4f8 100644 --- a/tests/unit/protocols/input/json.json +++ b/tests/unit/protocols/input/json.json @@ -426,7 +426,7 @@ "description": "Empty maps", "metadata": { "protocol": "json", - "jsonVersion": 1.1, + "jsonVersion": "1.1", "targetPrefix": "com.amazonaws.foo" }, "shapes": { @@ -475,5 +475,68 @@ } } ] + }, + { + "description": "Idempotency token auto fill", + "metadata": { + "protocol": "json", + "apiVersion": "2014-01-01", + "jsonVersion": "1.1", + "targetPrefix": "com.amazonaws.foo" + + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Token": { + "shape": "StringType", + "idempotencyToken": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST" + }, + "name": "OperationName" + }, + "params": { + "Token": "abc123" + }, + "serialized": { + "uri": "/", + "headers": {}, + "body": "{\"Token\": \"abc123\"}" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/", + "headers": {}, + "body": "{\"Token\": \"00000000-0000-4000-8000-000000000000\"}" + } + } + ] } ] diff --git a/tests/unit/protocols/input/query.json b/tests/unit/protocols/input/query.json index e5952620..a79766d9 100644 --- a/tests/unit/protocols/input/query.json +++ b/tests/unit/protocols/input/query.json @@ -776,5 +776,65 @@ } } ] + }, + { + "description": "Idempotency token auto fill", + "metadata": { + "protocol": "query", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Token": { + "shape": "StringType", + "idempotencyToken": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST" + }, + "name": "OperationName" + }, + "params": { + "Token": "abc123" + }, + "serialized": { + "uri": "/", + "headers": {}, + "body": "Action=OperationName&Version=2014-01-01&Token=abc123" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/", + "headers": {}, + "body": "Action=OperationName&Version=2014-01-01&Token=00000000-0000-4000-8000-000000000000" + } + } + ] } ] diff --git a/tests/unit/protocols/input/rest-json.json b/tests/unit/protocols/input/rest-json.json index e88b38f2..0d8d1bd6 100644 --- a/tests/unit/protocols/input/rest-json.json +++ b/tests/unit/protocols/input/rest-json.json @@ -286,6 +286,70 @@ } ] }, + { + "description": "Boolean in querystring", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "BoolQuery": { + "shape": "BoolType", + "location": "querystring", + "locationName": "bool-query" + } + } + }, + "BoolType": { + "type": "boolean" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "GET", + "requestUri": "/path" + }, + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "BoolQuery": true + }, + "serialized": { + "body": "", + "uri": "/path?bool-query=true", + "headers": {} + } + }, + { + "given": { + "http": { + "method": "GET", + "requestUri": "/path" + }, + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "BoolQuery": false + }, + "serialized": { + "body": "", + "uri": "/path?bool-query=false", + "headers": {} + } + } + ] + }, { "description": "URI parameter and querystring params", "metadata": { @@ -594,7 +658,7 @@ { "given": { "http": { - "method": "GET", + "method": "POST", "requestUri": "/2014-01-01/{Foo}" }, "input": { @@ -612,6 +676,142 @@ } } ] + }, + { + "description": "Blob payload", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "foo": { + "shape": "FooShape" + } + } + }, + "FooShape": { + "type": "blob" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "InputShape", + "payload": "foo" + }, + "name": "OperationName" + }, + "params": { + "foo": "bar" + }, + "serialized": { + "method": "POST", + "body": "bar", + "uri": "/" + } + }, + { + "given": { + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "InputShape", + "payload": "foo" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "method": "POST", + "body": "", + "uri": "/" + } + } + ] + }, + { + "description": "Structure payload", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "foo": { + "shape": "FooShape" + } + } + }, + "FooShape": { + "locationName": "foo", + "type": "structure", + "members": { + "baz": { + "shape": "BazShape" + } + } + }, + "BazShape": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "InputShape", + "payload": "foo" + }, + "name": "OperationName" + }, + "params": { + "foo": { + "baz": "bar" + } + }, + "serialized": { + "method": "POST", + "body": "{\"baz\": \"bar\"}", + "uri": "/" + } + }, + { + "given": { + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "InputShape", + "payload": "foo" + }, + "name": "OperationName" + }, + "params": {}, + "serialized": { + "method": "POST", + "body": "", + "uri": "/" + } + } + ] }, { "description": "Omits null query params, but serializes empty strings", @@ -995,5 +1195,174 @@ } } ] + }, + { + "description": "String payload", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "foo": { + "shape": "FooShape" + } + } + }, + "FooShape": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "InputShape", + "payload": "foo" + }, + "name": "OperationName" + }, + "params": { + "foo": "bar" + }, + "serialized": { + "method": "POST", + "body": "bar", + "uri": "/" + } + } + ] + }, + { + "description": "Idempotency token auto fill", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Token": { + "shape": "StringType", + "idempotencyToken": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + "Token": "abc123" + }, + "serialized": { + "uri": "/path", + "headers": {}, + "body": "{\"Token\": \"abc123\"}" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/path", + "headers": {}, + "body": "{\"Token\": \"00000000-0000-4000-8000-000000000000\"}" + } + } + ] + }, + { + "description": "JSON value trait", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Attr": { + "shape": "StringType", + "jsonvalue": true, + "location": "header", + "locationName": "X-Amz-Foo" + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + "Attr": {"Foo":"Bar"} + }, + "serialized": { + "uri": "/path", + "headers": {"X-Amz-Foo": "eyJGb28iOiJCYXIifQ=="}, + "body": "" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/path", + "headers": {}, + "body": "" + } + } + ] } ] diff --git a/tests/unit/protocols/input/rest-xml.json b/tests/unit/protocols/input/rest-xml.json index 248cf103..ca2f0a04 100644 --- a/tests/unit/protocols/input/rest-xml.json +++ b/tests/unit/protocols/input/rest-xml.json @@ -725,7 +725,7 @@ { "description": "Querystring list of strings", "metadata": { - "protocol": "rest-json", + "protocol": "rest-xml", "apiVersion": "2014-01-01" }, "shapes": { @@ -772,50 +772,6 @@ } ] }, - { - "description": "Querystring with boolean", - "metadata": { - "protocol": "rest-json", - "apiVersion": "2014-01-01" - }, - "shapes": { - "InputShape": { - "type": "structure", - "members": { - "item" : { - "shape": "Boolean", - "location": "querystring", - "locationName": "item" - } - } - }, - "Boolean": { - "type": "boolean" - } - }, - "cases": [ - { - "given": { - "http": { - "method": "GET", - "requestUri": "/path" - }, - "input": { - "shape": "InputShape" - }, - "name": "OperationName" - }, - "params": { - "item": true - }, - "serialized": { - "body": "", - "uri": "/path?item=true", - "headers": {} - } - } - ] - }, { "description": "String to string maps in querystring", "metadata": { @@ -942,7 +898,70 @@ } ] }, - + { + "description": "Boolean in querystring", + "metadata": { + "protocol": "rest-xml", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "BoolQuery": { + "shape": "BoolType", + "location": "querystring", + "locationName": "bool-query" + } + } + }, + "BoolType": { + "type": "boolean" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "GET", + "requestUri": "/path" + }, + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "BoolQuery": true + }, + "serialized": { + "body": "", + "uri": "/path?bool-query=true", + "headers": {} + } + }, + { + "given": { + "http": { + "method": "GET", + "requestUri": "/path" + }, + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "BoolQuery": false + }, + "serialized": { + "body": "", + "uri": "/path?bool-query=false", + "headers": {} + } + } + ] + }, { "description": "String payload", "metadata": { @@ -1186,21 +1205,21 @@ } }, "Grantee": { - "type": "structure", - "members": { - "Type": { - "shape": "Type", - "locationName": "xsi:type", - "xmlAttribute": true - }, - "EmailAddress": { - "shape": "StringType" - } - }, - "xmlNamespace": { - "prefix": "xsi", - "uri":"http://www.w3.org/2001/XMLSchema-instance" - } + "type": "structure", + "members": { + "Type": { + "shape": "Type", + "locationName": "xsi:type", + "xmlAttribute": true + }, + "EmailAddress": { + "shape": "StringType" + } + }, + "xmlNamespace": { + "prefix": "xsi", + "uri":"http://www.w3.org/2001/XMLSchema-instance" + } }, "Type": { "type": "string" @@ -1611,5 +1630,131 @@ } } ] + }, + { + "description": "Idempotency token auto fill", + "metadata": { + "protocol": "rest-xml", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Token": { + "shape": "StringType", + "idempotencyToken": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + "Token": "abc123" + }, + "serialized": { + "uri": "/path", + "headers": {}, + "body": "abc123" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/path", + "headers": {}, + "body": "00000000-0000-4000-8000-000000000000" + } + } + ] + }, + { + "description": "JSON value trait", + "metadata": { + "protocol": "rest-xml", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Attr": { + "shape": "StringType", + "jsonvalue": true, + "location": "header", + "locationName": "X-Amz-Foo" + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + "Attr": {"Foo":"Bar"} + }, + "serialized": { + "uri": "/path", + "headers": {"X-Amz-Foo": "eyJGb28iOiJCYXIifQ=="}, + "body": "" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/path", + "headers": {}, + "body": "" + } + } + ] } ] diff --git a/tests/unit/protocols/output/rest-json.json b/tests/unit/protocols/output/rest-json.json index b6741ae3..53bfdf28 100644 --- a/tests/unit/protocols/output/rest-json.json +++ b/tests/unit/protocols/output/rest-json.json @@ -624,5 +624,45 @@ } } ] + }, + { + "description": "JSON value trait", + "metadata": { + "protocol": "rest-json" + }, + "shapes": { + "OutputShape": { + "type": "structure", + "members": { + "Attr": { + "shape": "StringType", + "jsonvalue": true, + "location": "header", + "locationName": "X-Amz-Foo" + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "output": { + "shape": "OutputShape" + }, + "name": "OperationName" + }, + "result": { + "Attr": {"Foo":"Bar"} + }, + "response": { + "status_code": 200, + "headers": {"X-Amz-Foo": "eyJGb28iOiJCYXIifQ=="}, + "body": "" + } + } + ] } ] diff --git a/tests/unit/protocols/output/rest-xml.json b/tests/unit/protocols/output/rest-xml.json index 9413174e..a4ad7a01 100644 --- a/tests/unit/protocols/output/rest-xml.json +++ b/tests/unit/protocols/output/rest-xml.json @@ -718,7 +718,7 @@ ] }, { - "description": "Parse XML Attributes", + "description": "JSON value trait", "metadata": { "protocol": "rest-xml" }, @@ -726,37 +726,17 @@ "OutputShape": { "type": "structure", "members": { - "Grants": { - "shape": "Grants", - "locationName": "AccessControlList" + "Attr": { + "shape": "StringType", + "jsonvalue": true, + "location": "header", + "locationName": "X-Amz-Foo" } } }, - "Grants": { - "type": "list", - "member": { - "shape": "Grant" - } - }, - "Grant": { - "type": "structure", - "members": { - "Grantee": {"shape": "Grantee"} - } - }, - "Grantee": { - "type": "structure", - "members": { - "DisplayName": {"shape": "String"}, - "ID": {"shape": "String"}, - "Type": { - "shape": "String", - "locationName": "xsi:type", - "xmlAttribute": true - } - } - }, - "String": {"type": "string"} + "StringType": { + "type": "string" + } }, "cases": [ { @@ -767,22 +747,15 @@ "name": "OperationName" }, "result": { - "Grants": [ - { - "Grantee": { - "DisplayName": "name", - "ID": "id", - "Type": "CanonicalUser" - } - } - ] + "Attr": {"Foo":"Bar"} }, "response": { "status_code": 200, - "headers": {}, - "body": "id name" - } + "headers": {"X-Amz-Foo": "eyJGb28iOiJCYXIifQ=="}, + "body": "" + } } ] } + ] diff --git a/tests/unit/response_parsing/test_response_parsing.py b/tests/unit/response_parsing/test_response_parsing.py index 97249d69..b182b214 100644 --- a/tests/unit/response_parsing/test_response_parsing.py +++ b/tests/unit/response_parsing/test_response_parsing.py @@ -17,17 +17,11 @@ import json import pprint import logging import difflib -from tests import unittest, create_session - -from mock import Mock -from botocore.vendored.requests.structures import CaseInsensitiveDict +from tests import create_session import botocore.session from botocore import xform_name -#from botocore.response import XmlResponse, JSONResponse, get_response -from botocore import response from botocore import parsers -from botocore.exceptions import IncompleteReadError log = logging.getLogger(__name__) diff --git a/tests/unit/test_args.py b/tests/unit/test_args.py index 3142b1d3..55cd0e36 100644 --- a/tests/unit/test_args.py +++ b/tests/unit/test_args.py @@ -130,3 +130,48 @@ class TestCreateClientArgs(unittest.TestCase): response_parser_factory=None, timeout=(60, 60), verify=True, max_pool_connections=20 ) + + def test_s3_with_endpoint_url_still_resolves_region(self): + self.args_create = args.ClientArgsCreator( + mock.Mock(), None, None, None, None) + service_model = mock.Mock() + service_model.endpoint_prefix = 's3' + service_model.metadata = {'protocol': 'rest-xml'} + config = botocore.config.Config() + bridge = mock.Mock() + bridge.resolve.side_effect = [ + { + 'region_name': None, 'signature_version': 's3v4', + 'endpoint_url': 'http://other.com/', 'signing_name': 's3', + 'signing_region': None, 'metadata': {} + }, + { + 'region_name': 'us-west-2', 'signature_version': 's3v4', + 'enpoint_url': 'https://s3-us-west-2.amazonaws.com', + 'signing_name': 's3', 'signing_region': 'us-west-2', + 'metadata': {} + } + ] + client_args = self.args_create.get_client_args( + service_model, 'us-west-2', True, 'http://other.com/', True, None, + {}, config, bridge) + self.assertEqual( + client_args['client_config'].region_name, 'us-west-2') + + def test_region_does_not_resolve_if_not_s3_and_endpoint_url_provided(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() + 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, 'http://other.com/', True, None, + {}, config, bridge) + self.assertEqual(client_args['client_config'].region_name, None) diff --git a/tests/unit/test_client.py b/tests/unit/test_client.py index c7608954..9dc75105 100644 --- a/tests/unit/test_client.py +++ b/tests/unit/test_client.py @@ -24,8 +24,6 @@ from botocore.client import ClientEndpointBridge from botocore.credentials import Credentials from botocore.exceptions import ParamValidationError from botocore.exceptions import InvalidS3AddressingStyleError -from botocore.exceptions import NoRegionError -from botocore.exceptions import UnknownEndpointError from botocore.exceptions import UnknownSignatureVersionError from botocore.errorfactory import ClientExceptionsFactory from botocore.stub import Stubber @@ -107,12 +105,14 @@ class TestAutoGeneratedClient(unittest.TestCase): self.endpoint_creator.create_endpoint.return_value = self.endpoint self.resolver = mock.Mock() - self.resolver.construct_endpoint.return_value = { + self.endpoint_data = { 'partition': 'aws', 'hostname': 'foo', 'endpointName': 'us-west-2', 'signatureVersions': ['v4'], } + self.resolver.construct_endpoint.return_value = self.endpoint_data + self.resolver.get_available_endpoints.return_value = ['us-west-2'] def tearDown(self): self.endpoint_creator_patch.stop() @@ -592,7 +592,6 @@ class TestAutoGeneratedClient(unittest.TestCase): scoped_config=scoped_config, client_config=client_config) self.assert_no_param_error_raised(service_client) - def test_client_with_custom_both_timeout(self): self.create_client_creator().create_client( 'myservice', 'us-west-2', @@ -1368,6 +1367,35 @@ class TestAutoGeneratedClient(unittest.TestCase): service_client.test_operation(Foo='one') self.assertFalse(self.endpoint.make_request.called) + def test_getattr_emits_event(self): + emitter = mock.Mock() + emitter.emit_until_response.return_value = (None, None) + + creator = self.create_client_creator(event_emitter=emitter) + service_client = creator.create_client('myservice', 'us-west-2') + + # Assert that the event hasn't fired yet + emitter.emit_until_response.assert_not_called() + + with self.assertRaises(AttributeError): + service_client.attribute_that_does_not_exist + + emitter.emit_until_response.assert_called_once_with( + 'getattr.myservice.attribute_that_does_not_exist', + client=service_client + ) + + def test_getattr_event_returns_response(self): + emitter = mock.Mock() + emitter.emit_until_response.return_value = (None, 'success') + + creator = self.create_client_creator(event_emitter=emitter) + service_client = creator.create_client('myservice', 'us-west-2') + + value = service_client.attribute_that_does_not_exist + + self.assertEqual(value, 'success') + class TestClientErrors(TestAutoGeneratedClient): def add_error_response(self, error_response): @@ -1773,14 +1801,14 @@ class TestClientEndpointBridge(unittest.TestCase): resolved = bridge.resolve('test', 'us-west-2') self.assertEqual('s3', resolved['signature_version']) - def test_uses_s3_over_s3v4_for_s3(self): + def test_uses_s3v4_over_s3_for_s3(self): resolver = mock.Mock() resolver.construct_endpoint.return_value = { 'partition': 'aws', 'hostname': 'test.com', 'endpointName': 'us-west-2', 'signatureVersions': ['s3v4', 's3']} bridge = ClientEndpointBridge(resolver) resolved = bridge.resolve('s3', 'us-west-2') - self.assertEqual('s3', resolved['signature_version']) + self.assertEqual('s3v4', resolved['signature_version']) def test_uses_s3v4_over_others_for_s3(self): resolver = mock.Mock() @@ -1869,7 +1897,7 @@ class TestClientEndpointBridge(unittest.TestCase): resolved['endpoint_url'], 'https://s3.dualstack.us-east-1.amazonaws.com') - def test_can_use_client_config(self): + def test_dualstack_can_use_client_config(self): config = botocore.config.Config(s3={'use_dualstack_endpoint': True}) bridge = ClientEndpointBridge(self.resolver, client_config=config) resolved = bridge.resolve('s3', 'us-east-1') @@ -1877,7 +1905,7 @@ class TestClientEndpointBridge(unittest.TestCase): resolved['endpoint_url'], 'https://s3.dualstack.us-east-1.amazonaws.com') - def test_client_config_beats_scoped_config(self): + def test_dualstack_client_config_beats_scoped_config(self): scoped_config = {'s3': {'use_dualstack_endpoint': False}} config = botocore.config.Config(s3={'use_dualstack_endpoint': True}) bridge = ClientEndpointBridge(self.resolver, scoped_config, @@ -1897,7 +1925,7 @@ class TestClientEndpointBridge(unittest.TestCase): resolved['endpoint_url'], 'https://s3.amazonaws.com') - def test_honors_dns_suffix(self): + def test_dualstack_honors_dns_suffix(self): scoped_config = {'s3': {'use_dualstack_endpoint': True}} self.boilerplate_response['dnsSuffix'] = 'amazonaws.com.cn' self.boilerplate_response['endpointName'] = 'cn-north-1' diff --git a/tests/unit/test_configloader.py b/tests/unit/test_configloader.py index e20aba72..6757cff0 100644 --- a/tests/unit/test_configloader.py +++ b/tests/unit/test_configloader.py @@ -14,16 +14,49 @@ # language governing permissions and limitations under the License. from tests import unittest, BaseEnvVar import os +import mock +import tempfile +import shutil + import botocore.exceptions from botocore.configloader import raw_config_parse, load_config, \ multi_file_load_config +from botocore.compat import six def path(filename): - return os.path.join(os.path.dirname(__file__), 'cfg', filename) + directory = os.path.join(os.path.dirname(__file__), 'cfg') + if isinstance(filename, six.binary_type): + directory = six.b(directory) + return os.path.join(directory, filename) class TestConfigLoader(BaseEnvVar): + def setUp(self): + self.tempdir = tempfile.mkdtemp() + + def tearDown(self): + shutil.rmtree(self.tempdir) + + def create_config_file(self, filename): + contents = ( + '[default]\n' + 'aws_access_key_id = foo\n' + 'aws_secret_access_key = bar\n\n' + '[profile "personal"]\n' + 'aws_access_key_id = fie\n' + 'aws_secret_access_key = baz\n' + 'aws_security_token = fiebaz\n' + ) + + directory = self.tempdir + if isinstance(filename, six.binary_type): + directory = six.b(directory) + full_path = os.path.join(directory, filename) + + with open(full_path, 'w') as f: + f.write(contents) + return full_path def test_config_not_found(self): with self.assertRaises(botocore.exceptions.ConfigNotFound): @@ -103,6 +136,20 @@ class TestConfigLoader(BaseEnvVar): self.assertEqual(third_config['aws_secret_access_key'], 'third_baz') self.assertEqual(third_config['aws_security_token'], 'third_fiebaz') + def test_unicode_bytes_path_not_found(self): + with self.assertRaises(botocore.exceptions.ConfigNotFound): + with mock.patch('sys.getfilesystemencoding') as encoding: + encoding.return_value = 'utf-8' + load_config(path(b'\xe2\x9c\x93')) + + def test_unicode_bytes_path(self): + filename = self.create_config_file(b'aws_config_unicode\xe2\x9c\x93') + with mock.patch('sys.getfilesystemencoding') as encoding: + encoding.return_value = 'utf-8' + loaded_config = load_config(filename) + self.assertIn('default', loaded_config['profiles']) + self.assertIn('personal', loaded_config['profiles']) + if __name__ == "__main__": unittest.main() diff --git a/tests/unit/test_credentials.py b/tests/unit/test_credentials.py index 5c805103..86d39165 100644 --- a/tests/unit/test_credentials.py +++ b/tests/unit/test_credentials.py @@ -211,6 +211,29 @@ class TestEnvVar(BaseEnvVar): self.assertEqual(creds.secret_key, 'bar') self.assertEqual(creds.token, 'baz') + def test_can_override_expiry_env_var_mapping(self): + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + 'FOO_EXPIRY': expiry_time.isoformat(), + } + provider = credentials.EnvProvider( + environ, {'expiry_time': 'FOO_EXPIRY'} + ) + creds = provider.load() + + # Since the credentials are expired, we'll trigger a refresh whenever + # we try to access them. Since the environment credentials are still + # expired, this will raise an error. + error_message = ( + "Credentials were refreshed, but the refreshed credentials are " + "still expired." + ) + with self.assertRaisesRegexp(RuntimeError, error_message): + creds.get_frozen_credentials() + def test_partial_creds_is_an_error(self): # If the user provides an access key, they must also # provide a secret key. Not doing so will generate an @@ -223,6 +246,146 @@ class TestEnvVar(BaseEnvVar): with self.assertRaises(botocore.exceptions.PartialCredentialsError): provider.load() + def test_missing_access_key_id_raises_error(self): + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + + del environ['AWS_ACCESS_KEY_ID'] + + # Since the credentials are expired, we'll trigger a refresh + # whenever we try to access them. At that refresh time, the relevant + # environment variables are incomplete, so an error will be raised. + with self.assertRaises(botocore.exceptions.PartialCredentialsError): + creds.get_frozen_credentials() + + def test_credentials_refresh(self): + # First initialize the credentials with an expired credential set. + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + self.assertIsInstance(creds, credentials.RefreshableCredentials) + + # Since the credentials are expired, we'll trigger a refresh whenever + # we try to access them. But at this point the environment hasn't been + # updated, so when it refreshes it will trigger an exception because + # the new creds are still expired. + error_message = ( + "Credentials were refreshed, but the refreshed credentials are " + "still expired." + ) + with self.assertRaisesRegexp(RuntimeError, error_message): + creds.get_frozen_credentials() + + # Now we update the environment with non-expired credentials, + # so when we access the creds it will refresh and grab the new ones. + expiry_time = datetime.now(tzlocal()) + timedelta(hours=1) + environ.update({ + 'AWS_ACCESS_KEY_ID': 'bin', + 'AWS_SECRET_ACCESS_KEY': 'bam', + 'AWS_SESSION_TOKEN': 'biz', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + }) + + frozen = creds.get_frozen_credentials() + self.assertEqual(frozen.access_key, 'bin') + self.assertEqual(frozen.secret_key, 'bam') + self.assertEqual(frozen.token, 'biz') + + def test_credentials_only_refresh_when_needed(self): + expiry_time = datetime.now(tzlocal()) + timedelta(hours=2) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + } + provider = credentials.EnvProvider(environ) + + # Perform the initial credential load + creds = provider.load() + + # Now that the initial load has been performed, we go ahead and + # change the environment. If the credentials were expired, + # they would immediately refresh upon access and we'd get the new + # ones. Since they've got plenty of time, they shouldn't refresh. + expiry_time = datetime.now(tzlocal()) + timedelta(hours=3) + environ.update({ + 'AWS_ACCESS_KEY_ID': 'bin', + 'AWS_SECRET_ACCESS_KEY': 'bam', + 'AWS_SESSION_TOKEN': 'biz', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + }) + + frozen = creds.get_frozen_credentials() + self.assertEqual(frozen.access_key, 'foo') + self.assertEqual(frozen.secret_key, 'bar') + self.assertEqual(frozen.token, 'baz') + + def test_credentials_not_refreshable_if_no_expiry_present(self): + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + self.assertNotIsInstance(creds, credentials.RefreshableCredentials) + self.assertIsInstance(creds, credentials.Credentials) + + def test_credentials_do_not_become_refreshable(self): + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + frozen = creds.get_frozen_credentials() + self.assertEqual(frozen.access_key, 'foo') + self.assertEqual(frozen.secret_key, 'bar') + self.assertEqual(frozen.token, 'baz') + + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ.update({ + 'AWS_ACCESS_KEY_ID': 'bin', + 'AWS_SECRET_ACCESS_KEY': 'bam', + 'AWS_SESSION_TOKEN': 'biz', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + }) + + frozen = creds.get_frozen_credentials() + self.assertEqual(frozen.access_key, 'foo') + self.assertEqual(frozen.secret_key, 'bar') + self.assertEqual(frozen.token, 'baz') + self.assertNotIsInstance(creds, credentials.RefreshableCredentials) + + def test_credentials_throw_error_if_expiry_goes_away(self): + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + + del environ['AWS_CREDENTIAL_EXPIRATION'] + + with self.assertRaises(credentials.PartialCredentialsError): + creds.get_frozen_credentials() + class TestSharedCredentialsProvider(BaseEnvVar): def setUp(self): @@ -839,15 +1002,14 @@ class TestAssumeRoleCredentialProvider(unittest.TestCase): response) def test_assume_role_in_cache_but_expired(self): - expired_creds = datetime.utcnow() - valid_creds = expired_creds + timedelta(seconds=60) - utc_timestamp = expired_creds.isoformat() + 'Z' + expired_creds = datetime.now(tzlocal()) + valid_creds = expired_creds + timedelta(hours=1) response = { 'Credentials': { 'AccessKeyId': 'foo', 'SecretAccessKey': 'bar', 'SessionToken': 'baz', - 'Expiration': valid_creds.isoformat() + 'Z', + 'Expiration': valid_creds, }, } client_creator = self.create_client_creator(with_response=response) @@ -857,7 +1019,7 @@ class TestAssumeRoleCredentialProvider(unittest.TestCase): 'AccessKeyId': 'foo-cached', 'SecretAccessKey': 'bar-cached', 'SessionToken': 'baz-cached', - 'Expiration': utc_timestamp, + 'Expiration': expired_creds, } } } @@ -1153,14 +1315,22 @@ class TestContainerProvider(BaseEnvVar): creds = provider.load() self.assertIsNone(creds) + def full_url(self, url): + return 'http://%s%s' % (ContainerMetadataFetcher.IP_ADDRESS, url) + + def create_fetcher(self): + fetcher = mock.Mock(spec=ContainerMetadataFetcher) + fetcher.full_url = self.full_url + return fetcher + def test_retrieve_from_provider_if_env_var_present(self): environ = { 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI': '/latest/credentials?id=foo' } - fetcher = mock.Mock(spec=ContainerMetadataFetcher) + fetcher = self.create_fetcher() timeobj = datetime.now(tzlocal()) timestamp = (timeobj + timedelta(hours=24)).isoformat() - fetcher.retrieve_uri.return_value = { + fetcher.retrieve_full_uri.return_value = { "AccessKeyId" : "access_key", "SecretAccessKey" : "secret_key", "Token" : "token", @@ -1169,7 +1339,8 @@ class TestContainerProvider(BaseEnvVar): provider = credentials.ContainerProvider(environ, fetcher) creds = provider.load() - fetcher.retrieve_uri.assert_called_with('/latest/credentials?id=foo') + fetcher.retrieve_full_uri.assert_called_with( + self.full_url('/latest/credentials?id=foo'), headers=None) self.assertEqual(creds.access_key, 'access_key') self.assertEqual(creds.secret_key, 'secret_key') self.assertEqual(creds.token, 'token') @@ -1183,7 +1354,7 @@ class TestContainerProvider(BaseEnvVar): timeobj = datetime.now(tzlocal()) expired_timestamp = (timeobj - timedelta(hours=23)).isoformat() future_timestamp = (timeobj + timedelta(hours=1)).isoformat() - fetcher.retrieve_uri.side_effect = [ + fetcher.retrieve_full_uri.side_effect = [ { "AccessKeyId" : "access_key_old", "SecretAccessKey" : "secret_key_old", @@ -1213,7 +1384,7 @@ class TestContainerProvider(BaseEnvVar): expired_timestamp = (timeobj - timedelta(hours=23)).isoformat() future_timestamp = (timeobj + timedelta(hours=1)).isoformat() exception = botocore.exceptions.CredentialRetrievalError - fetcher.retrieve_uri.side_effect = exception(provider='ecs-role', + fetcher.retrieve_full_uri.side_effect = exception(provider='ecs-role', error_msg='fake http error') with self.assertRaises(exception): provider = credentials.ContainerProvider(environ, fetcher) @@ -1230,7 +1401,7 @@ class TestContainerProvider(BaseEnvVar): expired_timestamp = (timeobj - timedelta(hours=23)).isoformat() http_exception = botocore.exceptions.MetadataRetrievalError raised_exception = botocore.exceptions.CredentialRetrievalError - fetcher.retrieve_uri.side_effect = [ + fetcher.retrieve_full_uri.side_effect = [ { "AccessKeyId" : "access_key_old", "SecretAccessKey" : "secret_key_old", @@ -1245,3 +1416,50 @@ class TestContainerProvider(BaseEnvVar): # Second time with a refresh should propagate an error. with self.assertRaises(raised_exception): frozen_creds = creds.get_frozen_credentials() + + def test_can_use_full_url(self): + environ = { + 'AWS_CONTAINER_CREDENTIALS_FULL_URI': 'http://localhost/foo' + } + fetcher = self.create_fetcher() + timeobj = datetime.now(tzlocal()) + timestamp = (timeobj + timedelta(hours=24)).isoformat() + fetcher.retrieve_full_uri.return_value = { + "AccessKeyId" : "access_key", + "SecretAccessKey" : "secret_key", + "Token" : "token", + "Expiration" : timestamp, + } + provider = credentials.ContainerProvider(environ, fetcher) + creds = provider.load() + + fetcher.retrieve_full_uri.assert_called_with('http://localhost/foo', + headers=None) + self.assertEqual(creds.access_key, 'access_key') + self.assertEqual(creds.secret_key, 'secret_key') + self.assertEqual(creds.token, 'token') + self.assertEqual(creds.method, 'container-role') + + def test_can_pass_basic_auth_token(self): + environ = { + 'AWS_CONTAINER_CREDENTIALS_FULL_URI': 'http://localhost/foo', + 'AWS_CONTAINER_AUTHORIZATION_TOKEN': 'Basic auth-token', + } + fetcher = self.create_fetcher() + timeobj = datetime.now(tzlocal()) + timestamp = (timeobj + timedelta(hours=24)).isoformat() + fetcher.retrieve_full_uri.return_value = { + "AccessKeyId" : "access_key", + "SecretAccessKey" : "secret_key", + "Token" : "token", + "Expiration" : timestamp, + } + provider = credentials.ContainerProvider(environ, fetcher) + creds = provider.load() + + fetcher.retrieve_full_uri.assert_called_with( + 'http://localhost/foo', headers={'Authorization': 'Basic auth-token'}) + self.assertEqual(creds.access_key, 'access_key') + self.assertEqual(creds.secret_key, 'secret_key') + self.assertEqual(creds.token, 'token') + self.assertEqual(creds.method, 'container-role') diff --git a/tests/unit/test_endpoint.py b/tests/unit/test_endpoint.py index b7f9cbf5..263db5c2 100644 --- a/tests/unit/test_endpoint.py +++ b/tests/unit/test_endpoint.py @@ -14,7 +14,6 @@ from tests import unittest from mock import Mock, patch, sentinel -from nose.tools import assert_equals from botocore.vendored.requests import ConnectionError from botocore.compat import six @@ -24,7 +23,6 @@ from botocore.endpoint import EndpointCreator from botocore.endpoint import BotocoreHTTPSession from botocore.exceptions import EndpointConnectionError from botocore.exceptions import ConnectionClosedError -from botocore.exceptions import BaseEndpointResolverError def request_dict(): diff --git a/tests/unit/test_handlers.py b/tests/unit/test_handlers.py index 75a5d3f5..d6164cef 100644 --- a/tests/unit/test_handlers.py +++ b/tests/unit/test_handlers.py @@ -846,6 +846,50 @@ class TestHandlers(BaseSessionTest): handlers.parse_get_bucket_location(response, None), self.assertEqual(response["LocationConstraint"], "eu-west-1") + def test_set_operation_specific_signer_no_auth_type(self): + signing_name = 'myservice' + context = {'auth_type': None} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertIsNone(response) + + def test_set_operation_specific_signer_unsigned(self): + signing_name = 'myservice' + context = {'auth_type': 'none'} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertEqual(response, botocore.UNSIGNED) + + def test_set_operation_specific_signer_v4(self): + signing_name = 'myservice' + context = {'auth_type': 'v4'} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertEqual(response, 'v4') + + def test_set_operation_specific_signer_s3v4(self): + signing_name = 's3' + context = {'auth_type': 'v4'} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertEqual(response, 's3v4') + + def test_set_operation_specific_signer_v4_unsinged_payload(self): + signing_name = 'myservice' + context = {'auth_type': 'v4-unsigned-body'} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertEqual(response, 'v4') + self.assertEqual(context.get('payload_signing_enabled'), False) + + def test_set_operation_specific_signer_s3v4_unsigned_payload(self): + signing_name = 's3' + context = {'auth_type': 'v4-unsigned-body'} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertEqual(response, 's3v4') + self.assertEqual(context.get('payload_signing_enabled'), False) + class TestConvertStringBodyToFileLikeObject(BaseSessionTest): def assert_converts_to_file_like_object_with_bytes(self, body, body_bytes): @@ -1177,3 +1221,13 @@ class TestParameterAlias(unittest.TestCase): contents = self.sample_section.flush_structure().decode('utf-8') self.assertIn(self.alias_name + '=', contents) self.assertNotIn(self.original_name + '=', contents) + + +class TestCommandAlias(unittest.TestCase): + def test_command_alias(self): + alias = handlers.ClientMethodAlias('foo') + client = mock.Mock() + client.foo.return_value = 'bar' + + response = alias(client=client)() + self.assertEqual(response, 'bar') diff --git a/tests/unit/test_model.py b/tests/unit/test_model.py index 36879218..4e4ae49b 100644 --- a/tests/unit/test_model.py +++ b/tests/unit/test_model.py @@ -92,6 +92,22 @@ class TestOperationModelFromService(unittest.TestCase): }, 'errors': [{'shape': 'NoSuchResourceException'}], 'documentation': 'Docs for OperationName', + 'authtype': 'v4' + }, + 'OperationTwo': { + 'http': { + 'method': 'POST', + 'requestUri': '/', + }, + 'name': 'OperationTwo', + 'input': { + 'shape': 'OperationNameRequest' + }, + 'output': { + 'shape': 'OperationNameResponse', + }, + 'errors': [{'shape': 'NoSuchResourceException'}], + 'documentation': 'Docs for OperationTwo', } }, 'shapes': { @@ -201,6 +217,14 @@ class TestOperationModelFromService(unittest.TestCase): self.assertEqual( operation.error_shapes[0].name, 'NoSuchResourceException') + def test_has_auth_type(self): + operation = self.service_model.operation_model('OperationName') + self.assertEqual(operation.auth_type, 'v4') + + def test_auth_type_not_set(self): + operation = self.service_model.operation_model('OperationTwo') + self.assertIsNone(operation.auth_type) + class TestOperationModelStreamingTypes(unittest.TestCase): def setUp(self): diff --git a/tests/unit/test_paginate.py b/tests/unit/test_paginate.py index a2742668..5f7d1931 100644 --- a/tests/unit/test_paginate.py +++ b/tests/unit/test_paginate.py @@ -14,16 +14,57 @@ from tests import unittest from botocore.paginate import Paginator from botocore.paginate import PaginatorModel +from botocore.paginate import TokenDecoder +from botocore.paginate import TokenEncoder from botocore.exceptions import PaginationError from botocore.compat import six import mock -import base64 -import json def encode_token(token): - return base64.b64encode(json.dumps(token).encode('utf-8')).decode('utf-8') + return TokenEncoder().encode(token) + + +class TestTokenDecoder(unittest.TestCase): + def setUp(self): + self.decoder = TokenDecoder() + + def test_decode(self): + token = 'eyJmb28iOiAiYmFyIn0=' + expected = {'foo': 'bar'} + self.assertEqual(self.decoder.decode(token), expected) + + def test_decode_with_bytes(self): + token = ( + 'eyJib3RvX2VuY29kZWRfa2V5cyI6IFtbImZvbyJdXSwgImZvbyI6ICJZbUZ5In0=' + ) + expected = {'foo': b'bar'} + self.assertEqual(self.decoder.decode(token), expected) + + def test_decode_with_nested_bytes(self): + token = ( + 'eyJmb28iOiB7ImJhciI6ICJZbUY2In0sICJib3RvX2VuY29kZWRfa2V5cyI6' + 'IFtbImZvbyIsICJiYXIiXV19' + ) + expected = {'foo': {'bar': b'baz'}} + self.assertEqual(self.decoder.decode(token), expected) + + def test_decode_with_listed_bytes(self): + token = ( + 'eyJib3RvX2VuY29kZWRfa2V5cyI6IFtbImZvbyIsICJiYXIiLCAxXV0sICJmb28i' + 'OiB7ImJhciI6IFsiYmF6IiwgIlltbHUiXX19' + ) + expected = {'foo': {'bar': ['baz', b'bin']}} + self.assertEqual(self.decoder.decode(token), expected) + + def test_decode_with_multiple_bytes_values(self): + token = ( + 'eyJib3RvX2VuY29kZWRfa2V5cyI6IFtbImZvbyIsICJiaW4iXSwgWyJmb28iLCAi' + 'YmFyIl1dLCAiZm9vIjogeyJiaW4iOiAiWW1GdCIsICJiYXIiOiAiWW1GNiJ9fQ==' + ) + expected = {'foo': {'bar': b'baz', 'bin': b'bam'}} + self.assertEqual(self.decoder.decode(token), expected) class TestPaginatorModel(unittest.TestCase): @@ -335,6 +376,176 @@ class TestPaginatorWithPathExpressions(unittest.TestCase): mock.call(next_marker='Last')]) +class TestBinaryTokens(unittest.TestCase): + def setUp(self): + self.method = mock.Mock() + self.paginate_config = { + "output_token": "Marker", + "input_token": "Marker", + "result_key": "Users" + } + self.paginator = Paginator(self.method, self.paginate_config) + + def test_build_full_result_with_bytes(self): + responses = [ + {"Users": ["User1", "User2"], "Marker": b'\xff'}, + {"Users": ["User3", "User4"], "Marker": b'\xfe'}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + pages = self.paginator.paginate(PaginationConfig={'MaxItems': 3}) + complete = pages.build_full_result() + expected_token = encode_token({ + "Marker": b'\xff', "boto_truncate_amount": 1, + }) + expected_response = { + "Users": ["User1", "User2", "User3"], + "NextToken": expected_token + } + self.assertEqual(complete, expected_response) + + def test_build_full_result_with_nested_bytes(self): + responses = [ + {"Users": ["User1", "User2"], "Marker": {'key': b'\xff'}}, + {"Users": ["User3", "User4"], "Marker": {'key': b'\xfe'}}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + pages = self.paginator.paginate(PaginationConfig={'MaxItems': 3}) + complete = pages.build_full_result() + expected_token = encode_token({ + "Marker": {'key': b'\xff'}, "boto_truncate_amount": 1, + }) + expected_response = { + "Users": ["User1", "User2", "User3"], + "NextToken": expected_token + } + self.assertEqual(complete, expected_response) + + def test_build_full_result_with_listed_bytes(self): + responses = [ + {"Users": ["User1", "User2"], "Marker": {'key': ['foo', b'\xff']}}, + {"Users": ["User3", "User4"], "Marker": {'key': ['foo', b'\xfe']}}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + pages = self.paginator.paginate(PaginationConfig={'MaxItems': 3}) + complete = pages.build_full_result() + expected_token = encode_token({ + "Marker": {'key': ['foo', b'\xff']}, "boto_truncate_amount": 1, + }) + expected_response = { + "Users": ["User1", "User2", "User3"], + "NextToken": expected_token + } + self.assertEqual(complete, expected_response) + + def test_build_full_result_with_multiple_bytes_values(self): + responses = [ + { + "Users": ["User1", "User2"], + "Marker": {'key': b'\xff', 'key2': b'\xef'} + }, + { + "Users": ["User3", "User4"], + "Marker": {'key': b'\xfe', 'key2': b'\xee'} + }, + { + "Users": ["User5"] + } + ] + self.method.side_effect = responses + pages = self.paginator.paginate(PaginationConfig={'MaxItems': 3}) + complete = pages.build_full_result() + expected_token = encode_token({ + "Marker": {'key': b'\xff', 'key2': b'\xef'}, + "boto_truncate_amount": 1, + }) + expected_response = { + "Users": ["User1", "User2", "User3"], + "NextToken": expected_token + } + self.assertEqual(complete, expected_response) + + def test_resume_with_bytes(self): + responses = [ + {"Users": ["User3", "User4"], "Marker": b'\xfe'}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + starting_token = encode_token({ + "Marker": b'\xff', "boto_truncate_amount": 1, + }) + pages = self.paginator.paginate( + PaginationConfig={'StartingToken': starting_token}) + complete = pages.build_full_result() + expected_response = { + "Users": ["User4", "User5"] + } + self.assertEqual(complete, expected_response) + self.method.assert_any_call(Marker=b'\xff') + + def test_resume_with_nested_bytes(self): + responses = [ + {"Users": ["User3", "User4"], "Marker": {'key': b'\xfe'}}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + starting_token = encode_token({ + "Marker": {'key': b'\xff'}, "boto_truncate_amount": 1, + }) + pages = self.paginator.paginate( + PaginationConfig={'StartingToken': starting_token}) + complete = pages.build_full_result() + expected_response = { + "Users": ["User4", "User5"] + } + self.assertEqual(complete, expected_response) + self.method.assert_any_call(Marker={'key': b'\xff'}) + + def test_resume_with_listed_bytes(self): + responses = [ + {"Users": ["User3", "User4"], "Marker": {'key': ['bar', b'\xfe']}}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + starting_token = encode_token({ + "Marker": {'key': ['foo', b'\xff']}, "boto_truncate_amount": 1, + }) + pages = self.paginator.paginate( + PaginationConfig={'StartingToken': starting_token}) + complete = pages.build_full_result() + expected_response = { + "Users": ["User4", "User5"] + } + self.assertEqual(complete, expected_response) + self.method.assert_any_call(Marker={'key': ['foo', b'\xff']}) + + def test_resume_with_multiple_bytes_values(self): + responses = [ + { + "Users": ["User3", "User4"], + "Marker": {'key': b'\xfe', 'key2': b'\xee'} + }, + { + "Users": ["User5"] + } + ] + self.method.side_effect = responses + starting_token = encode_token({ + "Marker": {'key': b'\xff', 'key2': b'\xef'}, + "boto_truncate_amount": 1, + }) + pages = self.paginator.paginate( + PaginationConfig={'StartingToken': starting_token}) + complete = pages.build_full_result() + expected_response = { + "Users": ["User4", "User5"] + } + self.assertEqual(complete, expected_response) + self.method.assert_any_call(Marker={'key': b'\xfe', 'key2': b'\xee'}) + + class TestMultipleTokens(unittest.TestCase): def setUp(self): self.method = mock.Mock() diff --git a/tests/unit/test_protocols.py b/tests/unit/test_protocols.py index ef55febe..b6202ec8 100644 --- a/tests/unit/test_protocols.py +++ b/tests/unit/test_protocols.py @@ -56,7 +56,6 @@ import copy from dateutil.tz import tzutc from botocore.compat import json, OrderedDict -from botocore.awsrequest import AWSRequest from botocore.model import ServiceModel, OperationModel from botocore.serialize import EC2Serializer, QuerySerializer, \ JSONSerializer, RestJSONSerializer, RestXMLSerializer @@ -64,7 +63,6 @@ from botocore.parsers import QueryParser, JSONParser, \ RestJSONParser, RestXMLParser from botocore.utils import parse_timestamp, percent_encode_sequence from calendar import timegm -from botocore.compat import urlencode from nose.tools import assert_equal as _assert_equal @@ -87,12 +85,17 @@ PROTOCOL_PARSERS = { 'rest-json': RestJSONParser, 'rest-xml': RestXMLParser, } +PROTOCOL_TEST_BLACKLIST = [ + 'Idempotency token auto fill' +] def test_compliance(): for full_path in _walk_files(): if full_path.endswith('.json'): for model, case, basename in _load_cases(full_path): + if model.get('description') in PROTOCOL_TEST_BLACKLIST: + continue if 'params' in case: yield _test_input, model, case, basename elif 'response' in case: @@ -214,7 +217,7 @@ def _output_failure_message(protocol_type, case, actual_parsed, error): "Response : %s\n" "Expected serialization: %s\n" "Actual serialization : %s\n" - "Assertion message : %s\n" % ( + "Assertion message : %s\n" % ( case['description'], case['suite_id'], case['test_id'], protocol_type, j(case['given']), j(case['response']), @@ -231,7 +234,7 @@ def _input_failure_message(protocol_type, case, actual_request, error): "Params : %s\n" "Expected serialization: %s\n" "Actual serialization : %s\n" - "Assertion message : %s\n" % ( + "Assertion message : %s\n" % ( case['description'], case['suite_id'], case['test_id'], protocol_type, j(case['given']), j(case['params']), @@ -242,9 +245,10 @@ def _input_failure_message(protocol_type, case, actual_request, error): def _try_json_dump(obj): try: return json.dumps(obj) - except (ValueError, TypeError) as e: + except (ValueError, TypeError): return str(obj) + def assert_equal(first, second, prefix): # A better assert equals. It allows you to just provide # prefix instead of the entire message. @@ -256,7 +260,7 @@ def assert_equal(first, second, prefix): prefix, json.dumps(first, indent=2), json.dumps(second, indent=2)) - except (ValueError, TypeError) as e: + except (ValueError, TypeError): better = "%s (actual != expected)\n%s !=\n%s" % ( prefix, first, second) raise AssertionError(better) diff --git a/tests/unit/test_regions.py b/tests/unit/test_regions.py index f5de4948..8aee9a19 100644 --- a/tests/unit/test_regions.py +++ b/tests/unit/test_regions.py @@ -10,13 +10,9 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -from tests import unittest, create_session - -import mock -from nose.tools import assert_equals +from tests import unittest from botocore import regions -from botocore.client import ClientEndpointBridge from botocore.exceptions import NoRegionError diff --git a/tests/unit/test_s3_addressing.py b/tests/unit/test_s3_addressing.py index 2166cf66..3a2229b4 100644 --- a/tests/unit/test_s3_addressing.py +++ b/tests/unit/test_s3_addressing.py @@ -20,7 +20,6 @@ from mock import patch, Mock from botocore.compat import OrderedDict from botocore.handlers import set_list_objects_encoding_type_url -from botocore.exceptions import UnknownEndpointError class TestS3Addressing(BaseSessionTest): diff --git a/tests/unit/test_signers.py b/tests/unit/test_signers.py index 296c283a..5f931bf3 100644 --- a/tests/unit/test_signers.py +++ b/tests/unit/test_signers.py @@ -10,22 +10,24 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. - import mock import datetime import json +from dateutil.tz import tzutc + import botocore +import botocore.session import botocore.auth from botocore.compat import six, urlparse, parse_qs - +from botocore.config import Config from botocore.credentials import Credentials from botocore.credentials import ReadOnlyCredentials from botocore.exceptions import NoRegionError, UnknownSignatureVersionError from botocore.exceptions import UnknownClientMethodError, ParamValidationError from botocore.exceptions import UnsupportedSignatureVersionError from botocore.signers import RequestSigner, S3PostPresigner, CloudFrontSigner -from botocore.config import Config +from botocore.signers import generate_db_auth_token from tests import unittest @@ -40,6 +42,29 @@ class BaseSignerTest(unittest.TestCase): 'v4', self.credentials, self.emitter) self.fixed_credentials = self.credentials.get_frozen_credentials() + def _urlparse(self, url): + if isinstance(url, six.binary_type): + # Not really necessary, but it helps to reduce noise on Python 2.x + url = url.decode('utf8') + return urlparse(url) + + def assert_url_equal(self, url1, url2): + parts1 = self._urlparse(url1) + parts2 = self._urlparse(url2) + + # Because the query string ordering isn't relevant, we have to parse + # every single part manually and then handle the query string. + self.assertEqual(parts1.scheme, parts2.scheme) + self.assertEqual(parts1.netloc, parts2.netloc) + self.assertEqual(parts1.path, parts2.path) + self.assertEqual(parts1.params, parts2.params) + self.assertEqual(parts1.fragment, parts2.fragment) + self.assertEqual(parts1.username, parts2.username) + self.assertEqual(parts1.password, parts2.password) + self.assertEqual(parts1.hostname, parts2.hostname) + self.assertEqual(parts1.port, parts2.port) + self.assertEqual(parse_qs(parts1.query), parse_qs(parts2.query)) + class TestSigner(BaseSignerTest): @@ -100,7 +125,7 @@ class TestSigner(BaseSignerTest): self.emitter.emit_until_response.assert_called_with( 'choose-signer.service_name.operation_name', signing_name='signing_name', region_name='region_name', - signature_version='v4') + signature_version='v4', context=mock.ANY) def test_choose_signer_override(self): request = mock.Mock() @@ -158,7 +183,20 @@ class TestSigner(BaseSignerTest): self.emitter.emit_until_response.assert_called_with( 'choose-signer.service_name.operation_name', signing_name='signing_name', region_name='region_name', - signature_version='v4-query') + signature_version='v4-query', context=mock.ANY) + + def test_choose_signer_passes_context(self): + request = mock.Mock() + request.context = {'foo': 'bar'} + + with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, + {'v4': mock.Mock()}): + self.signer.sign('operation_name', request) + + self.emitter.emit_until_response.assert_called_with( + 'choose-signer.service_name.operation_name', + signing_name='signing_name', region_name='region_name', + signature_version='v4', context={'foo': 'bar'}) def test_generate_url_choose_signer_override(self): request_dict = { @@ -411,6 +449,43 @@ class TestSigner(BaseSignerTest): expires=2 ) + def test_sign_with_custom_signing_name(self): + request = mock.Mock() + auth = mock.Mock() + auth_types = { + 'v4': auth + } + with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): + self.signer.sign('operation_name', request, signing_name='foo') + auth.assert_called_with( + credentials=ReadOnlyCredentials('key', 'secret', None), + service_name='foo', + region_name='region_name' + ) + + def test_presign_with_custom_signing_name(self): + auth = mock.Mock() + auth.REQUIRES_REGION = True + + request_dict = { + 'headers': {}, + 'url': 'https://foo.com', + 'body': b'', + 'url_path': '/', + 'method': 'GET', + 'context': {} + } + with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, + {'v4-query': auth}): + presigned_url = self.signer.generate_presigned_url( + request_dict, operation_name='operation_name', + signing_name='foo') + auth.assert_called_with( + credentials=self.fixed_credentials, + region_name='region_name', + expires=3600, service_name='foo') + self.assertEqual(presigned_url, 'https://foo.com') + def test_unknown_signer_raises_unknown_on_standard(self): request = mock.Mock() auth = mock.Mock() @@ -440,8 +515,9 @@ class TestSigner(BaseSignerTest): signing_type='presign-post') -class TestCloudfrontSigner(unittest.TestCase): +class TestCloudfrontSigner(BaseSignerTest): def setUp(self): + super(TestCloudfrontSigner, self).setUp() self.signer = CloudFrontSigner("MY_KEY_ID", lambda message: b'signed') # It helps but the long string diff will still be slightly different on # Python 2.6/2.7/3.x. We won't soly rely on that anyway, so it's fine. @@ -472,20 +548,6 @@ class TestCloudfrontSigner(unittest.TestCase): } self.assertEqual(json.loads(policy), expected) - def _urlparse(self, url): - if isinstance(url, six.binary_type): - # Not really necessary, but it helps to reduce noise on Python 2.x - url = url.decode('utf8') - return dict(urlparse(url)._asdict()) # Needs an unordered dict here - - def assertEqualUrl(self, url1, url2): - # We compare long urls by their dictionary parts - parts1 = self._urlparse(url1) - parts2 = self._urlparse(url2) - self.assertEqual( - parse_qs(parts1.pop('query')), parse_qs(parts2.pop('query'))) - self.assertEqual(parts1, parts2) - def test_generate_presign_url_with_expire_time(self): signed_url = self.signer.generate_presigned_url( 'http://test.com/foo.txt', @@ -493,7 +555,7 @@ class TestCloudfrontSigner(unittest.TestCase): expected = ( 'http://test.com/foo.txt?Expires=1451606400&Signature=c2lnbmVk' '&Key-Pair-Id=MY_KEY_ID') - self.assertEqualUrl(signed_url, expected) + self.assert_url_equal(signed_url, expected) def test_generate_presign_url_with_custom_policy(self): policy = self.signer.build_policy( @@ -510,7 +572,7 @@ class TestCloudfrontSigner(unittest.TestCase): '6IjEyLjM0LjU2Ljc4LzkifSwiRGF0ZUdyZWF0ZXJUaGFuIjp7IkFX' 'UzpFcG9jaFRpbWUiOjE0NDg5MjgwMDB9fX1dfQ__' '&Signature=c2lnbmVk&Key-Pair-Id=MY_KEY_ID') - self.assertEqualUrl(signed_url, expected) + self.assert_url_equal(signed_url, expected) class TestS3PostPresigner(BaseSignerTest): @@ -570,7 +632,7 @@ class TestS3PostPresigner(BaseSignerTest): self.emitter.emit_until_response.assert_called_with( 'choose-signer.service_name.PutObject', signing_name='signing_name', region_name='region_name', - signature_version='s3v4-presign-post') + signature_version='s3v4-presign-post', context=mock.ANY) def test_generate_presigned_post_choose_signer_override(self): auth = mock.Mock() @@ -844,3 +906,52 @@ class TestGeneratePresignedPost(unittest.TestCase): self.client = self.session.create_client('ec2', 'us-west-2') with self.assertRaises(AttributeError): self.client.generate_presigned_post() + + +class TestGenerateDBAuthToken(BaseSignerTest): + maxDiff = None + + def setUp(self): + self.session = botocore.session.get_session() + self.client = self.session.create_client( + 'rds', region_name='us-east-1', aws_access_key_id='akid', + aws_secret_access_key='skid', config=Config(signature_version='v4') + ) + + def test_generate_db_auth_token(self): + hostname = 'prod-instance.us-east-1.rds.amazonaws.com' + port = 3306 + username = 'someusername' + clock = datetime.datetime(2016, 11, 7, 17, 39, 33, tzinfo=tzutc()) + + with mock.patch('datetime.datetime') as dt: + dt.utcnow.return_value = clock + result = generate_db_auth_token( + self.client, hostname, port, username) + + expected_result = ( + 'prod-instance.us-east-1.rds.amazonaws.com:3306/?Action=connect' + '&DBUser=someusername&X-Amz-Algorithm=AWS4-HMAC-SHA256' + '&X-Amz-Date=20161107T173933Z&X-Amz-SignedHeaders=host' + '&X-Amz-Expires=900&X-Amz-Credential=akid%2F20161107%2F' + 'us-east-1%2Frds-db%2Faws4_request&X-Amz-Signature' + '=d1138cdbc0ca63eec012ec0fc6c2267e03642168f5884a7795320d4c18374c61' + ) + + # A scheme needs to be appended to the beginning or urlsplit may fail + # on certain systems. + self.assert_url_equal( + 'https://' + result, 'https://' + expected_result) + + def test_custom_region(self): + hostname = 'host.us-east-1.rds.amazonaws.com' + port = 3306 + username = 'mySQLUser' + region = 'us-west-2' + result = generate_db_auth_token( + self.client, hostname, port, username, Region=region) + + self.assertIn(region, result) + # The hostname won't be changed even if a different region is specified + self.assertIn(hostname, result) + diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py index 607f29ca..4a9312b5 100644 --- a/tests/unit/test_utils.py +++ b/tests/unit/test_utils.py @@ -14,7 +14,7 @@ from tests import unittest from dateutil.tz import tzutc, tzoffset import datetime -import six +from botocore.compat import six import mock @@ -26,6 +26,7 @@ from botocore.exceptions import ClientError from botocore.exceptions import InvalidDNSNameError, MetadataRetrievalError from botocore.model import ServiceModel from botocore.vendored import requests +from botocore.utils import is_json_value_header from botocore.utils import remove_dot_segments from botocore.utils import normalize_url_path from botocore.utils import validate_jmespath_for_set @@ -46,6 +47,7 @@ from botocore.utils import instance_cache from botocore.utils import merge_dicts from botocore.utils import get_service_module_name from botocore.utils import percent_encode_sequence +from botocore.utils import percent_encode from botocore.utils import switch_host_s3_accelerate from botocore.utils import deep_merge from botocore.utils import S3RegionRedirector @@ -55,6 +57,48 @@ from botocore.model import ShapeResolver from botocore.config import Config +class TestIsJSONValueHeader(unittest.TestCase): + def test_no_serialization_section(self): + shape = mock.Mock() + shape.type_name = 'string' + self.assertFalse(is_json_value_header(shape)) + + def test_non_jsonvalue_shape(self): + shape = mock.Mock() + shape.serialization = { + 'location': 'header' + } + shape.type_name = 'string' + self.assertFalse(is_json_value_header(shape)) + + def test_non_header_jsonvalue_shape(self): + shape = mock.Mock() + shape.serialization = { + 'jsonvalue': True + } + shape.type_name = 'string' + self.assertFalse(is_json_value_header(shape)) + + def test_non_string_jsonvalue_shape(self): + shape = mock.Mock() + shape.serialization = { + 'location': 'header', + 'jsonvalue': True + } + shape.type_name = 'integer' + self.assertFalse(is_json_value_header(shape)) + + def test_json_value_header(self): + shape = mock.Mock() + shape.serialization = { + 'jsonvalue': True, + 'location': 'header' + } + shape.type_name = 'string' + self.assertTrue(is_json_value_header(shape)) + + + class TestURINormalization(unittest.TestCase): def test_remove_dot_segments(self): self.assertEqual(remove_dot_segments('../foo'), 'foo') @@ -1014,6 +1058,27 @@ class TestPercentEncodeSequence(unittest.TestCase): ('k2', ['another', 'list'])])), 'k1=a&k1=list&k2=another&k2=list') +class TestPercentEncode(unittest.TestCase): + def test_percent_encode_obj(self): + self.assertEqual(percent_encode(1), '1') + + def test_percent_encode_text(self): + self.assertEqual(percent_encode(u''), '') + self.assertEqual(percent_encode(u'a'), 'a') + self.assertEqual(percent_encode(u'\u0000'), '%00') + # Codepoint > 0x7f + self.assertEqual(percent_encode(u'\u2603'), '%E2%98%83') + # Codepoint > 0xffff + self.assertEqual(percent_encode(u'\U0001f32e'), '%F0%9F%8C%AE') + + def test_percent_encode_bytes(self): + self.assertEqual(percent_encode(b''), '') + self.assertEqual(percent_encode(b'a'), u'a') + self.assertEqual(percent_encode(b'\x00'), u'%00') + # UTF-8 Snowman + self.assertEqual(percent_encode(b'\xe2\x98\x83'), '%E2%98%83') + # Arbitrary bytes (not valid UTF-8). + self.assertEqual(percent_encode(b'\x80\x00'), '%80%00') class TestSwitchHostS3Accelerate(unittest.TestCase): def setUp(self): @@ -1420,6 +1485,41 @@ class TestContainerMetadataFetcher(unittest.TestCase): http_responses.append(http_response) self.http.get.side_effect = http_responses + def assert_can_retrieve_metadata_from(self, full_uri): + response_body = {'foo': 'bar'} + self.set_http_responses_to(response_body) + fetcher = self.create_fetcher() + response = fetcher.retrieve_full_uri(full_uri) + self.assertEqual(response, response_body) + self.http.get.assert_called_with( + full_uri, headers={'Accept': 'application/json'}, + timeout=fetcher.TIMEOUT_SECONDS, + ) + + def assert_host_is_not_allowed(self, full_uri): + response_body = {'foo': 'bar'} + self.set_http_responses_to(response_body) + fetcher = self.create_fetcher() + with self.assertRaisesRegexp(ValueError, 'Unsupported host'): + fetcher.retrieve_full_uri(full_uri) + self.assertFalse(self.http.get.called) + + def test_can_specify_extra_headers_are_merged(self): + headers = { + # The 'Accept' header will override the + # default Accept header of application/json. + 'Accept': 'application/not-json', + 'X-Other-Header': 'foo', + } + self.set_http_responses_to({'foo': 'bar'}) + fetcher = self.create_fetcher() + response = fetcher.retrieve_full_uri( + 'http://localhost', headers) + self.http.get.assert_called_with( + 'http://localhost', headers=headers, + timeout=fetcher.TIMEOUT_SECONDS, + ) + def test_can_retrieve_uri(self): json_body = { "AccessKeyId" : "a", @@ -1501,6 +1601,39 @@ class TestContainerMetadataFetcher(unittest.TestCase): # Should have tried up to RETRY_ATTEMPTS. self.assertEqual(self.http.get.call_count, fetcher.RETRY_ATTEMPTS) + def test_can_retrieve_full_uri_with_fixed_ip(self): + self.assert_can_retrieve_metadata_from( + 'http://%s/foo?id=1' % ContainerMetadataFetcher.IP_ADDRESS) + + def test_localhost_http_is_allowed(self): + self.assert_can_retrieve_metadata_from('http://localhost/foo') + + def test_localhost_with_port_http_is_allowed(self): + self.assert_can_retrieve_metadata_from('http://localhost:8000/foo') + + def test_localhost_https_is_allowed(self): + self.assert_can_retrieve_metadata_from('https://localhost/foo') + + def test_can_use_127_ip_addr(self): + self.assert_can_retrieve_metadata_from('https://127.0.0.1/foo') + + def test_can_use_127_ip_addr_with_port(self): + self.assert_can_retrieve_metadata_from('https://127.0.0.1:8080/foo') + + def test_link_local_http_is_not_allowed(self): + self.assert_host_is_not_allowed('http://169.254.0.1/foo') + + def test_link_local_https_is_not_allowed(self): + self.assert_host_is_not_allowed('https://169.254.0.1/foo') + + def test_non_link_local_nonallowed_url(self): + self.assert_host_is_not_allowed('http://169.1.2.3/foo') + + def test_error_raised_on_nonallowed_url(self): + self.assert_host_is_not_allowed('http://somewhere.com/foo') + + def test_external_host_not_allowed_if_https(self): + self.assert_host_is_not_allowed('https://somewhere.com/foo') if __name__ == '__main__': unittest.main() diff --git a/tests/unit/test_validate.py b/tests/unit/test_validate.py index b4ac40f3..88e809f2 100644 --- a/tests/unit/test_validate.py +++ b/tests/unit/test_validate.py @@ -4,7 +4,6 @@ import decimal from botocore.compat import six from botocore.model import ShapeResolver -from botocore.model import StructureShape from botocore.validate import ParamValidator BOILER_PLATE_SHAPES = { @@ -94,6 +93,56 @@ class TestValidateRequiredParams(BaseTestValidate): errors=['Unknown parameter']) +class TestValidateJSONValueTrait(BaseTestValidate): + def test_accepts_jsonvalue_string(self): + self.shapes = { + 'Input': { + 'type': 'structure', + 'members': { + 'json': { + 'shape': 'StrType', + 'jsonvalue': True, + 'location': 'header', + 'locationName': 'header-name' + } + } + }, + 'StrType': {'type': 'string'} + } + errors = self.get_validation_error_message( + given_shapes=self.shapes, + input_params={ + 'json': {'data': [1, 2.3, '3'], 'unicode': u'\u2713'} + }) + error_msg = errors.generate_report() + self.assertEqual(error_msg, '') + + def test_validate_jsonvalue_string(self): + self.shapes = { + 'Input': { + 'type': 'structure', + 'members': { + 'json': { + 'shape': 'StrType', + 'jsonvalue': True, + 'location': 'header', + 'locationName': 'header-name' + } + } + }, + 'StrType': {'type': 'string'} + } + + self.assert_has_validation_errors( + given_shapes=self.shapes, + input_params={ + 'json': {'date': datetime(2017, 4, 27, 0, 0)} + }, + errors=[ + ('Invalid parameter json must be json serializable: ') + ]) + + class TestValidateTypes(BaseTestValidate): def setUp(self): self.shapes = {